Files
comun/skills/roa-vfp-frx-report/references/editare-iterativa.md
2026-09-24 23:07:59 +03:00

1.6 KiB

Editarea iterativa a unui raport existent

Doua cai; alege una si tine-o ca sursa unica de adevar.

A. Generator .prg reutilizabil (reasezare / raport construit programatic)

Un singur .prg cu COPY FILE <model>.frx TO <nou>.frx (+ .frt), USE ... EXCLUSIVE, ZAP, apoi APPEND BLANK + REPLACE per obiect printr-un singur FUNCTION addrec (valori implicite, suprascrise per tip). Sursa de adevar e .prg-ul: il re-rulezi si regenereaza .frx/.frt. Potrivit cand layout-ul se schimba mult (latimi, benzi, orientare) sau raportul se construieste de la zero; fiecare runda porneste de la generatorul rundei precedente (r6: build_r6.prg derivat din build_final.prg).

B. Editarea .fr2 + frx_convert

Pentru modificari mici de text/camp pe un raport existent: frx_convert.ps1 -Path r.frx -> editezi r.fr2 -> frx_convert.ps1 -Path r.fr2 regenereaza r.frx+r.frt. Editezi doar textul vizat (nu rescrie antetul), altfel risti sa strici formatul.

Reguli

  • Nu edita ambele: daca rulezi generatorul peste un .frx editat manual din .fr2, pierzi editarea; daca editezi .fr2 dupa ce ai rulat generatorul, .frx nu mai corespunde. Alege o sursa si lucreaza numai in ea.
  • FoxBin2Prg.EXE (prin frx_convert.ps1) lasa un r.fr2.bak cand r.fr2 exista deja; nu face parte din livrare - sterge-l.
  • Modelul de pornire trebuie sa aiba toate benzile (Title/PageHeader/GroupHeader/Detail/GroupFooter/ PageFooter). Rapoarte\listmfcota.frx e valid; COPY FILE pastreaza si formatul de raport, pe cand COPY STRUCTURE produce un .frx "invalid" (lipseste formatul).