Verificare ANAF: perioada de TVA spune ce reprezinta; optiunea intreaba inainte sa modifice
SufixPerioadaTVA lipea intervalul direct dupa verdict ("Neplatitor TVA
05/07/2002 - 18/04/2012"), ceea ce se citea ca perioada in care partenerul NU a
fost platitor - exact pe dos. Eticheta spune acum ce reprezinta: "inregistrat TVA
<de la> - <pana la>", respectiv "cod TVA anulat din <data>". Detaliile F4 arata
perioada si in ramurile "Nu exista partener cu CUI ..." si "Nu s-a putut citi
lista de parteneri", unde lipsea - adica tocmai in cazul in care utilizatorul
n-avea de unde sa afle ce inseamna datele din banda de stare.
ANAF_ComutaVerificare afisa un mesaj informativ si apoi cerea neconditionat
valoarea noua, propunand valoarea curenta. Cand verificarea era oprita local din
settings.ini, valoarea propusa era 0, iar un Enter reflex o salva ca optiune de
utilizator - ceea ce transforma tacut o oprire locala in oprire pe orice
calculator. Mesajul intreaba acum Da/Nu si propune 9 (oprire locala) in loc de 0.
reguli_lucru.md pct. 2: istoricul modificarilor sta doar in antetul fisierului,
la fel in .prg si in package-urile/procedurile PL/SQL Oracle; in corpul codului
doar comentarii functionale, niciodata data/autor/"am modificat".
Adaugat docs/sold-neexigibil-reportat-jc2007-jv2007.md: jc2007/jv2007 tin o linie
per factura PER PERIOADA (soldul neexigibil se reporteaza lunar), deci orice
interogare pe sold se filtreaza pe an/luna.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DhJwsrFFe1ZNAAtS8Twuti
This commit is contained in:
@@ -7,8 +7,11 @@
|
||||
.gitignore ca `docs/diff_runda*.patch`); raman doar local, pe disc.
|
||||
Curatenie: dupa commit se sterg patch-urile de review si backup-urile de lucru
|
||||
(`*.pre_runda*.bak`).
|
||||
2. Comentarii in cod: NU se pun comentarii in corpul codului (nici la functionalitati noi).
|
||||
In ANTETUL fisierului se tine o singura intrare CUMULATIVA per functionalitate, in stilul
|
||||
2. Comentarii in cod: istoricul modificarilor sta DOAR in ANTETUL fisierului, niciodata inline.
|
||||
Se aplica la fel in `.prg` si in package-urile/procedurile PL/SQL Oracle.
|
||||
In corpul codului sunt permise numai comentarii FUNCTIONALE (ce face codul si de ce, acolo
|
||||
unde nu se vede din cod) - niciodata "am adaugat / am modificat / am sters", data sau autor.
|
||||
In ANTET se tine o singura intrare CUMULATIVA per functionalitate, scurta si compacta, in stilul
|
||||
existent (`*!* DD.MM.YYYY` / `*!* autor` / `*!* ce face, 1-2 fraze`): la revenirea pe aceeasi
|
||||
lucrare se rescrie intrarea, nu se adauga alta. Autorul e persoana care semneaza livrarea
|
||||
(ex. `marius.mutu`) - niciodata "claude" sau alt nume de agent.
|
||||
|
||||
16
docs/sold-neexigibil-reportat-jc2007-jv2007.md
Normal file
16
docs/sold-neexigibil-reportat-jc2007-jv2007.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# `jc2007` / `jv2007` — reguli
|
||||
|
||||
Masurat pe date (`MARIUSM_AUTO`, 28.07.2026).
|
||||
|
||||
- **O linie per factura PER PERIOADA**, nu una per factura. Cat timp factura are sold de TVA
|
||||
neexigibil, randul ei se reporteaza luna de luna cu soldul ramas (masurat: acelasi `id_fact` in
|
||||
113-115 perioade). Reportarea e in tabela de baza, nu introdusa de view-uri.
|
||||
- Deci **orice interogare pe sold neexigibil se filtreaza pe `an`/`luna`**. Soldul lunii curente e
|
||||
cel la zi; fara filtru intorci si facturi stinse demult.
|
||||
- Nu cauta si in perioade anterioare "ca sa nu scapi nimic" — o factura din mai apare si pe randul
|
||||
lunii iulie. Ai dubla randurile.
|
||||
- `tva_incasare` **nu exista pe tabele**, doar pe view-uri (`VJC2025`/`VJV2025`, `vjc2010`/`vjv2010`).
|
||||
- Coloanele de sold neexigibil, lista completa: `ro24nb/nt`, `ro20nb/nt`, `ro21nb/nt`, `ro11nb/nt`,
|
||||
`ro19nb/nt`, `ro9nb/nt`, `ro5nb/nt`. **21% si 11% sunt in vigoare din august 2025** si lipsesc din
|
||||
filtre mai vechi — verifica lista inainte de a refolosi un filtru existent.
|
||||
- `vjc2010`/`vjv2010` au si ele coloanele `ro11*`/`ro21*`.
|
||||
@@ -51,10 +51,10 @@
|
||||
|
||||
*!* 27.07.2026
|
||||
*!* marius.mutu
|
||||
*!* verificare ANAF: banda de stare arata si de cand e valabila starea de TVA (data de inceput,
|
||||
*!* data de incetare sau data anularii din oficiu), doar cand starea difera de ROA, partenerul e
|
||||
*!* inactiv sau perioada s-a incheiat deja; F4 arata intotdeauna perioada completa si mesajul
|
||||
*!* primit de la ANAF
|
||||
*!* verificare ANAF: banda de stare arata si perioada de inregistrare in scopuri de TVA, cu eticheta
|
||||
*!* explicita ('inregistrat TVA' / 'cod TVA anulat din'), doar cand starea difera de ROA, partenerul e
|
||||
*!* inactiv sau perioada s-a incheiat deja; F4 arata intotdeauna perioada completa si mesajul primit
|
||||
*!* de la ANAF, inclusiv cand nu exista partener cu codul corect
|
||||
|
||||
*!* #DEFINE CRLF CHR(13) + CHR(10)
|
||||
#INCLUDE COMUN\ROA.H
|
||||
@@ -368,8 +368,10 @@ Procedure ANAF_ComutaVerificare
|
||||
' 3 = ' + ANAF_TextNivel(3) + Chr(13) + ;
|
||||
' 9 = ' + ANAF_TextNivel(9) + Chr(13) + Chr(13) + ;
|
||||
'Valorile 0, 1 si 3 va urmaresc pe orice calculator.'
|
||||
Amessagebox(m.lcMesaj, 0 + 64, lcEticheta)
|
||||
lnNou = aInputBox('Valoarea noua (0, 1, 3 sau 9):', m.lcEticheta, m.lnNivel)
|
||||
If Amessagebox(m.lcMesaj + Chr(13) + Chr(13) + 'Modificati valoarea?', 4 + 32, lcEticheta) <> 6
|
||||
Return
|
||||
Endif
|
||||
lnNou = aInputBox('Valoarea noua (0, 1, 3 sau 9):', m.lcEticheta, Iif(m.lcValIni == '0', 9, m.lnNivel))
|
||||
If Vartype(m.lnNou) <> 'N' Or !Inlist(m.lnNou, 0, 1, 3, 9)
|
||||
Return
|
||||
Endif
|
||||
@@ -702,11 +704,11 @@ DEFINE CLASS anaf_verif_cautare AS Custom
|
||||
Endif
|
||||
Do Case
|
||||
Case !Empty(toStare.dAnulareScpTVA)
|
||||
Return ', anulat din ' + Dtoc(toStare.dAnulareScpTVA)
|
||||
Return ', cod TVA anulat din ' + Dtoc(toStare.dAnulareScpTVA)
|
||||
Case !Empty(toStare.dSfarsitScpTVA) And !Empty(toStare.dInceputScpTVA)
|
||||
Return ' ' + Dtoc(toStare.dInceputScpTVA) + ' - ' + Dtoc(toStare.dSfarsitScpTVA)
|
||||
Return ', inregistrat TVA ' + Dtoc(toStare.dInceputScpTVA) + ' - ' + Dtoc(toStare.dSfarsitScpTVA)
|
||||
Case !Empty(toStare.dInceputScpTVA)
|
||||
Return ' din ' + Dtoc(toStare.dInceputScpTVA)
|
||||
Return ', inregistrat TVA din ' + Dtoc(toStare.dInceputScpTVA)
|
||||
Endcase
|
||||
Return ''
|
||||
ENDPROC
|
||||
@@ -878,13 +880,13 @@ DEFINE CLASS anaf_verif_cautare AS Custom
|
||||
This.ListaCorecti(@lnCandidati, @lnCandidat, @lcDenPereche, @llEroare)
|
||||
|
||||
If m.llEroare
|
||||
Amessagebox(This.AntetDialog(m.lcDenAles, m.lcCodAles) + 'Nu s-a putut citi lista de parteneri.', ;
|
||||
Amessagebox(This.AntetDialog(m.lcDenAles, m.lcCodAles) + m.lcPerioadaTVA + 'Nu s-a putut citi lista de parteneri.', ;
|
||||
0 + 64, 'Verificare partener ANAF')
|
||||
Return
|
||||
Endif
|
||||
|
||||
If m.lnCandidati = 0
|
||||
Amessagebox(This.AntetDialog(m.lcDenAles, m.lcCodAles) + ;
|
||||
Amessagebox(This.AntetDialog(m.lcDenAles, m.lcCodAles) + m.lcPerioadaTVA + ;
|
||||
'Nu exista partener cu CUI ' + m.lcCodOk + ' (il puteti crea cu butonul Nou).', 0 + 64, 'Verificare partener ANAF')
|
||||
Return
|
||||
Endif
|
||||
|
||||
Reference in New Issue
Block a user