COGO55W - Configurazione tm-cfg-ult-pre¶
| Campo | Valore |
|---|---|
| ID ClickUp | 8698962af |
| Data segnalazione | 2025-03-11 |
| Data risoluzione | 2026-02-02 |
| Programmi coinvolti | COGO55W, COGRIGOR, COGS01F |
| Impatto | Alto |
Sintomo¶
In COGO55W (inserimento/gestione ordini fornitori), con la configurazione tm-cfg-ult-pre = "S", il prezzo di acquisto proposto sulle righe ordine era spesso errato: poteva risultare a zero anche in presenza di un listino fornitore valido, oppure divergere dal listino senza motivo apparente. In aggiunta, quando si richiamava un ordine cliente tramite F5 sulle righe, veniva acquisita solo la prima riga anziche' tutte quelle selezionate.
Causa¶
Due difetti distinti legati alla stessa configurazione:
-
La routine di ricerca prezzo eseguiva prima COGS01F (ricerca sul listino fornitore) e poi sovrascriveva il prezzo trovato con quello dell'ultimo ordine fornitore, senza verificare se tale prezzo fosse a zero ne' confrontare la data di aggiornamento del listino con la data dell'ultimo ordine. Inoltre, COGS01F non valorizzava il campo
s01f-data-out(data del listino trovato) quando era attiva la configurazione "listino unico", rendendo impossibile il confronto delle date a valle. -
Nella routine
Fill-pre-prezzo-i, la chiamata ab4-src-preper cercare l'ultimo ordine fornitore impostavaROR-TIPO = "F", sovrascrivendo il valore"C"impostato in precedenza per l'ordine cliente. Questo causava la perdita dell'occorrenza su COGRIGOR conror-tipo = "C", per cui veniva caricata solo la prima riga dell'ordine cliente.
Correzione¶
-
La routine di ricerca prezzo e' stata modificata: la ricerca sull'ultimo ordine precedente viene ora eseguita prima di invocare COGS01F (non dopo), oppure il prezzo dell'ultimo ordine non sovrascrive quello del listino se e' a zero o se la data del listino e' piu' recente della data dell'ultimo ordine. In COGS01F e' stata aggiunta la valorizzazione di
s01f-data-outanche nel ramo del listino unico. -
Nella routine
b4-src-presi utilizzano ora file cloni per la ricerca dell'ultimo ordine fornitore, in modo da non alterare l'occorrenza corrente su COGRIGOR e permettere il corretto caricamento di tutte le righe dell'ordine cliente.