Vai al contenuto

COGO20 - Creazione ordine da preventivo

Intestazione

Campo Valore
Programma COGO20
Titolo Creazione ordine (e opzionalmente commessa di lavorazione) a partire da preventivo
Modulo Ordini / Magazzino / Produzione
Tipologia Programma interattivo a maschera + griglia
Posizione menu Ordini > Clienti > Creazione da Preventivo ; Magazzino > Produzione > Commesse > Creazione da Preventivo

Scopo

Genera uno o piu' ordini cliente partendo da uno o piu' preventivi gia' inseriti. Opzionalmente, contestualmente all'ordine, crea:

  • una merce padre per ogni raggruppamento di righe (con relativa distinta base)
  • un listino di vendita sulla merce padre
  • una commessa di lavorazione collegata all'ordine
  • le consegne sulle righe ordine
  • i collegamenti con eventuali note presenti sul preventivo

Il programma puo' essere richiamato direttamente dal menu oppure in modalita' "called" (w-dc-called = "S") da altri programmi, ricevendo via linkage il preventivo da elaborare.


Flusso principale

  1. Inizializzazione (a000): lettura azienda, lettura configurazioni RNEWCONF, controllo CRM (CRMS06), apertura file (compresi due file di transito cogtrans e cogtrans2), caricamento divisa contabile.
  2. Accettazione testata (a4 e a-tm-*): sequenza di accept dei campi:
  3. elenco preventivi (fino a 20: tm-anno-r / tm-numero-r)
  4. data ordine, magazzino, flag impegno merce, data consegna prevista
  5. flag creazione commessa (tm-commessa)
  6. cliente (tm-cli), divisa, condizioni pagamento (tm-pag-1/tm-tip-pag), listino di riferimento (tm-rif-lis), commessa di destinazione (tm-com), riferimento MGP, causale, brand, gruppo aziende
  7. Lettura preventivi e popolazione tabella raggruppamenti (tab-legame-rag): per ogni preventivo accettato, leggi le sue righe e raggruppale; mantieni il mapping (prev-anno, prev-num, prev-rag) -> rag-attuale.
  8. Caricamento griglia dettaglio (a-leggi-cogtrans, a-grid-det): una riga per raggruppamento, con descrizione, coefficiente, descrizione estesa, flag sub/giacenza/distinta/opzionale, codice IVA, prezzo acquisto.
  9. Accept righe griglia (a-accept-grid-det): l'utente puo' modificare descrizione, descrizione estesa, coefficiente, listino, flag.
  10. Conferma (a-richiesta-conferma): dialog di conferma con possibilita' di annullare. Le creazioni effettive sono delegate a COGO20B:
  11. chiamata con operazione di preparazione (carica preventivi, raggruppamenti, dettagli)
  12. chiamata con operazione finale di creazione ordine/commessa
  13. COGO20B esegue: scrittura testata ordine (COGTESOR), righe (COGRIGOR), consegne (COGCONOR), creazione merce padre + distinta base (se richiesto), creazione listino, creazione commessa (COGG52), collegamento note
  14. Uscita (fine/z-chiudi): cleanup file di transito, chiusura, z-99-exit-program.

Configurazioni RNEWCONF

Gruppo Chiave Variabile Effetto
ordini gestione-distinte-kit tm-cfg-gestione-kit Modalita' kit/distinta
COMMESSE tracciatura-flussi-finanziari tm-cfg-tracciatura-flussi-finanziari Tracciatura finanziaria su commessa
commesse commessa-impianto tm-cfg-commessa-impianto Tipo commessa impianto
commesse tipo-dossier-commessa tm-cfg-tipo-dossier-commessa Tipo dossier sulla commessa
preventivi uso-dossier-commessa tm-cfg-uso-dossier-commessa Uso del dossier commessa
PREVENTIVI MERCE-DESCRITTIVA tm-cfg-merce-descrittiva Codice merce descrittiva
commesse codifica-automatica tm-cfg-comm-codifica-automatica Codifica automatica codice commessa
ABILITA GRUPPO-AZIENDE tm-cfg-gruppo-aziende Abilitazione gruppo aziende
preventivi prest-da-prev-a-ordine tm-cfg-prest-da-prev-a-ordine Trasferisci prestazioni da preventivo a ordine

File acceduti

File Modalita' Uso
FEURTAB Input Nomi file gestionale
COGTRANS (transito) I-O File di transito principale per raggruppamenti/righe (chiavi: chia1, chia2 ragr+riga+merce+prog, chia3 riga-kkk+chia1)
COGTRANS2 (transito) I-O Mapping legame raggruppamenti preventivo<->attuale (prog -> tlr-preventivo+prv-rag+act-rag)
TRAN-M96, TRBN-M96 (external) I-O File di transito M96 (gestione condizioni pagamento)
COGMERCI Input/Out Anagrafica merci (e merci padre create); chiavi cogmerci.k02, cogmerci.k03
COGTESCM Input/Out Testate commesse di lavorazione; cogtescm.k03
COGTESPR Output (aggiornamento) Testate preventivi (cogtespr.k01-agg) per marcare i preventivi consumati
COGTESOR / COGRIGOR / COGCONOR Output Testata, righe, consegne ordine cliente (via COGO20B)
COGG52 (commesse) Output Anagrafica commesse (via COGO20B)

Programmi chiamati

Programma Scopo
RNEWCONF Lettura configurazioni
CRMS06 Controlli CRM (restrizioni accesso)
COGU10 / COGU10W Recupero divisa contabile
COGUA3 Utility specifica
COGE22 Gestione attrezzature/template
COGG52 Anagrafica commesse
COGO20B Motore vero e proprio di creazione ordine/commessa (operazioni multiple in cascata)
GRIDADMN Gestione griglia dettaglio raggruppamenti

Copybook inclusi

Screen Designer

cogo20.select, cogo20.fd, cogo20.wrk, cogo20.prc, cogo20.decla, cogo20-01.scr

Linkage / utility

utilcogo20b.cpy (interfaccia COGO20B), utilCOGO20.cpy (linkage chiamata called), utilcrms06.cpy, utilcogua3.cpy, utilm96.cpy, utildlg.cpy, utils01.cpy, utils16.cpy, utils52.cpy, utils65.cpy, utils68.cpy, utilu10.cpy, utilu20.cpy, utilu35w.cpy, utilw01.cpy, utilw06.cpy, utilw36.cpy, utilw92.cpy, utile22.CPY, utilm12.CPY, utilncnf.cpy, utilo10.cpy, utilw35.cpy, utilg52.cpy, utilgdad.cpy

Costanti / framework

k-personal.cpy, cogazien.cpy, wgrid.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, wstato.cpy

Routine standard

stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy, sendw01.cpy, sendw06.cpy, sendw36.cpy, sendw92.cpy, msgmerce.cpy, call-u35.cpy

Chiavi secondarie

cogmerci.k02, cogmerci.k03, cogtescm.k03, cogtespr.k01-agg, cogtrans.k01, cogtrans.k02, cogtrans.k03, cogtran2.k01


Strutture dati chiave

tab-legame-rag

Mappa tra raggruppamenti del preventivo e raggruppamenti attuali nell'ordine in costruzione. Fino a 100 elementi:

Campo Pic Descrizione
tlr-preventivo (ann+num) 9(4)+9(6) Preventivo origine
tlr-prv-rag 9(2) Raggruppamento sul preventivo
tlr-act-rag 9(2) Raggruppamento corrispondente sull'ordine attuale

tab-maschera.tm-tabella

Tabella delle righe della griglia di dettaglio raggruppamenti (fino a k-max-ele-grid-det):

Campo Descrizione
tm-desc Descrizione breve riga
tm-coeff Coefficiente quantita' (es. per kit)
tm-descriz Descrizione estesa
tm-fl-sub / tm-fl-gia / tm-fl-opz / tm-fl-dist / tm-fl-ci Flag sub/giacenza/opzione/distinta/cliente interno
tm-num-lis Listino specifico
tm-acq-cur / tm-acq-pre Divisa e prezzo di acquisto

Modalita' "called"

Tramite utilCOGO20.cpy il programma riceve w-dc-called = "S" e in tal caso accetta i parametri:

  • w-dc-ope (operazione)
  • w-dc-ana-cod (cliente)
  • w-dc-nom (anagrafica nominativi)
  • w-dc-preventivo (anno+numero preventivo)

per andare in modalita' guidata da un programma chiamante (es. wizard di creazione ordine da CRM).


Note tecniche

  • Limite preventivi multipli: fino a 20 preventivi possono essere elaborati contestualmente (vettore tm-ele-prev).
  • Limite raggruppamenti: massimo 100 raggruppamenti gestiti in tab-legame-rag.
  • Il programma non crea direttamente l'ordine: tutta la creazione vera e propria e' delegata a COGO20B, che riceve il contesto via util-cogo20b e i file di transito gia' popolati. Questo permette di centralizzare in COGO20B la logica transazionale.
  • La creazione di una commessa (flag tm-commessa = "S") richiede che il cliente abbia un nominativo padre/dossier compatibile (configurazioni commesse/tipo-dossier-commessa, preventivi/uso-dossier-commessa).
  • Per il listino di vendita sulla merce padre il programma usa il framework utilo10.cpy (interfaccia COGO10W per la gestione listini).

Storico modifiche

Data Descrizione
2023-07-10 Aggiunta gestione gruppo aziende (configurazione ABILITA/GRUPPO-AZIENDE)
2023-08-28 Aggiunta opzione "trasferimento prestazioni da preventivo a ordine" (configurazione preventivi/prest-da-prev-a-ordine)

Vedi anche