Vai al contenuto

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:

  1. 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.

  2. Nella routine Fill-pre-prezzo-i, la chiamata a b4-src-pre per cercare l'ultimo ordine fornitore impostava ROR-TIPO = "F", sovrascrivendo il valore "C" impostato in precedenza per l'ordine cliente. Questo causava la perdita dell'occorrenza su COGRIGOR con ror-tipo = "C", per cui veniva caricata solo la prima riga dell'ordine cliente.

Correzione

  1. 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-out anche nel ramo del listino unico.

  2. Nella routine b4-src-pre si 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.