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, ;
|
||||
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(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(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 ;
|
||||
@@ -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]
|
||||
llIstoricOk = goExecutor.oExecuta(m.lcSqlIstoric, "cIstoricBrut")
|
||||
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
|
||||
Scan
|
||||
lcCheieTxt = TextIstoricNormalizat(explicatia)
|
||||
@@ -522,12 +522,12 @@ Define Class ExtrasBanca As Custom
|
||||
Index On id_part Tag id_part
|
||||
Use In (Select("cSolduriBrut"))
|
||||
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
|
||||
|
||||
* Caut/creez parteneri
|
||||
Create Cursor cGrupParteneriCui (id_part_ales N(9), id_part N(9), denumire C(100))
|
||||
Create Cursor cIbanDeSalvat (id_part N(9), iban C(24), denumire C(100))
|
||||
Create Cursor cGrupParteneriCui (id_part_ales N(10), id_part N(10), 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 cParteneriTemp
|
||||
lcRecc = Transform(Reccount())
|
||||
@@ -801,7 +801,10 @@ Define Class ExtrasBanca As Custom
|
||||
Case m.lcTip2 = This.cTipAlte && "ALT" && alte cheltuieli/venituri exploatare
|
||||
lcContD = "6588"
|
||||
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
|
||||
lcContD = Icase(m.lcGrupaBuget = 'TVA', '4423', m.lcGrupaBuget = 'CAM', '436', '4481')
|
||||
If Inlist(m.lcGrupaBuget, 'TVA', 'CAM')
|
||||
@@ -1189,11 +1192,12 @@ Function ContAvans
|
||||
Endfunc
|
||||
|
||||
* --------------------------------------------------------------------
|
||||
* Candidatii de facturi ai unui partener din cSolduriFact: intai doar tcCont, altfel orice cont al partenerului
|
||||
* (404/461/462 devin candidati doar prin acest fallback) - cursor cCandRand (nract, dataact, nrecsold), ordonat
|
||||
* Candidatii de facturi ai unui partener din cSolduriFact: intai doar tcCont, altfel (fara tlDoarContul) conturile de acelasi
|
||||
* sens - 401 -> 404/462, 4111 -> 461 - cursor cCandRand (nract, dataact, nrecsold), ordonat
|
||||
* --------------------------------------------------------------------
|
||||
Procedure DeschideCandidatiFactura
|
||||
Lparameters tnIdPart, tcCont
|
||||
Lparameters tnIdPart, tcCont, tlDoarContul
|
||||
Local lcAlteConturi
|
||||
|
||||
If Used('cCandRand')
|
||||
Use In (Select('cCandRand'))
|
||||
@@ -1203,11 +1207,12 @@ Procedure DeschideCandidatiFactura
|
||||
Where id_part = m.tnIdPart And Alltrim(Cont) = m.tcCont And ramas > 0 ;
|
||||
Order By dataact, nract ;
|
||||
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'))
|
||||
Select nract, dataact, Recno() As nrecsold ;
|
||||
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 ;
|
||||
Into Cursor cCandRand Readwrite
|
||||
Endif
|
||||
@@ -1307,12 +1312,12 @@ Procedure AlocaSumaExacta
|
||||
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
|
||||
Lparameters tnIdPart, tcCont, tnRecCrt, tnRest, tnNpoz, tcContAloc
|
||||
|
||||
DeschideCandidatiFactura(m.tnIdPart, m.tcCont)
|
||||
DeschideCandidatiFactura(m.tnIdPart, m.tcCont, .T.)
|
||||
Select cCandRand
|
||||
Scan
|
||||
If m.tnRest <= 0
|
||||
@@ -1325,6 +1330,33 @@ Procedure AlocaFifo
|
||||
Use In (Select('cCandRand'))
|
||||
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
|
||||
* --------------------------------------------------------------------
|
||||
|
||||
@@ -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
|
||||
ROACONT - 2.11.79
|
||||
|
||||
Reference in New Issue
Block a user