Vai al contenuto

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

  1. COGSA* (composizione righe documento): la descrizione di riga usa ora la descrizione estesa rcm-des quando rcm-len > 36 (e rcm-des non e' a spazi), cosi' preventivi, ordini clienti, ordini fornitori e DDT espongono la descrizione completa. Il caso segnalato con stampa-dag-merce = "A" (prntdocusc) e' risolto.
  2. COGO25M e COGO65M (stampa Word ordini fornitori/clienti): applicata la stessa logica gia' presente nella stampa preventivi — se rcm-len > 36 e rcm-des non e' a spazi si usa rcm-des, con fallback su mer-descr se il risultato resta vuoto (rif. TASK-5607).
  3. COGS58: aggiunta l'inizializzazione di rcm-cod-ava e rcm-len quando 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