Descrizioni merci lunghe troncate in documenti e stampe¶
| Campo | Valore |
|---|---|
| ID ClickUp | 869e4c3ex |
| Ticket | #704395 |
| Data segnalazione | 2026-07-14 |
| Data risoluzione | 2026-07-30 |
| Programmi coinvolti | COGSA* (composizione righe documento), COGO25M, COGO65M, COGS58 (tabella dati COGRACMC) |
| Impatto | Alto |
Sintomo¶
Le descrizioni merce lunghe (da 37 a 40 caratteri) risultavano troncate in vari punti dell'applicazione: nelle griglie di riga e nella stampa di alcuni documenti veniva mostrata solo la descrizione anagrafica base, tagliata a 36 caratteri, invece della descrizione completa.
Il problema era visibile su preventivi, ordini clienti, ordini fornitori e DDT, e in particolare nella stampa Word degli ordini clienti (COGO65M) e fornitori (COGO25M).
Causa¶
La descrizione merce presente in anagrafica (mer-descr di COGMERCI) e' lunga al massimo
36 caratteri. Per le merci con codice avanzato e descrizione piu' lunga (fino a 40 caratteri) la
descrizione estesa e' conservata a parte, nel campo rcm-des della tabella dei raggruppamenti/codici
merce avanzati COGRACMC, con rcm-len che indica la lunghezza effettiva.
Diversi punti che compongono le righe dei documenti — la routine condivisa di composizione righe
(famiglia COGSA*) e le stampe Word ordini (COGO25M/COGO65M) — usavano direttamente
mer-descr senza considerare la descrizione estesa rcm-des quando rcm-len > 36. Il caso
segnalato al punto 1 si manifestava con la configurazione prntdocusc chiave
stampa-dag-merce = "A".
A cio' si aggiungeva un problema di valore residuo in COGS58 (subroutine che restituisce la
descrizione completa della merce): dopo una lettura di COGRACMC non andata a buon fine il campo
rcm-len non veniva azzerato, e poteva conservare un valore ereditato dalla merce letta in
precedenza, attivando erroneamente il ramo della descrizione estesa. E' la stessa classe di errore
gia' corretta su COGV92M (vedi bug 869e3xecn).
Correzione¶
- COGSA* (composizione righe documento): la descrizione di riga usa ora la descrizione estesa
rcm-desquandorcm-len > 36(ercm-desnon e' a spazi), cosi' preventivi, ordini clienti, ordini fornitori e DDT espongono la descrizione completa. Il caso segnalato constampa-dag-merce = "A"(prntdocusc) e' risolto. - COGO25M e COGO65M (stampa Word ordini fornitori/clienti): applicata la stessa logica gia'
presente nella stampa preventivi — se
rcm-len > 36ercm-desnon e' a spazi si usarcm-des, con fallback sumer-descrse il risultato resta vuoto (rif. TASK-5607). - COGS58: aggiunta l'inizializzazione di
rcm-cod-avaercm-lenquando la lettura di COGRACMC non trova il record, per evitare che un valore residuo attivi erroneamente il ramo della descrizione estesa sulla merce successiva.
La regola comune adottata in tutti i punti e' usare rcm-des solo se rcm-len > 36 e
rcm-des not = spaces, con ripristino di mer-descr quando la descrizione estesa non e'
disponibile o e' vuota.
Riferimenti¶
- Bug della stessa classe (descrizione estesa/valore residuo COGRACMC): COGV92M — descrizione di riga vuota in stampa preventivi.
- Dettaglio tecnico dei singoli fix: pagine COGO25M e COGS58, sezione Storico modifiche.