Import eFactura in lot: borderou cu ce lipseste, coada de contabilizare, alegerea contului
Borderoul tine per factura ce mai are de completat si daca are articole de gestiune (camp gest, coloana si filtru), coada contabilizeaza in serie facturile bifate si incheie cu un rezumat, iar contul de furnizor/client se alege din planul de conturi. Cheia normalizata de articol, rezolvarea automata a partenerului si anularea in bloc intra tot aici. Pozitia in lista se pastreaza peste reaplicarea filtrului. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Aroafxp4z8bmM5oVECZRXY
This commit is contained in:
@@ -127,6 +127,11 @@ Cand un bug apare "de azi", compara cu clasa veche fara sa atingi SVN:
|
||||
- **`SET PROCEDURE TO x.prg`**: in `.exe` se rezolva din modulele compilate (orice `.prg` din
|
||||
`.pjx`), din IDE doar prin `SET PATH`. O cale lipsa din `SET PATH` se vede deci doar necompilat,
|
||||
iar in `Try` trece tacut.
|
||||
- **`INKEY(0, ...)` nu e un poll, e asteptare NELIMITATA a unei taste.** Pentru "a apasat
|
||||
utilizatorul ESC?" fara sa blochezi, foloseste timeout mic (`INKEY(0.01, 'H')`). Cat timp
|
||||
`INKEY(0)` asteapta, timerele VFP nu se declanseaza, deci un dialog/o bucla blocata asa nu poate
|
||||
fi deblocata din interiorul procesului - in rulare headless arata ca un proces viu care nu mai
|
||||
scrie in log.
|
||||
|
||||
## 7. Capcane la SCRIEREA scriptului de test
|
||||
|
||||
@@ -166,3 +171,10 @@ Cand un bug apare "de azi", compara cu clasa veche fara sa atingi SVN:
|
||||
folosesti efectiv: `TYPE('loO.Objects.Count') = 'N'` e `'U'` daca lantul punctat nu exista,
|
||||
deci e si suficient, si independent de litera de tip. Aceeasi prudenta la `TYPE('loO.Value')`
|
||||
(tipul variaza cu continutul) si `TYPE('loO.Visible')`.
|
||||
- **Optiunile citite ca globali (`gn<NUME>`/`gc<NUME>`) nu se reimprospateaza din `scrie_optiune()`.**
|
||||
`scrie_optiune()` + `actualizeaza_optiuni()` scriu tabela `OPTIUNI` si cache-ul `crsOptiuni` (de unde
|
||||
citeste `citeste_optiune()`), dar globalii sunt creati o singura data, la login/schimbare de firma
|
||||
(`oinit_optiuni.prg`, `actualizeaza_optiuni_program`/`optiuni_firma`). Un test care schimba o optiune
|
||||
si apoi apeleaza cod care citeste globalul masoara valoarea veche, fara niciun semn de eroare.
|
||||
Verifica intai pe ce cale citeste codul testat; daca e globalul, seteaza-l direct in test (si
|
||||
restaureaza-l la final), nu prin `scrie_optiune()`.
|
||||
|
||||
Reference in New Issue
Block a user