Rifacimenti e Rilavorazioni
E' possibile gestire Rifacimenti e Rilavorazioni di ordini di produzione tramite comandi inseriti in Template Lista Desmos o pulsanti appositi nel Template Action.
Rifacimenti
Template Lista Desmos: E' possibile richiamare la schermata di rifacimento inserendo una colonna comando (vedi documentazione) usando i seguenti campi:
- DesmosCmdLancio (Obbligatorio): Il lancio da usare per il comando, deve contenere il codice dell'ordine.
DesmosCmdLancio = cast(ordine as nvarchar(128)) - DesmosCmdComando (Obbligatorio): Il comando da eseguire al completamento del rifacimento.
DesmosCmdComando = CAST(“comando.dsm” as nvarchar(128)) - DesmosCmdDescrizione (Obbligatorio): La descrizione del comando.
DesmosCmdDescrizione = CAST(“Rifacimento” as nvarchar(128)) - DesmosCmdTipo (Obbligatorio): Il valore deve essere “RIF” per i rifacimenti.
DesmosCmdTipo = CAST(“RIF” as nvarchar(128)) - DesmosCmdCausale (Opzionale): Il codice causale da usare per i rifacimenti. Se non trovato verrà richiesto di inserire un'altra causale. Possono esserci più codici separati da “;”, in tal caso si potrà scegliere una tra le causali date (se presenti).
DesmosCmdCausale = CAST(“c_causale” as nvarchar(128))
Template Action: E' possibile richiamare la schermata di rifacimento inserendo un pulsante (vedi documentazione) e usando i seguenti campi:
- DesmosAction: Deve essere == “button”, inserisce un pulsante.
DesmosAction = cast('BUTTON' as varchar(64))
- DesmosActionCmdLancio: Lancio da usare per le funzionalità associate all'azione, deve contenere il codice dell'ordine.
DesmosActionCmdLancio = cast(@lancio as nvarchar(128))
- DesmosActionCmdTipo (Obbligatorio): Il valore deve essere “RIF” per i rifacimenti. Il Codice_item passato è DesmosActionCmdLancio.
DesmosActionCmdTipo = CAST(“RIF” as nvarchar(128)) - DesmosActionCmdCausale (Opzionale):Il codice causale da usare per i rifacimenti. Se non trovato verrà richiesto di inserire un'altra causale. Possono esserci più codici separati da “;”, in tal caso si potrà scegliere una tra le causali date (se presenti).
DesmosActionCmdCausale = CAST(“c_causale” as nvarchar(128))
Il pulsante creato richiama la procedura di Rifacimento (azzeramento) di un singolo OPN, tale procedura prevede:
- Scelta causale con possibilita' di annullo
- Attesa conclusione rifacimento con esito positivo
- Esecuzione batch associato al pulsante Rifacimento (se presente).

Le causali tra cui scegliere vengono prese dalla tabella tesy_causale_out con fg_per_rottamazione_opn=1, in questa tabella devono essere inseriti i record voluti corrispondenti alle causali.
Allo scopo di facilitare la ricerca e visualizzazione degli ordini di produzione con rifacimento, per ogni procedura andata a buon fine viene creato un record in tesy_postazione_item_log del tipo:
- c_postazione = postazione che ha dichiarato il rifacimento
- n_item = id in tesy_item relativo all’OPN
- fg_stato = 66 (Stato di RIFACIMENTO)
- descrizione_operazione = Rifacimento OPN:OPN-XYZ
- c_causale_rifril = XYZ (codice della causale scelta)
- dt_inizio_attivita = dt_fine_attivita = dt_creazione = dt_registrazione = data e ora del comando di rifacimento
Rilavorazioni
Template Lista Desmos: E' possibile richiamare la schermata di Rilavorazione inserendo una colonna comando (vedi documentazione) usando i seguenti campi:
- DesmosCmdLancio (Obbligatorio): Il lancio da usare per il comando, deve contenere il codice dell'ordine.
DesmosCmdLancio = cast(ordine as nvarchar(128)) - DesmosCmdComando (Obbligatorio): Il comando da eseguire al completamento della rilavorazione.
DesmosCmdComando = CAST(“comando.dsm” as nvarchar(128)) - DesmosCmdDescrizione (Obbligatorio): La descrizione del comando.
DesmosCmdDescrizione = CAST(“Rilavorazione” as nvarchar(128)) - DesmosCmdTipo (Obbligatorio): Il valore deve essere “RIL” per le Rilavorazioni.
DesmosCmdTipo = CAST(“RIL” as nvarchar(128)) - DesmosCmdCausale (Opzionale): Il codice causale da usare per la rilavorazione. Se non trovato verrà richiesto di inserire un'altra causale. Possono esserci più codici separati da “;”, in tal caso si potrà scegliere una tra le causali date (se presenti).
DesmosCmdCausale = CAST(“c_causale” as nvarchar(128)) - DesmosCmdId (Obbligatorio): Il valore si riferisce all'Id dell'ordine di produzione, necessario per visualizzare le fasi/lavorazioni nel popup delle rilavorazioni.
DesmosCmdId = CAST(“12345” as nvarchar(128)) - DesmosCmdRilavorazione: Il valore viene usato per selezionare la lavorazione. Può contenere la sola lavorazione oppure un valore formato da codice fase e codice lavorazione separati da un carattere “|” es: “CodiceFase|CodiceLavorazione”
DesmosCmdRilavorazione = CAST(“000000” as nvarchar(128))
Template Action: E' possibile richiamare la schermata di Rilavorazione inserendo un pulsante (vedi documentazione) e usando i seguenti campi:
- DesmosAction: Deve essere == “button”, inserisce un pulsante.
DesmosAction = cast('BUTTON' as varchar(64))
- DesmosActionCmdLancio: Lancio da usare per le funzionalità associate all'azione, deve contenere il codice dell'ordine.
DesmosActionCmdLancio = cast(@lancio as nvarchar(128))
- DesmosActionCmdTipo (Obbligatorio): Il valore deve essere “RIL” per le Rilavorazioni. Il Codice_item passato è DesmosActionCmdLancio.
DesmosActionCmdTipo = CAST(“RIL” as nvarchar(128)) - DesmosActionCmdCausale (Opzionale):Il codice causale da usare per le rilavorazioni. Se non trovato verrà richiesto di inserire un'altra causale. Possono esserci più codici separati da “;”, in tal caso si potrà scegliere una tra le causali date (se presenti).
DesmosActionCmdCausale = CAST(“c_causale” as nvarchar(128)) - DesmosActionId (Obbligatorio): Il valore deve essere l'Id dell'ordine di produzione, necessario per visualizzare le fasi/lavorazioni nel popup delle rilavorazioni.
DesmosActionId = CAST(“1234” as nvarchar(128)) - DesmosActionCmdRilavorazione: Il valore viene usato per selezionare la lavorazione. Può contenere la sola lavorazione oppure un valore formato da codice fase e codice lavorazione separati da un carattere “|” es: “CodiceFase|CodiceLavorazione”
DesmosActionCmdRilavorazione = CAST(“F01|1” as nvarchar(128))
Il pulsante creato richiama la procedura di Rilavorazione di un singolo OPN, tale procedura prevede:
- Scelta causale con possibilita' di annullo
- Scelta di lavorazione da cui ripartire
- Attesa conclusione rilavorazione con esito positivo
- Esecuzione batch associato al pulsante Rilavorazione (se presente).
Causali
Le causali tra cui scegliere vengono prese dalla tabella tesy_causale_out con fg_per_rottamazione_opn = 1 e fg_annullato = 0, in questa tabella devono essere inseriti i record voluti corrispondenti alle causali.
Vengono azzerate le lavorazioni da quella scelta in poi.
Allo scopo di facilitare la ricerca e visualizzazione degli ordini di produzione con rilavorazioni, per ogni procedura andata a buon fine viene creato un record in tesy_postazione_item_log del tipo:
- c_postazione = postazione che ha dichiarato la rilavorazione
- n_item = id in tesy_item relativo all’OPN
- fg_stato = 65 (Stato di RILAVORAZIONE)
- descrizione_operazione = Rilavorazione OPN:OPN-XYZ
- c_causale_rifril = XYZ (codice della causale scelta)
- c_centro_ril = codice del centro di lavoro
- c_lavorazione_ril = codice della lavorazione
- dt_inizio_attivita = dt_fine_attivita = dt_creazione = dt_registrazione = data e ora del comando di rilavorazione.