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
.frxeditat manual din.fr2, pierzi editarea; daca editezi.fr2dupa ce ai rulat generatorul,.frxnu mai corespunde. Alege o sursa si lucreaza numai in ea. FoxBin2Prg.EXE(prinfrx_convert.ps1) lasa unr.fr2.bakcandr.fr2exista deja; nu face parte din livrare - sterge-l.- Modelul de pornire trebuie sa aiba toate benzile (Title/PageHeader/GroupHeader/Detail/GroupFooter/
PageFooter).
Rapoarte\listmfcota.frxe valid;COPY FILEpastreaza si formatul de raport, pe candCOPY STRUCTUREproduce un.frx"invalid" (lipseste formatul).