Files
vfp_roaauto/COMUN/programe/ointroduceri.prg

1946 lines
72 KiB
Plaintext

*!* 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
SET STEP ON
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.dataact as dataact, poAct.fdoc as fdoc, poAct.id_fdoc as id_fdoc, 0 as se_scrie, poAct.tva_incasare as tva_incasare ;
FROM cnote_contabile N ;
WHERE N.id_set = poAct.id_set ;
INTO Cursor introdc Readwrite Order By ordine
*!* 22.05.2008 ^
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
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('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 ^