Vai al contenuto

COGM67 -- Visualizzazione Merci in Buoni di Prelievo

Sorgente: cbl/cogm67.cbl | Tipo: Programma con interfaccia grafica (griglia interattiva) | Program-ID: COGM67

Menu:

  • Magazzino > Entrate > Buoni di Prelievo > Visualiz. Merci in Buoni di Prel.
  • Magazzino > Uscite > Buoni di Prelievo > Visualiz. Merci in Buoni Prelievo

Scopo

Visualizza i movimenti dei buoni di prelievo (BDP) filtrati per merce, cliente/fornitore, magazzino, intervallo date e stato del documento (aperto/chiuso/tutti). Il programma:

  • Ricerca le righe dei BDP (COGRIGBP) in base ai filtri impostati, ordinando per merce oppure per cliente+merce
  • Copia i dati selezionati in un file di transito temporaneo (COGTRANS) per lo spaginamento della griglia
  • Mostra il dettaglio di ogni riga BDP: documento, data, quantita', importo, cliente/fornitore, merce, stato, prenotazioni collegate (ordine fornitore, preventivo, ordine cliente, componente)
  • Permette di accedere alla gestione BDP (F3 via COGM58/COGM59), alla chiusura (F6 via COGM68) e alla stampa (F9: etichette sovrapacco COGP78 o certificato conformita' COGD76)

Puo' funzionare sia in modalita' autonoma (da menu) sia come programma richiamato (CALLED) da altri programmi, tipicamente per visualizzare i BDP aperti relativi a una specifica merce.


Interfaccia utente

Maschera di filtro (tab-maschera)

Campo Tipo Descrizione
tm-ana-tipo x(01) Tipo anagrafico: C=Cliente, F=Fornitore, T=Tutti (default C; se CALLED default T)
tm-cli 9(05) Codice cliente/fornitore (0 = tutti)
tm-da-merce / tm-a-merce x(09) Intervallo codici merce (vuoto = dall'inizio/alla fine)
tm-mag x(01) Magazzino (vuoto = tutti). Se CALLED e w-dc-mag valorizzato, usa quello
tm-da-data / tm-a-data 9(08) Intervallo date (AAAAMMGG). Default: 01/01/anno corrente -- 31/12/anno corrente
tm-tipo x(01) Stato BDP: A=Aperti, C=Chiusi, T=Tutti

Ordine di accept dei campi

Tipo anagrafico > Cliente/Fornitore > Da merce > A merce > Magazzino > Da data > A data > Tipo documenti > Conferma

Griglia (grid-record)

Colonna Descrizione
Documento Magazzino (grd-bdp-mag) + numero BDP (grd-bdp-num)
Stato Aperto / Chiuso (grd-stato)
Data Data del BDP gg/mm/aaaa (grd-data)
Merce Codice merce (grd-merce)
Quantita' Quantita' della riga (grd-qta)
Importo Importo netto convertito in divisa contabile (grd-imp)
Cod/Nome Cliente Codice e ragione sociale (grd-cli-cod, grd-cli-des)
Prenotazione preventivo Tipo e chiave oggetto prenotazione preventivo (grd-prn-tip-p, grd-prn-chiave-oggetto-p)
Prenotazione fornitore Tipo e chiave oggetto prenotazione ordine fornitore (grd-prn-tip-f, grd-prn-chiave-oggetto-f)
Prenotazione cliente Tipo e chiave oggetto prenotazione ordine cliente/componente (grd-prn-tip-c, grd-prn-chiave-oggetto-c)
Riferimento Riferimento testata BDP (grd-rif)
Tipo Anagrafico Cliente / Fornitore (grd-ana-tipo)

Tasti funzione

Tasto Funzione
F3 (testata) Conferma filtri
F3 (griglia) Gestione BDP selezionato (COGM58/COGM59). Disabilitato per tipo Fornitore
F6 Chiusura BDP (COGM68) -- solo per BDP aperti; dopo la chiusura rilancia l'elaborazione
F7 Descrizione aggiuntiva (WIN089) -- solo se az-prof = 'S'
F9 Stampa: dialog per scegliere tra etichette sovrapacco (COGP78) o certificato conformita' (COGD76)
S-F4 Gestione griglia (GRIDADMN)
S-F5 Esportazione Excel

Modalita' CALLED

Quando richiamato con cogm67-called = "COGM67-CALLED" (via utilcogm67.cpy):

Campo linkage Descrizione
cogm67-called Deve valere "COGM67-CALLED" per attivare la modalita'
cogm67-ope Operazione: "VIS-APERTI-PER-MERCE" = filtra BDP aperti per una merce specifica
cogm67-merce Codice merce da filtrare (gru + sot + cod)
cogm67-mag Magazzino da filtrare. Se valorizzato, viene usato al posto del magazzino principale

In modalita' CALLED con operazione VIS-APERTI-PER-MERCE, il programma:

  1. Imposta tipo = "A" (solo aperti), date dal 2000/01/01 al 2099/12/31
  2. Imposta da-merce e a-merce con il codice ricevuto
  3. Imposta tm-ana-tipo = "T" (tutti)
  4. Se cogm67-mag e' valorizzato, lo usa come filtro magazzino
  5. Esegue direttamente l'elaborazione senza passare per l'accept dei filtri

Chiamanti principali

Programma Contesto
COGV35 Dettaglio quantita' prenotata (S-F8): passa la merce selezionata e il magazzino corrente
COGG4D Visualizzazione merci nei BDP
TGL200 / TGL201 Programmi tablet -- visualizzazione BDP per merce

Logica di Elaborazione

Flusso principale

  1. Inizializzazione: apertura file, lettura divisa contabile (COGU10W), creazione file transito temporaneo (COGTRANS), preparazione griglia e controlli
  2. Accept filtri: sequenza di accept per tipo anagrafico, cliente, da-merce, a-merce, magazzino, da-data, a-data, tipo documenti. Conferma con F3
  3. Elaborazione (b-elabora):
  4. Determina la chiave di lettura: se tm-cli = 0 usa chiave 2 (per merce), altrimenti chiave 3 (per cliente+merce)
  5. Posiziona su COGRIGBP con i filtri impostati
  6. Cicla sulle righe; per ciascuna:
    • Filtra per cliente, magazzino, intervallo date
    • Legge la testata BDP (COGTESBP) per verificare lo stato aperto/chiuso e il tipo anagrafico
    • Filtra per tipo anagrafico (Cliente/Fornitore) se specificato
    • Copia il record nel file di transito COGTRANS per lo spaginamento
  7. Visualizzazione griglia: mostra i risultati con spaginamento avanti/indietro. Per ogni riga, legge le prenotazioni collegate (COGPRENO) per mostrare preventivi, ordini fornitore/cliente, componenti
  8. Azioni da griglia: F3=gestione BDP, F6=chiusura, F9=stampa, F7=descrizione aggiuntiva

Dettaglio prenotazioni (x-riempi-grid-record)

Per ogni riga della griglia, il programma legge la tabella COGPRENO con i tipi:

  • F = Ordine fornitore: mostra tipo/anno/numero/progressivo
  • P = Preventivo: mostra anno/numero/progressivo
  • C = Ordine cliente: mostra tipo/anno/numero/progressivo
  • M = Componente: mostra in formato specifico

File e Tabelle

File/Tabella Copybook Uso
FEURTAB cogfiles.cpy Tabella nomi file del gestionale
COGRIGBP cogrigbp.fd, .k02, .k03 Righe buoni di prelievo (tabella principale di lettura)
COGTESBP cogtesbp.fd Testata buoni di prelievo (per stato aperto/chiuso e tipo anagrafico)
COGGEANA coggeana.fd Anagrafica clienti/fornitori (per nome)
COGMERCI cogmerci.fd Anagrafica merci (per descrizione)
COGMAGAZ cogmagaz.fd Anagrafica magazzini (per validazione e descrizione)
COGPRENO cogpreno.fd Prenotazioni collegate ai BDP (preventivi, ordini, componenti)
COGTRANS (file temporaneo) File di transito per spaginamento griglia, creato in output all'avvio

Programmi chiamati

Programma Scopo
COGM58 / COGM59 Gestione buono di prelievo (richiamato con F3 da griglia)
COGM68 Chiusura buono di prelievo (F6)
COGP78 Stampa etichette sovrapacco (F9)
COGD76 Stampa certificato di conformita' (F9)
DIALOGS Finestra di scelta stampa (F9)
WIN089 Descrizione aggiuntiva (F7)
COGU10W Utility valute/divisioni (conversione importi)
COGS65W Selezione cliente/fornitore con ricerca
GRIDADMN Gestore griglia interattiva

Copybook principali

  • cogm67.select, cogm67.fd, cogm67.wrk, cogm67.prc, cogm67.decla, cogm67-01.scr -- Definizioni generate da Screens
  • utilcogm67.cpy -- Interfaccia linkage per chiamata esterna (contiene cogm67-called, cogm67-ope, cogm67-merce, cogm67-mag)
  • utilcogm59.cpy -- Interfaccia per richiamo COGM59
  • utilcogm68.cpy -- Interfaccia per richiamo COGM68
  • utilcogd76.cpy -- Interfaccia per richiamo COGD76
  • utilp78.cpy -- Interfaccia per richiamo COGP78
  • utildlg.cpy -- Interfaccia per DIALOGS
  • k-u10.cpy -- Costanti per utility COGU10W
  • cogazien.cpy -- Dati azienda
  • cogrigbp.k02, cogrigbp.k03 -- Routine I/O chiavi secondarie COGRIGBP
  • cogtrans.k01, cogtrans.k02, cogtrans.k03 -- Routine I/O chiavi COGTRANS

Note tecniche

  • La griglia e' read-only: il paragrafo z-operazioni-accessorie-grid respinge i tentativi di modifica con event-action-fail-terminate.
  • Il massimo numero di elementi caricabili e' definito dalla costante k-max-ele-tab = 900.
  • Il file di transito COGTRANS viene creato nella directory temporanea dell'operatore con nome #COGM67.operatore e viene cancellato alla chiusura.
  • La scelta della chiave di lettura su COGRIGBP (chiave 2 = per merce, chiave 3 = per cliente+merce) dipende dal fatto che sia stato specificato un cliente.
  • Il tipo anagrafico (tm-ana-tipo) e' stato aggiunto nella build 2024/0718: i BDP senza tipo impostato nella testata vengono trattati come "C" (cliente).
  • F3 da griglia e' disabilitato per BDP di tipo Fornitore (tm-anatip = "F").

Storico Modifiche

Build Descrizione
2024/0718 Aggiunto tipo anagrafico (Cliente/Fornitore): filtro in maschera (tm-ana-tipo), colonna in griglia (grd-ana-tipo), filtro sull'anagrafica testata BDP
2026/03 Aggiunto parametro magazzino nella chiamata CALLED (cogm67-mag in utilcogm67.cpy): quando COGM67 e' richiamato come sottoprogramma, il chiamante puo' ora specificare il magazzino da filtrare tramite cogm67-mag, invece di usare sempre il magazzino principale dell'azienda. Aggiunto campo w-dc-mag nella struttura w-dati-called

Documentazione tecnica -- 2026-03-28