COGD42 - Ristampa Entrate Magazzino¶
Sorgente: cbl/cogd42.cbl | Tipo: Programma di stampa con interfaccia grafica | Program-ID: COGD42
Menu:
- Magazzino > Entrate > Ristampa
Scopo¶
Stampa (ristampa) dei documenti di entrata in magazzino: carichi da fornitore, resi da cliente, entrate da conto lavoro. Supporta due modalita' di stampa:
- Stampa standard (modo "S"): richiama COGV16 (o COGV16F se az-ges-qta-2 = "S" per doppia unita' di misura)
- Stampa con modelli Word (modo diverso da "S"): genera un file XML con i dati del documento e lo invia a WORDMDL per la formattazione con modello configurato tramite COGPA3
Puo' funzionare sia in modo interattivo (selezione manuale del documento) sia richiamato come sottoprogramma (chiamata via linkage util-cogd42).
Interfaccia utente¶
Maschera (tab-maschera)¶
| Campo | Tipo | Descrizione |
|---|---|---|
| tm-doc-mag | X(01) | Codice magazzino |
| tm-doc-ann | 9(04) | Anno bolla |
| tm-doc-tip | X(01) | Tipo bolla |
| tm-doc-num | 9(06) | Numero bolla |
Ordine di accept dei campi¶
Magazzino > Anno > Tipo > Numero > Conferma
Tasti funzione¶
| Tasto | Funzione |
|---|---|
| ESC | Esce |
| F1 | Configurazione della funzione (RNEWCONF) |
| F2 | Torna al campo precedente |
| F3 | Conferma e avvia la stampa |
| F8 | Calendario (su anno) |
File e tabelle¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| FEURTAB | cogfiles.cpy | Tabella parametri generali |
| COGTESBO | cogd42.fd | Testata bolle (lettura documento) |
| COGTESAP | cogd42.fd | Appendice testata bolle (brand, gruppo aziendale) |
| COGMOMAG | cogd42.fd | Movimenti di magazzino (righe del documento) |
| COGGEANA | cogd42.fd | Anagrafica clienti/fornitori |
| COGMERCI | cogd42.fd | Anagrafica merci |
| COGMAGAZ | cogd42.fd | Anagrafica magazzini |
| COGTABEL | cogd42.fd | Tabelle generiche (causali tipo 15, divise tipo 56, pagamenti tipo 14, contropartite tipo 16) |
| COGPNCON | cogd42.fd | Piano dei conti (descrizione conto) |
| COGMATRI | cogd42.fd | Matricole (per serial number) |
| COGMTSNA | cogd42.fd | Serial number alternativi |
| COGMERLT | cogd42.fd | Lotti merce |
| COGMRFOR | cogd42.fd | Merce-fornitore (codice articolo fornitore) |
| PRNTOPER | cogd42.fd | Operatori (descrizione operatore di inserimento) |
| COGMERLT | cogd42.fd | Lotti merce |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGV16 | Stampa standard bolla entrata |
| COGV16F | Stampa standard bolla entrata con doppia unita' di misura |
| COGPA3 | Selezione modello di stampa (tipo "COGD42") |
| WORDMDL | Generazione documento da modello Word/XML |
| COGS54 | Gestione stampante |
| COGS87 | Calcolo totali IVA del documento |
| COGU10 | Utility formattazione valute/importi |
| COGU18 | Utility commesse |
| COGU22 | Utility pagamento/banca (u22-leggi per descrizione RB) |
| COGU09 | Utility |
| COGS52W | Gestione date |
| COGS09 | Utility note documento |
| GESSTR | Utility manipolazione stringhe |
| RNEWCONF | Lettura/modifica configurazioni (F1) |
Copybook principali¶
cogd42.select,cogd42.fd,cogd42.wrk,cogd42.prc,cogd42.decla,cogd42-01.scr-- Screenscogazien.cpy-- Dati azienda (az-ges-qta-2per doppia UM,az-profper profili)k-u10.cpy-- Costanti utility valutek-personal.cpy-- Costanti personalizzazioniutils09.cpy-- Utility noteutils52.cpy-- Date (COGS52W)utils54.cpy-- Stampante (COGS54)utils87.cpy-- Calcolo totali IVA (COGS87)utilu10.cpy-- Utility valute (COGU10)utilu09.cpy-- Utilityutilu18.cpy-- Utility commesse (COGU18)utilu22.cpy-- Utility pagamento (COGU22)utilncnf.cpy-- Interfaccia RNEWCONFutilwordmdl.cpy-- Interfaccia WORDMDLutilcogpa3.cpy-- Interfaccia COGPA3utilgesstr.cpy-- Interfaccia GESSTRutilcogd42.cpy-- Interfaccia linkage per chiamata esterna
Dati di interscambio called (util-cogd42)¶
| Campo | Tipo | Descrizione |
|---|---|---|
| cogd42-called | costante | "COGD42-CALLED" se richiamato |
| cogd42-caller | X | Programma chiamante |
| cogd42-doc-mag | X(01) | Magazzino preimpostato |
| cogd42-doc-ann | 9(04) | Anno preimpostato |
| cogd42-doc-tip | X(01) | Tipo preimpostato |
| cogd42-doc-num | 9(06) | Numero preimpostato |
| cogd42-fl-sta | X(01) | Flag esito stampa (output: "S" = ok, "N" = errore) |
Configurazione (tm-cfg, via RNEWCONF)¶
| Parametro | Tipo | Descrizione |
|---|---|---|
| tm-cfg-modo-stampa | X(01) | "S" = stampa standard, altro = stampa modelli Word |
| tm-cfg-stampa-dag-merce | X(01) | Stampa dati aggiuntivi merce |
| tm-cfg-cau-ent-contolav | 9(02) | Causale entrata da conto lavoro (cambia titolo in "ENTRATA DA CLIENTE") |
| tm-cfg-etichetta-key-alt | X(25) | Chiave alternativa etichetta |
| tm-cfg-cau-rip-forn | 9(02) | Causale rientro fornitore |
Logica di elaborazione¶
Modalita' called¶
Se cogd42-called = "COGD42-CALLED":
- Carica i parametri del documento dal linkage
- Legge COGTESBO per verificare che il documento esista
- Salta direttamente a
a-lancia-stampasenza mostrare la maschera
Modalita' interattiva¶
- Accept dei campi: magazzino, anno, tipo, numero
- Validazione di ogni campo
- Conferma utente
- Avvia la stampa
Stampa standard (modo "S")¶
Prepara link-rec con i riferimenti della bolla e chiama COGV16 (o COGV16F se doppia unita' di misura).
Stampa con modelli Word (stampa-wordmdl)¶
- Selezione modello: chiama COGPA3 con tipo "COGD42", tipo anagrafico e codice anagrafico del documento. COGPA3 ritorna il modello da usare e la composizione delle tabelle
- Ricerca indici tabelle: cerca l'indice della tabella "TAB-RIGHE" tra le tabelle restituite da COGPA3; verifica la presenza del tag "SN" (serial number)
- Apertura file XML: chiama WORDMDL con operazione "Apri-XML"
- Scrittura testata: genera i tag XML per tutti i dati di testata:
- DATASIS, OPE-INS-COD, OPE-INS-DES, ANA-COD, ANA-NOME, ANA-IND, ANA-LOCA, ANA-CAP, ANA-PROV
- DOC-MAG, DOC-MAG-DES, DOC-TITOLO, DOC-ANN, DOC-TIP, DOC-NUM, DOC-KEY, DOC-DATA
- RIF-DOC, RIF-DATA, CAU-COD, CAU-DES, DIV-COD, DIV-DES, PAGAMENTO
- TOT-IVA, TOT-IVATO, SCADENZE, NOTE
- Titolo documento: dipende dalla causale:
- Se causale = cau-ent-contolav: "ENTRATA DA CLIENTE"
- Se tipo = "R": "RESO DA CLIENTE"
- Altrimenti: "ENTRATA DA FORNITORE"
- Calcolo totali: chiama COGS87 per calcolare totale, IVA, totale ivato. Formatta con COGU10
- Scadenze: legge le scadenze del documento e le formatta come stringa
- Note: legge le note del documento tramite utility COGS09
- Scrittura righe: per ogni riga di COGMOMAG della bolla, genera i tag della tabella TAB-RIGHE:
- Codice merce, descrizione, unita' di misura, quantita', prezzo, sconti, valore, seconda UM/prezzo (se attiva)
- Dati aggiuntivi merce (se configurato)
- Codice articolo fornitore (da COGMRFOR)
- Serial number (se tag SN presente nel modello): legge COGMATRI per la riga e formatta l'elenco dei serial number
- Commesse e sottocommesse (da COGU18)
- Locazione magazzino
- Chiusura: chiama WORDMDL con operazione "Esegui" per generare la stampa
Note¶
- Il programma supporta la doppia unita' di misura (az-ges-qta-2 = "S"): in tal caso, per ogni riga stampa anche quantita' e prezzo nella seconda unita' di misura
- La gestione dei serial number sulle righe e' condizionata alla presenza del tag "SN" nel modello di stampa (verifica fatta su
w-cogpa3-te-info) - Il file XML temporaneo per WORDMDL viene creato nella directory modelli con nome
cogd42_<operatore>.txt - Le commesse sono gestite tramite COGU18 (utilu18.cpy)
- Il programma gestisce le locazioni magazzino con formato box/corsia/colonna/piano (w-mloc)
Documentazione tecnica -- 2026-04-06