sync SVN r18177
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QGrSUJc5CBmgeDRUGJX7j3
This commit is contained in:
@@ -156,7 +156,7 @@ Define Class ImportNote As Custom
|
|||||||
Space(4) As scd, Space(4) As scc, Space(4) As ascd, Space(4) As ascc, ;
|
Space(4) As scd, Space(4) As scc, Space(4) As ascd, Space(4) As ascc, ;
|
||||||
Cast(Null As N(10)) As id_partd, Cast(Null As N(10)) As id_partc, Space(100) As partd, Space(100) As partc, ;
|
Cast(Null As N(10)) As id_partd, Cast(Null As N(10)) As id_partc, Space(100) As partd, Space(100) As partc, ;
|
||||||
Cast(Null As N(10)) As id_part, SPACE(100) as partener, ;
|
Cast(Null As N(10)) As id_part, SPACE(100) as partener, ;
|
||||||
Cast(0 As I) As id_factd, Cast(0 As I) As id_factc, Cast(0 As I) As pereched, Cast(0 As I) As perechec, ;
|
Cast(0 As I) As id_factd, Cast(0 As I) As id_factc, Cast(0 As N(20)) As pereched, Cast(0 As N(20)) As perechec, ;
|
||||||
Cast(Null As I) As id_fdoc, Space(50) As fdoc, .F. As listoric, ;
|
Cast(Null As I) As id_fdoc, Space(50) As fdoc, .F. As listoric, ;
|
||||||
Cast(0 As I) As ngrupa, Cast(0 As I) As npoz, Space(1) As csursa_f, Cast(0 As I) As nordine ;
|
Cast(0 As I) As ngrupa, Cast(0 As I) As npoz, Space(1) As csursa_f, Cast(0 As I) As nordine ;
|
||||||
From C_IMPORT_TEMP ;
|
From C_IMPORT_TEMP ;
|
||||||
@@ -484,7 +484,7 @@ Define Class ExtrasBanca As Custom
|
|||||||
[and (a.an*12+a.luna) >= (?gnAn*12+?gnLuna-12) and p.sters = 0 and p.inactiv = 0]
|
[and (a.an*12+a.luna) >= (?gnAn*12+?gnLuna-12) and p.sters = 0 and p.inactiv = 0]
|
||||||
llIstoricOk = goExecutor.oExecuta(m.lcSqlIstoric, "cIstoricBrut")
|
llIstoricOk = goExecutor.oExecuta(m.lcSqlIstoric, "cIstoricBrut")
|
||||||
If m.llIstoricOk
|
If m.llIstoricOk
|
||||||
Create Cursor cCheiIstoric (cheie C(63), id_part N(9))
|
Create Cursor cCheiIstoric (cheie C(63), id_part N(10))
|
||||||
Select cIstoricBrut
|
Select cIstoricBrut
|
||||||
Scan
|
Scan
|
||||||
lcCheieTxt = TextIstoricNormalizat(explicatia)
|
lcCheieTxt = TextIstoricNormalizat(explicatia)
|
||||||
@@ -522,12 +522,12 @@ Define Class ExtrasBanca As Custom
|
|||||||
Index On id_part Tag id_part
|
Index On id_part Tag id_part
|
||||||
Use In (Select("cSolduriBrut"))
|
Use In (Select("cSolduriBrut"))
|
||||||
Endif
|
Endif
|
||||||
Create Cursor cAlocTemp (nrec I, npoz I, id_fact I, nract I, cont C(4) Null, acont C(20) Null, suma N(15, 2), csursa C(1))
|
Create Cursor cAlocTemp (nrec I, npoz I, id_fact I, nract N(20), cont C(4) Null, acont C(20) Null, suma N(15, 2), csursa C(1))
|
||||||
Endif
|
Endif
|
||||||
|
|
||||||
* Caut/creez parteneri
|
* Caut/creez parteneri
|
||||||
Create Cursor cGrupParteneriCui (id_part_ales N(9), id_part N(9), denumire C(100))
|
Create Cursor cGrupParteneriCui (id_part_ales N(10), id_part N(10), denumire C(100))
|
||||||
Create Cursor cIbanDeSalvat (id_part N(9), iban C(24), denumire C(100))
|
Create Cursor cIbanDeSalvat (id_part N(10), iban C(24), denumire C(100))
|
||||||
SELECT distinct cod_fiscal, denumire, iban FROM cActTemp INTO CURSOR cParteneriTemp READWRITE
|
SELECT distinct cod_fiscal, denumire, iban FROM cActTemp INTO CURSOR cParteneriTemp READWRITE
|
||||||
SELECT cParteneriTemp
|
SELECT cParteneriTemp
|
||||||
lcRecc = Transform(Reccount())
|
lcRecc = Transform(Reccount())
|
||||||
@@ -801,7 +801,10 @@ Define Class ExtrasBanca As Custom
|
|||||||
Case m.lcTip2 = This.cTipAlte && "ALT" && alte cheltuieli/venituri exploatare
|
Case m.lcTip2 = This.cTipAlte && "ALT" && alte cheltuieli/venituri exploatare
|
||||||
lcContD = "6588"
|
lcContD = "6588"
|
||||||
Case m.lcTip2 = This.cTipTerti && "TRF" && terti (clienti/furnizori)
|
Case m.lcTip2 = This.cTipTerti && "TRF" && terti (clienti/furnizori)
|
||||||
lcContD = "401"
|
lcContD = ContSalariiDinText(cActTemp.explicatie, Evl(Alltrim(Nvl(cActTemp.denumire, '')), m.lcPartener))
|
||||||
|
If Empty(m.lcContD)
|
||||||
|
lcContD = "401"
|
||||||
|
Endif
|
||||||
Case m.lcTip2 = This.cTipBuget && "BUG" && datorii la buget
|
Case m.lcTip2 = This.cTipBuget && "BUG" && datorii la buget
|
||||||
lcContD = Icase(m.lcGrupaBuget = 'TVA', '4423', m.lcGrupaBuget = 'CAM', '436', '4481')
|
lcContD = Icase(m.lcGrupaBuget = 'TVA', '4423', m.lcGrupaBuget = 'CAM', '436', '4481')
|
||||||
If Inlist(m.lcGrupaBuget, 'TVA', 'CAM')
|
If Inlist(m.lcGrupaBuget, 'TVA', 'CAM')
|
||||||
@@ -1189,11 +1192,12 @@ Function ContAvans
|
|||||||
Endfunc
|
Endfunc
|
||||||
|
|
||||||
* --------------------------------------------------------------------
|
* --------------------------------------------------------------------
|
||||||
* Candidatii de facturi ai unui partener din cSolduriFact: intai doar tcCont, altfel orice cont al partenerului
|
* Candidatii de facturi ai unui partener din cSolduriFact: intai doar tcCont, altfel (fara tlDoarContul) conturile de acelasi
|
||||||
* (404/461/462 devin candidati doar prin acest fallback) - cursor cCandRand (nract, dataact, nrecsold), ordonat
|
* sens - 401 -> 404/462, 4111 -> 461 - cursor cCandRand (nract, dataact, nrecsold), ordonat
|
||||||
* --------------------------------------------------------------------
|
* --------------------------------------------------------------------
|
||||||
Procedure DeschideCandidatiFactura
|
Procedure DeschideCandidatiFactura
|
||||||
Lparameters tnIdPart, tcCont
|
Lparameters tnIdPart, tcCont, tlDoarContul
|
||||||
|
Local lcAlteConturi
|
||||||
|
|
||||||
If Used('cCandRand')
|
If Used('cCandRand')
|
||||||
Use In (Select('cCandRand'))
|
Use In (Select('cCandRand'))
|
||||||
@@ -1203,11 +1207,12 @@ Procedure DeschideCandidatiFactura
|
|||||||
Where id_part = m.tnIdPart And Alltrim(Cont) = m.tcCont And ramas > 0 ;
|
Where id_part = m.tnIdPart And Alltrim(Cont) = m.tcCont And ramas > 0 ;
|
||||||
Order By dataact, nract ;
|
Order By dataact, nract ;
|
||||||
Into Cursor cCandRand Readwrite
|
Into Cursor cCandRand Readwrite
|
||||||
If Reccount('cCandRand') = 0
|
If Reccount('cCandRand') = 0 And !m.tlDoarContul
|
||||||
|
lcAlteConturi = Icase(m.tcCont = '401', ',404,462,', m.tcCont = '4111', ',461,', '')
|
||||||
Use In (Select('cCandRand'))
|
Use In (Select('cCandRand'))
|
||||||
Select nract, dataact, Recno() As nrecsold ;
|
Select nract, dataact, Recno() As nrecsold ;
|
||||||
From cSolduriFact ;
|
From cSolduriFact ;
|
||||||
Where id_part = m.tnIdPart And ramas > 0 ;
|
Where id_part = m.tnIdPart And (',' + Alltrim(Cont) + ',') $ m.lcAlteConturi And ramas > 0 ;
|
||||||
Order By dataact, nract ;
|
Order By dataact, nract ;
|
||||||
Into Cursor cCandRand Readwrite
|
Into Cursor cCandRand Readwrite
|
||||||
Endif
|
Endif
|
||||||
@@ -1307,12 +1312,12 @@ Procedure AlocaSumaExacta
|
|||||||
Endproc
|
Endproc
|
||||||
|
|
||||||
* --------------------------------------------------------------------
|
* --------------------------------------------------------------------
|
||||||
* F - aloca in ordine cronologica pana la epuizarea sumei (ultima factura poate ramane platita partial)
|
* F - aloca in ordine cronologica pana la epuizarea sumei (ultima factura poate ramane platita partial), doar pe contul randului
|
||||||
* --------------------------------------------------------------------
|
* --------------------------------------------------------------------
|
||||||
Procedure AlocaFifo
|
Procedure AlocaFifo
|
||||||
Lparameters tnIdPart, tcCont, tnRecCrt, tnRest, tnNpoz, tcContAloc
|
Lparameters tnIdPart, tcCont, tnRecCrt, tnRest, tnNpoz, tcContAloc
|
||||||
|
|
||||||
DeschideCandidatiFactura(m.tnIdPart, m.tcCont)
|
DeschideCandidatiFactura(m.tnIdPart, m.tcCont, .T.)
|
||||||
Select cCandRand
|
Select cCandRand
|
||||||
Scan
|
Scan
|
||||||
If m.tnRest <= 0
|
If m.tnRest <= 0
|
||||||
@@ -1325,6 +1330,33 @@ Procedure AlocaFifo
|
|||||||
Use In (Select('cCandRand'))
|
Use In (Select('cCandRand'))
|
||||||
Endproc
|
Endproc
|
||||||
|
|
||||||
|
* --------------------------------------------------------------------
|
||||||
|
* Cont de salarii dupa cuvintele din explicatie: LICHIDARE/SALARIU/SALARII -> 421, AVANS -> 425;
|
||||||
|
* gol daca nu se potriveste sau daca beneficiarul are forma de societate in denumire (SA, SRL, PFA...)
|
||||||
|
* --------------------------------------------------------------------
|
||||||
|
Function ContSalariiDinText
|
||||||
|
Lparameters tcText, tcBeneficiar
|
||||||
|
Local lcText, lcCont, lcBeneficiar
|
||||||
|
|
||||||
|
lcText = ' ' + Chrtran(Upper(Nvl(m.tcText, '')), '/.,;:-_()', Space(9)) + ' '
|
||||||
|
lcText = Strtran(m.lcText, ' LICHIDARE DEPOZIT ', ' ')
|
||||||
|
Do Case
|
||||||
|
Case ' LICHIDARE ' $ m.lcText Or ' SALARIU ' $ m.lcText Or ' SALARII ' $ m.lcText
|
||||||
|
lcCont = '421'
|
||||||
|
Case ' AVANS ' $ m.lcText
|
||||||
|
lcCont = '425'
|
||||||
|
Otherwise
|
||||||
|
Return ''
|
||||||
|
Endcase
|
||||||
|
|
||||||
|
lcBeneficiar = ' ' + Chrtran(Strtran(Upper(Nvl(m.tcBeneficiar, '')), '.', ''), '/,;:-_()', Space(8)) + ' '
|
||||||
|
If ' SA ' $ m.lcBeneficiar Or ' SRL ' $ m.lcBeneficiar Or ' SNC ' $ m.lcBeneficiar Or ' SCS ' $ m.lcBeneficiar Or ;
|
||||||
|
' RA ' $ m.lcBeneficiar Or ' PFA ' $ m.lcBeneficiar Or ' II ' $ m.lcBeneficiar Or ' IF ' $ m.lcBeneficiar
|
||||||
|
Return ''
|
||||||
|
Endif
|
||||||
|
Return m.lcCont
|
||||||
|
Endfunc
|
||||||
|
|
||||||
* --------------------------------------------------------------------
|
* --------------------------------------------------------------------
|
||||||
* Numere de document din text (explicatie+documente), cifre lungi de minim 3, fara cod_fiscal/iban
|
* Numere de document din text (explicatie+documente), cifre lungi de minim 3, fara cod_fiscal/iban
|
||||||
* --------------------------------------------------------------------
|
* --------------------------------------------------------------------
|
||||||
|
|||||||
@@ -1,3 +1,14 @@
|
|||||||
|
<!--
|
||||||
|
18/09/2026
|
||||||
|
ROACONT - 2.11.80
|
||||||
|
|
||||||
|
:eroare:
|
||||||
|
Import extrase bancare. S-a corectat eroarea "depasire numerica" la salvarea notelor, aparuta cand se asociau documente cu numar mare.
|
||||||
|
|
||||||
|
:modificare:
|
||||||
|
Import extrase bancare. Platile catre angajati nu mai sunt defalcate automat pe deconturi sau debitori; platile de tip LICHIDARE/SALARIU/SALARII se propun pe contul 421, iar AVANS pe contul 425.
|
||||||
|
-->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
16/09/2026
|
16/09/2026
|
||||||
ROACONT - 2.11.79
|
ROACONT - 2.11.79
|
||||||
|
|||||||
Reference in New Issue
Block a user