sync SVN r18202
This commit is contained in:
29
skills/roa-vfp-frx-report/references/editare-iterativa.md
Normal file
29
skills/roa-vfp-frx-report/references/editare-iterativa.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# 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).
|
||||
Reference in New Issue
Block a user