Import initial din SVN ROAAUTO/Trunk @HEAD
This commit is contained in:
508
COMUN/programe/oproceduri_rulaje.prg
Normal file
508
COMUN/programe/oproceduri_rulaje.prg
Normal file
@@ -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 = <<m.tnIdSet>>
|
||||
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
|
||||
Reference in New Issue
Block a user