Vai al contenuto

COGV06NO — Gestione anagrafica merci (versione STANDARD)

Sorgente: cbl/cogv06no.cbl | Program-ID: cogv06no | Tipo: Programma interattivo a maschera multi-pagina (mask generata da Screens)

Menu: richiamato da COGV06 (Magazzino > Archivi & Tabelle > Merci; Lab.Odont. > Archivi > Materiali/Prestazioni > Gestione). Non compare direttamente a menu.


Scopo

COGV06NO e' la versione standard della gestione anagrafica merci/articoli, quella che contiene la logica applicativa effettiva (inserimento, modifica, cancellazione e ricerca degli articoli). Viene eseguita come fallback dal launcher COGV06 quando l'azienda non ha una variante personalizzata COGV06<az-personal>. Ogni articolo e' identificato dal codice merce composto da gruppo (2), sottogruppo (2) e codice numerico (5) e raccoglie tutte le informazioni gestionali: descrizione, unita' di misura, codici IVA, contropartite, dati di magazzino/scorte, parametri di laboratorio e i dati aggiuntivi.

La maschera e' organizzata in piu' pagine tematiche (Principale, Laboratorio, Logistica/Consegna, ecc.). Per la descrizione operativa dei campi lato utente vedere la pagina utente "Materiali/Prestazioni - Gestione".


File e tabelle principali

Il tracciato completo dei file e' definito tramite le copybook generate da Screens (cogv06no.select, cogv06no.fd); di seguito i file applicativi principali.

File Copybook Prefisso Scopo
COGMERCI cogmerci.* (usa anche cogmerci.k03) mer- Anagrafica merci: dati principali dell'articolo (descrizione, UM, IVA, contropartite, ...)
COGMERA3 cogmera3.* ma3- Dati aggiuntivi merce (chiave ma3-merce = gruppo/sottogruppo/codice). Contiene, fra l'altro, il flag ma3-no-merce-coan
COGMERA4 cogmera4.* ma4- Dati aggiuntivi merce (quarto tracciato). Contiene i campi "corso/centro di costo" e ma4-ordine-stampa
COGTABEL cogtabel.cpy euta- Tabelle generiche (es. tipo TR = responsabili centro di costo)
COGMOMAG cogmomag.* (usa cogmomag.k04) Movimenti di magazzino (controlli su giacenze/collegamenti)

Programmi chiamati (CALL)

Programma Scopo
COGS55 Aggiornamento del codice avanzato merce quando viene variato (il flag interno segnala la variazione del codice avanzato)
COGB69 Ricerca/selezione del responsabile del centro di costo (F8 sul campo "Responsabile centro di costo"); interfaccia utilcogb69.cpy (cogb69-caller / cogb69-called / cogb69-out-cod)

Il programma richiama inoltre diverse finestre di aiuto/selezione (referenziate come caller nel sorgente, es. moduli D89/F11/E69) tipiche della maschera anagrafica merci.


Modifiche recenti

2026-07-31 — Flag "Non valorizza merce in co/an" (ma3-no-merce-coan)

Aggiunto il campo di maschera tm-no-merce-coan (paragrafo a-tm-no-merce-coan), memorizzato su COGMERA3 in ma3-no-merce-coan. Semantica: "N" (default) = la merce viene valorizzata normalmente in contabilita' analitica / per centri di costo; "S" = la merce non viene valorizzata in co/an. In lettura, se il campo e' a spazio viene forzato a "N" (if tm-no-merce-coan = " " move "N"). Il campo e' navigabile via w-ritorna 434/435 e caricato/salvato in scrittura verso ma3-no-merce-coan. L'inizializzazione massiva del nuovo campo sui record esistenti e' effettuata dal programma one-shot tempo813.

2026-05-11 — Campo "Ordine di stampa" (ma4-ordine-stampa)

Aggiunto il campo tm-ordine-stampa (pic 9(05), paragrafo a-tm-ordine-stampa, controllo x-controlla-tm-ordine-stampa, navigazione w-ritorna 329), memorizzato su COGMERA4 in ma4-ordine-stampa. Definisce l'ordine personalizzato della merce nella stampa "Listino Particolare" in modalita' Prestazioni; le merci senza ordine impostato vengono stampate in coda.

2026-04-30 — Sezione "Centro di costo / Corsi" (COGMERA4)

Aggiunto un blocco di campi per la gestione dei corsi di formazione trattati come articoli, memorizzati su COGMERA4:

Campo maschera Campo COGMERA4 Contenuto / controllo
tm-respo-cc ma4-respo-cc Responsabile centro di costo, validato su COGTABEL tipo TR (F8 = COGB69)
tm-data-avvio-cc ma4-data-avvio Data avvio corso (F8 calendario)
tm-data-fine-cc ma4-data-fine Data fine corso; se valorizzata, richiede la data avvio e deve essere >= alla data avvio
tm-nr-parte-cc ma4-nr-parte Numero partecipanti
tm-nr-ore-cc ma4-nr-ore Numero ore (9(05)v99)
tm-finanziato-cc ma4-finanziato Corso finanziato (S/N), default "N" in inserimento

I relativi paragrafi (a-tm-respo-cca-tm-finanziato-cc) usano la navigazione w-ritorna 323-328 e i controlli x-controlla-tm-respo-ccx-controlla-tm-finanziato-cc. La sezione e' visibile solo quando i controlli corrispondenti sono attivi (campi opzionali).

2026-04-17 — Duplicazione merce ristretta a BM Solution e DEA (TASK-4688)

La proposta di duplicazione dei dati da un articolo esistente in fase di inserimento (dup-merce, con eventuale valorizzazione di s55-merce-duplica e chiamata a COGS55) viene ora eseguita solo per le personalizzazioni az-personal = k-personal-bm-solution (BM Solution) o az-personal = k-personal-dea-colori (DEA Colori). Per gli altri clienti (segnalato il caso Datallarm) la duplicazione non viene piu' proposta, perche' non desiderata.


Programma di inizializzazione tempo813

Il flag ma3-no-merce-coan introdotto il 2026-07-31 e' inizializzato sui record esistenti dal programma one-shot tempo813 (cbl/tempo813.cbl, non a menu). Scorre sequenzialmente COGMERA3 e, per ogni record con ma3-no-merce-coan = spaces, imposta "N" e riscrive (rewrite), mostrando un contatore di avanzamento; l'elaborazione parte con F3. Salta l'azienda az-personal = "SC" (Scuola Edile), per cui l'inizializzazione era gia' stata effettuata. E' un'utility temporanea di migrazione dati, da eseguire una tantum dopo il rilascio del nuovo campo.


Note

  • COGV06NO e' un programma di grandi dimensioni: le pagine della maschera e il tracciato dei file sono generati/gestiti tramite Screen Designer (cogv06no.select/.fd/.wrk/.prc).
  • La navigazione tra i campi della maschera avviene tramite codici w-ritorna e l'EVALUATE sui k-id-* dei controlli; ogni nuovo campo aggiunge il proprio ramo sia nell'EVALUATE di navigazione sia nella catena dei controlli x-controlla-*.
  • Vedi anche il launcher COGV06 che seleziona la variante (standard o personalizzata) in base ad az-personal.