sync SVN r18205

This commit is contained in:
2026-09-25 12:21:29 +03:00
parent e13b0e928e
commit 63134daf6a
4 changed files with 25 additions and 4 deletions

View File

@@ -15035,6 +15035,15 @@ DEFINE CLASS frm_modific2024 AS _frmbase OF "_frm_base.vcx"
IF Used('tact') AND Type('tact.clipsa') <> 'C'
SELECT *, Space(10) As clipsa FROM tact INTO CURSOR tact READWRITE
ENDIF
*!* data documentului si data inregistrarii se editeaza ca Date, fara ora
IF Used('tact') AND (Type('tact.dataact') = 'T' OR Type('tact.dataireg') = 'T')
LOCAL laCamp[1], lcCampuri, lnI
lcCampuri = ''
FOR lnI = 1 TO AFields(laCamp, 'tact')
lcCampuri = lcCampuri + Iif(lnI > 1, ', ', '') + Iif(Inlist(Lower(laCamp[lnI, 1]), 'dataact', 'dataireg') AND laCamp[lnI, 2] = 'T', 'TTOD(' + laCamp[lnI, 1] + ') As ' + laCamp[lnI, 1], laCamp[lnI, 1])
ENDFOR
SELECT &lcCampuri FROM tact INTO CURSOR tact READWRITE
ENDIF
If !Used('saft_taxtable')
update_saft_taxtable()

View File

@@ -4,6 +4,9 @@ Comun tuturor proiectelor ROA*.
## Ce nu functioneaza
Exemple deja rezolvate cu SELECT in loc de ALTER: `overificari.vc2:3088`,
`frm_import_extrase_banca.sc2:2324`.
```foxpro
lnSucces = goExecutor.oExecute(lcSql, lcCursor)
...
@@ -38,6 +41,10 @@ USE IN (lcCursorRaw)
* de-aici incolo doar REPLACE (date), NICIODATA ALTER TABLE (structura) pe (lcCursor)
```
Dupa acest pas cursorul (`lcCursor`) e un cursor local obisnuit - `ALTER TABLE` functioneaza
normal pe el DUPA ACEEA (ex. intr-o alta functie care primeste cursorul deja gata construit),
doar comanda imediat urmatoare unui `oExecute()` e restrictionata.
ATENTIE: nici cursorul rematerializat NU accepta `ALTER TABLE` daca are un nume de camp peste
10 caractere (eroare 1115 `Invalid operation for the cursor.`). Garda `SourceType = 3` nu
ajunge. Cursoarele din `select * from v_...` (ex. `tact` = `vact_tot`: id_jtva_coloana,
id_sucursala, tva_incasare) au astfel de campuri -> `ALTER TABLE` nu se foloseste deloc pe ele.
Schimbarea tipului unei coloane (T -> D) se face cu `SELECT` explicit, `TTOD(camp) AS camp`,
in alias temporar si inapoi `INTO CURSOR ... READWRITE`; sau grila se leaga la `TTOD(camp)`.
`ALTER TABLE` merge doar pe cursor cu nume <= 10 caractere, creat de tine.

View File

@@ -107,6 +107,9 @@
**0,5s** intre teste, nu implicitul de 12 minute / 3s, rezervat rularii finale unde chiar
conteaza sa distingi "atarnat" de "lent". Tinta: o rulare intermediara sta in secunde-minute,
nu ore — daca depaseste, lista e prea larga sau timeout-ul prea mare.
Test pe cursor derivat din view/`select *` Oracle: foloseste structura REALA (cu nume lungi),
nu un cursor restrans la cateva campuri; un cursor cu nume <= 10 caractere trece la ALTER TABLE
si ascunde eroarea 1115.
5. Editare `.vcx`/`.scx` pe text, cautare in binare: skill roa-vfp-text-edit (cache, cp1250
byte-safe, fidelity-check si membrii noi sunt in procedura lui). Versiunile `.??2` sunt
instantanee, pot fi mai vechi decat binarul - verifica mtime inainte de concluzii; continutul

View File

@@ -117,3 +117,5 @@ Vreau sa apara in xlsx de verificare si o coloana cu verificarea daca acesta est
Vreau ca roa_sync sa nu mai strice working copy-ul: inainte de checkout main sa verifice ca fisierele urmarite de SVN nu difera fata de SVN (svn status / svn diff) si, daca difera, sa se opreasca cu avertisment; sau sa comita sync-ul fara checkout (ex. git stash / worktree pe main).
47. ROACONT - modificarea de note contabile frm_modif2024 / frm_introd2024 vreau ca dataact si dataireg sa fie afisate si sa se poate introduce cu formatul date, nu datetime, pentru ca este vorba despre data document si data inregistrarii - nu are legatura cu ora
48. In formularul frm_introd_compact2007 din ointroduceri_cont.vcx sa se coloreze celulele cont, acont si celelalte coloane care necesita completare, la fel ca in frm_modif2024