#6 editare factura emisa: S4 runda 3 completa (pagina de articole editabila)
frm_modific2024, pgfArticole.PAGE3 - editare in memorie, fara scriere in Oracle (aceea ramane S5). - sub-blocul A: cantitate/pret/pret_cu_tva editabile inline, marcaj lmodificat pe linie, coloana valoare pe linie - sub-blocul B: stergere logica de linii (sters/DynamicForeColor gri) si adaugare de linii prin frm_articol_factura, cu alegerea articolului prin caut_articol() - sub-blocul C: bara de totaluri sub grid (total linii convertit RON la cursul documentului, discount de antet editabil, total net), ascunsa pe transfer/custodie; verdict de corelatie ACT/RUL informativ, cu 3 stari - suma ACT: sold net debit-credit, cont pe tip de document (4111 / 418 / 461, iar pe rate/contract 4111, 411 sau 461) - suma RUL: doar ID_TIP_RULAJ = 0, adica miscarile reale; perechile ID_TIP_RULAJ = 3 sunt virtuale (tin locul procesului verbal de schimbare de pret) si nu intra in suma. Corectie cu liniile nestocate, marcata "ajustat" - adaugarea de linii pe document in valuta: dialogul primeste tip_valuta si cursul documentului de pe tvanz, deci pretul se introduce direct in valuta; ofacturare.vc2 ramane neatins - cei 5 apelanti frm_modific2024 (afisjurcom, anaf_efactura, cele doua .sc2 de import) pregatesc cursorul de articole inainte de Createobject, gardat pe SET PROCEDURE - registrul jurnal din ROACONT/ROAGEST ramane neschimbat Teste headless pe MARIUSM_AUTO, suite care isi descopera singure documentele: test_page3_articole 14/2 (cele 2 = artefact de grid nematerializat headless, acoperit pe ecran), test_incarca_vanzare_din_nota 5/0, test_adauga_linie_articol 20/0, test_adauga_linie_valuta 16/0, test_ui_sterge_linie 8/0, test_verdict_act_rul 26/0. docs/todos.txt: punctele 13 si 20, scrise de Marius. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
This commit is contained in:
@@ -45,7 +45,7 @@
|
||||
de element comun nedocumentat.
|
||||
4. Testare headless (fara IDE): `vfp9.exe -A -T "<script.prg>" <param>` din PowerShell.
|
||||
Mediu, sabloane, capcane, depanare: `depanare_testare_vfp.md`.
|
||||
5. Editare .vcx/.scx pe text (cache, cp1252 byte-safe, fidelity-check): `flux-editare-vfp-text.md`.
|
||||
5. Editare .vcx/.scx pe text (cache, cp1250 byte-safe, fidelity-check): `flux-editare-vfp-text.md`.
|
||||
Cautare in binare: `cautare_vcx_vct.md`. Versiunile `.??2` sunt instantanee, pot fi mai vechi
|
||||
decat binarul — verifica mtime inainte de concluzii; continutul real e in `.PJX`.
|
||||
6. Delegare: implementarile, testele, verificarile si cercetarile se dau unor subagenti Sonnet in
|
||||
@@ -68,17 +68,30 @@
|
||||
- **spune-i ca poate infirma briefingul.** Altfel implementeaza corectia ceruta chiar cand a
|
||||
descoperit ca nu e nevoie de ea.
|
||||
7. Conventii obligatorii, de citit cand atingi zona respectiva:
|
||||
- editezi fisiere cu octeti cp1252 - `.vc2`/`.sc2`, dar si `.prg` (ex. `programe\ocautare.prg`,
|
||||
unde `s`-urile cu virgula din `masina`/`si contul`/`transa` sunt octetul `0xBA`) ->
|
||||
`conventie_encoding_cp1252.md`. Orice write cu un tool ce nu scrie cp1252 nativ (Edit/Write)
|
||||
corupe caracterele >= 0x80 din TOT fisierul (`0xBA` -> `EF BF BD`), chiar la o singura linie
|
||||
schimbata, si o repeta la FIECARE scriere — editeaza tot ce ai de editat, verifica byte-level
|
||||
si repara o singura data DUPA ultima scriere. Verificare: `perl -ne 'print "$.\n" if
|
||||
- editezi fisiere `.vc2`/`.sc2`, dar si `.prg` (ex. `programe\ocautare.prg`, unde `s`-urile cu
|
||||
virgula din `masina`/`si contul`/`transa` sunt octetul `0xBA`) -> `conventie_encoding_cp1252.md`.
|
||||
Antetul FoxBin2Prg declara `CPID="1252"`, dar octetii diacriticelor sunt de fapt **cp1250**
|
||||
(`0xE3`=a cu caciula, `0xFE`=t cu virgula, `0xAA`=S majuscul cu virgula, `0xBA`=s minuscul cu
|
||||
virgula) - nu trata eticheta din antet ca adevarul despre encoding. Orice write cu un tool ce
|
||||
nu pastreaza octetii nativ (Edit/Write) corupe caracterele >= 0x80 din TOT fisierul (`0xBA` ->
|
||||
`EF BF BD`), chiar la o singura linie schimbata, si o repeta la FIECARE scriere - **nu
|
||||
re-encoda niciodata fisierul: lucreaza pe octeti (`byte[]`) sau scrie strict ASCII in
|
||||
continutul nou**; editeaza tot ce ai de editat, verifica byte-level si repara o singura data
|
||||
DUPA ultima scriere.
|
||||
Cens obligatoriu **inainte SI dupa** fiecare editare, care trebuie sa ramana identic:
|
||||
`od -An -tx1 <fisier> | tr ' ' '\n' | grep -v '^$' | awk '$1>"7f"' | sort | uniq -c`. Atentie
|
||||
la sens: la stricare censul **CRESTE**, nu scade - un octet cp1250 devine 3 octeti `EF BF BD`
|
||||
(U+FFFD) la o re-encodare UTF-8 gresita; cauta explicit secventa `EF BF BD`, nu doar tiparul
|
||||
generic de mojibake `C3`/`C4`/`C5`/`C8` + octet de continuare (acela da fals-pozitiv pe text
|
||||
UTF-8 legitim sau pe comentarii intr-o alta limba, deja intalnite in cod). Verificare veche
|
||||
(orice octet >=0x80, utila cand cauti pozitia exacta): `perl -ne 'print "$.\n" if
|
||||
/[\x80-\xFF]/' <fisier>`; reparare (pt. `0xBA`): `perl -e
|
||||
'binmode(STDIN);binmode(STDOUT);local $/;$_=<STDIN>;s/\xEF\xBF\xBD/\xBA/g;print' < f > f.tmp`.
|
||||
`EF BF BD` nu spune ce caracter s-a pierdut - toate diacriticele devin la fel; ia octetul corect
|
||||
per pozitie din `svn cat <fisier>` (necorupt) inainte sa inlocuiesti - o inlocuire oarba cu
|
||||
`0xBA` strica `a`/`t` cu caciula (`0xE3`, `0xFE`) din alte fisiere;
|
||||
per pozitie din `svn cat <fisier>` (necorupt) sau din git history (`git cat-file blob
|
||||
<commit>:<cale>`, **din Bash, niciodata cu `>` din PowerShell 5.1** - adauga BOM si
|
||||
re-encodeaza) inainte sa inlocuiesti - o inlocuire oarba cu `0xBA` strica `a`/`t` cu caciula
|
||||
(`0xE3`, `0xFE`) din alte fisiere;
|
||||
- adaugi/rearanjezi controale pe formulare sau coloane in grid -> `conventie_ux_formulare.md`;
|
||||
- grid needitabil pe formular cu 2+ grid-uri -> `capcana_grid_controlsource.md`;
|
||||
- adaugi o coloana intr-un grid deja livrat (ordinea din clasa e neutralizata de
|
||||
|
||||
Reference in New Issue
Block a user