From 6de489950c2b3ed6bbce42d766777f9118b3dd3f Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Thu, 20 Aug 2026 14:07:12 +0300 Subject: [PATCH] sync SVN r18016: editare articole in factura de vanzare, precizie pret achizitie ROAFACTURARE 2.11.15 (r18015): programe/ofacturare_editare.prg, programe/ofacturare_stoc.prg. docs: conventia de encoding .sc2/.vc2 corectata la cp1250; cercetarile trans-proiect mutate din ROAFACTURARE in docs/cercetare (r18014); actualizari reguli_lucru, oracle_export, flux-editare-vfp-text, scripturi-migrare-db, flux-modificare-stergere-nota-jurnal, todos. .gitignore: watchdog_out si PNG-urile din rularile headless (r18008). Text FoxBin2Prg regenerat: clase/comun.vc2, ferestre/frm_import_note_facturi_clienti.sc2, ferestre/frm_initializare_facturi_balanta.sc2. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01AV7dQbTLAqvrtQbH7zxXxw --- clase/comun.vc2 | 9 + docs/cercetare/ff_view_articole_vanzare.sql | 35 + docs/cercetare/handoff_watchdog_vfp.md | 127 +++ docs/cercetare/import_roris_roaacnpro.md | 210 +++++ docs/cercetare/rec_consumatori_vanzari.md | 220 +++++ docs/cercetare/rec_integrari.md | 358 ++++++++ docs/cercetare/rec_pret_lazy.md | 243 +++++ docs/cercetare/rec_s10_s12.md | 110 +++ docs/cercetare/rec_s5_proiectare_oracle.md | 780 ++++++++++++++++ docs/cercetare/rec_s5_script_oracle.md | 296 ++++++ docs/cercetare/rec_tva_vanzari.md | 341 +++++++ docs/cercetare/rec_view_articole_vanzare.md | 164 ++++ docs/cercetare/rec_watchdog_vfp.md | 207 +++++ docs/cercetare/s10_curata_versiune.sql | 55 ++ docs/cercetare/valuta_si_curs.md | 296 ++++++ docs/conventie_encoding_cp1252.md | 82 +- docs/flux-editare-vfp-text.md | 4 +- docs/flux-modificare-stergere-nota-jurnal.md | 112 +++ docs/oracle_export.md | 15 +- docs/reguli_lucru.md | 38 +- docs/scripturi-migrare-db.md | 6 +- docs/todos.txt | 8 +- ferestre/frm_import_note_facturi_clienti.sc2 | 4 + ferestre/frm_initializare_facturi_balanta.sc2 | 4 + programe/ofacturare_editare.prg | 855 +++++++++++++++++- programe/ofacturare_stoc.prg | 8 +- utile/context_watch.ps1 | 27 +- 27 files changed, 4547 insertions(+), 67 deletions(-) create mode 100644 docs/cercetare/ff_view_articole_vanzare.sql create mode 100644 docs/cercetare/handoff_watchdog_vfp.md create mode 100644 docs/cercetare/import_roris_roaacnpro.md create mode 100644 docs/cercetare/rec_consumatori_vanzari.md create mode 100644 docs/cercetare/rec_integrari.md create mode 100644 docs/cercetare/rec_pret_lazy.md create mode 100644 docs/cercetare/rec_s10_s12.md create mode 100644 docs/cercetare/rec_s5_proiectare_oracle.md create mode 100644 docs/cercetare/rec_s5_script_oracle.md create mode 100644 docs/cercetare/rec_tva_vanzari.md create mode 100644 docs/cercetare/rec_view_articole_vanzare.md create mode 100644 docs/cercetare/rec_watchdog_vfp.md create mode 100644 docs/cercetare/s10_curata_versiune.sql create mode 100644 docs/cercetare/valuta_si_curs.md diff --git a/clase/comun.vc2 b/clase/comun.vc2 index 9b96a93..51b85c6 100644 --- a/clase/comun.vc2 +++ b/clase/comun.vc2 @@ -2432,6 +2432,9 @@ DEFINE CLASS afisjurcom AS _frmbase OF "_frm_base.vcx" *Select a.*,Iif(Isnull(id_jtva_coloana),0,1) As cu_Tva From tact a Into Cursor tact Readwrite Select a.*,Iif(Nvl(id_jtva_coloana,0)=0,0,1) As cu_Tva From tact a Into Cursor tact Readwrite *!* modificare ROACONT v 2.0.78 ^ + IF "OFACTURARE_EDITARE" $ Upper(Set("Procedure")) + PregatesteArticoleFacturaEditare('tact') + ENDIF * Omodif = Createobject([frm_modific2007],lnIdSet) Omodif = Createobject([frm_modific2024],lnIdSet) * DO FORM frm_modific2024 NAME omodif LINKED WITH m.lnIdSet NOSHOW @@ -2485,6 +2488,9 @@ DEFINE CLASS afisjurcom AS _frmbase OF "_frm_base.vcx" ALLTRIM(Str(lnCod)) + [,] + Alltrim(Str(lnIdFact)) + [,] + Alltrim(Str(lnIdfactd)) + [,?gnIdUtil); end;] lnSucces = Iif(goExecutor.oExecuta(lcSql),1,-1) Endif + If lnSucces > 0 And "OFACTURARE_EDITARE" $ Upper(Set("Procedure")) And Used('tvanz') And Reccount('tvanz') = 1 + lnSucces = Iif(ScrieArticoleFacturaEditate(tvanz.id_vanzare), 1, -1) + Endif *!* IF lnSucces > 0 AND llGestInvantar && nota de inventariere : update dataOra_validat cu dataora modificarii notei contabile *!* lcSql = [update ] + gcs + [.gest_inventar set dataora_validat = pack_contafin.GET_DATAORA() where dataora_validat = ?pdDataOra and an = ?pnAn and luna = ?pnLuna] *!* lnSucces = goExecutor.oExecute(lcSql) @@ -2558,6 +2564,9 @@ DEFINE CLASS afisjurcom AS _frmbase OF "_frm_base.vcx" If Used('trul_obinv') Use In trul_obinv Endif + If Used('crsArticoleFactura') + Use In crsArticoleFactura + Endif ENDPROC diff --git a/docs/cercetare/ff_view_articole_vanzare.sql b/docs/cercetare/ff_view_articole_vanzare.sql new file mode 100644 index 0000000..abf328c --- /dev/null +++ b/docs/cercetare/ff_view_articole_vanzare.sql @@ -0,0 +1,35 @@ +-- 08.08.2026 Marius Mutu +-- VVANZARI_ARTICOLE: liniile unei vanzari (VANZARI_DETALII) cu denumirea articolului, a gestiunii +-- si a valutei, pentru gridul de articole din formularul de modificare a notei. Valori brute, fara +-- conversie valutara si fara calcule - editarea scrie inapoi exact ce a citit. Filtrul STERS ramane +-- pe seama apelantului, ca la VACT_TOT / VRUL_TOT / VRUL_OBINV_TOT. + +CREATE OR REPLACE VIEW VVANZARI_ARTICOLE AS +select vd.id_vanzare, + vd.id_vanzare_det, + vd.id_articol, + vd.cantitate, + vd.pret, + vd.pret_cu_tva, + vd.proc_tvav, + vd.discount_unitar, + vd.id_gestiune, + vd.cont, + vd.id_valuta, + vd.id_jtva_coloana, + vd.serie, + vd.explicatie, + vd.taxcode, + vd.lot, + vd.sters, + na.denumire, + na.codmat, + ng.nume_gestiune, + nv.nume_val + from vanzari_detalii vd + left join nom_articole na on na.id_articol = vd.id_articol + left join nom_gestiuni ng on ng.id_gestiune = vd.id_gestiune + left join nom_valute nv on nv.id_valuta = vd.id_valuta; + +exec pack_migrare.UpdateVersiune('ff_2026_08_08_01_COMUN_VVANZARI_ARTICOLE'); +commit; diff --git a/docs/cercetare/handoff_watchdog_vfp.md b/docs/cercetare/handoff_watchdog_vfp.md new file mode 100644 index 0000000..7dc67f8 --- /dev/null +++ b/docs/cercetare/handoff_watchdog_vfp.md @@ -0,0 +1,127 @@ +# Handoff — watchdog VFP + bisectie blocaj "View Parameter" gnAn + +Predare la peste 310k context (Regula zero). **Doar stare, fara analize noi.** Raport analitic +complet (dovezi, log-uri, discutie): `docs\cercetare\rec_watchdog_vfp.md`. + +## 1. Inventar livrabile, cu fisier:linie + +**Utilitar**: `D:\ROA\ROAFACTURARE\COMUN\utile\Teste\watchdog_vfp.ps1`. Linia de comanda completa: + +``` +powershell -ExecutionPolicy Bypass -File "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\watchdog_vfp.ps1" -Script "" -TimeoutSec 90 -AutoDismiss -MaxDialogs 10 +``` + +Lanseaza `vfp9.exe -A -T "