Vai al contenuto

COGZC3 — Statistica Commesse/Movimenti Vendita Laboratori

Sorgente: cbl/cogzc3.cbl | Program-ID: cogzc3 | Tipo: Programma interattivo a griglia con filtri (2 pagine: Filtri + Risultati)

Menu: Lab.Odont. > Statistiche > Commesse/Movimenti Vendita


Scopo

Estrae e visualizza in griglia i movimenti di vendita (movimenti di magazzino delle bolle/DDT) collegati alle commesse di laboratorio, arricchendoli con i dati della commessa (paziente, dottore, prescrizione, reparto, tecnico), i dati commerciali (prezzi di listino standard/particolare, sconti, margini, provvigioni) e i riferimenti a fattura e bollettini. I dati estratti vengono scritti su un file di transito indicizzato (cogtrans) e presentati in una list-box paginata (paged grid), con ordinamento e tipo statistica selezionabili. La griglia e' esportabile in Excel (S-F5) e personalizzabile nelle colonne (S-F4 via GRIDADMN).

Il programma gestisce diverse personalizzazioni aziendali (az-personal): Wilocs ("WI"), Lorilabors ("LO"), con logiche specifiche di ricerca agente e di gestione dei documenti "R" (resi) e dei raccordi COGRACBB non trovati.


Struttura della maschera

Form a tab-control a due pagine:

  • Pagina 1 — Filtri: parametri di selezione; F7 avvia l'elaborazione.
  • Pagina 2 — Risultati: griglia paginata e-tm-tab con i movimenti estratti da cogtrans.

Filtri di selezione

Campo Variabile Descrizione
Data inizio / fine tm-data-ini / tm-data-fin Periodo di scansione delle testate bolla
Non fatturato / Fatturato tm-non-fatturato / tm-fatturato Include i documenti non ancora fatturati e/o gia' fatturati
Codice cliente tm-cod-cli Filtro cliente (nonno bolla)
Codice agente tm-cod-age Filtro agente (da documento o da anagrafica, secondo config)
Tipologia cliente tm-tip-stt Da COGAPPOG (app-tip-stt), help COGF10
Codice tecnico tm-cod-tec Tecnico multistudio (LODCMAGG), help COGD88
Reparto tm-rep Reparto commessa (LODCMTES), help W80 tipo 85
Tipo dispositivo tm-cod-dsp Da LODPRESC (lpm-tip-dsp), help COGZ93
Merce da / a tm-art-ini / tm-art-fin Range articoli (per codice interno o avanzato, via COGS68)
Ordinamento tm-ordina Agente/Cliente/Data/Merce/margine (L)/sconto (S)/prezzo (P)/costo (U)
Tipo statistica tm-tipo-stat Tutto / Quantita' (Q) / Valore (V) — filtro su ma2-tipo-stat

Programmi chiamati (CALL)

Programma Condizione Scopo
RNEWCONF x999-src-cfg Lettura 9 parametri di configurazione
COGE35 F8 su agente Selezione agente
COGF10 F8 su tipologia Selezione tipologia cliente
COGD88 F8 su tecnico Selezione tecnico multistudio
COGZ93 F8 su dispositivo Selezione tipo dispositivo
WINZ03 / COGF01 help (via send-w80, W80) selezione reparto
COGS01 fill-transito Verifica listino: prezzo listino particolare e standard, sconti
COGS20 fill-transito Calcolo base e valore provvigione agente
COGL61 fill-transito Prezzo ultimo acquisto (PUA)
COGZS6 fill-transito Dati commessa da raccordo note accredito (raccordo NAC)
COGS94W call-s94 Lettura record paziente (data nascita)
CRMS06 x-riempi-grid-record Raggruppamento statistico CRM del cliente
COGU10W varie z-u10-* Edit/cambio/arrotondamento importi in divisa conto
COGS65W accept cli/age/tec Ricerca anagrafica con toolbar
COGS52W / COGS68W / COGS60 / COGS95 accept campi Gestione controlli data/merce/combo/check
GRIDADMN griglia Preparazione, riempimento, personalizzazione, export colonne griglia

File e tabelle principali

File Accesso Scopo
COGTESBO Lettura sequenziale per data (chia2) Testate bolla — sorgente della scansione
COGMOMAG Lettura sequenziale (chia/k04) Movimenti di magazzino della bolla
COGRACCO Lettura (chia2) Raccordi bolla→fattura (stato fatturazione)
COGRACBB Lettura sequenziale (chia2) Raccordo bolla→commessa laboratorio (tipo "CD")
COGRACMC Lettura (chia2) Codice merce avanzato/interno
COGTABEL Lettura Causali bolla (tipo 15), agente (21), conto contabile (16)
COGGEANA Lettura Anagrafica cliente/agente/tecnico
COGAPPOG Lettura Tipologia cliente, tipo USL (Wilocs)
COGANAAG Lettura Verifica tecnico (Wilocs)
COGMERCI / COGMERAP / COGMERA2 / COGMERCL Lettura Anagrafica merci, appendici, tipo statistica, merce/cliente
COGMOAGG Lettura Dati agg. movimento (val. FIFO, sede multisede)
CRMANAGR Lettura sequenziale (chia3) Tipo CRM cliente
LODCMTES / LODCMAGG / LODPRESC / LODINFCC Lettura Testata/aggiuntivi commessa, prescrizione, bollettini (k02,k04)
cogtrans I/O indicizzato temporaneo File di transito con i record estratti (chiavi k01/k02 su trs-ordina)

Copybook incluse

k-personal.cpy, cogzc3.wrk, k-u10.cpy, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, wgrid.cpy, utilgdad.cpy, utils20.cpy, utils52.cpy, utils65.cpy, utils68.cpy, utilu10.cpy, utile35.cpy, utilcogl61.cpy, utilcrms06.cpy, utilzs6.cpy, utilncnf.cpy, utilf10.cpy, utild88.cpy, utilw80.cpy, utilz93.cpy, utils94.cpy, wtipidoc.cpy; linkage wcont.cpy, utils01.cpy, wcont1.cpy; procedure dtab.cpy, fscrol2.cpy, getdcont.cpy, utilpggr.cpy, cogzc3.prc e le chiavi cogtrans.k01/.k02, cogtesbo.k02, cogmomag.k04, cogracco.k02, cogracmc.k02, cogracbb.k02, lodpresc.k04, lodinfcc.k02, crmanagr.k03, sendw80.cpy.


Parametri di configurazione (RNEWCONF)

Caricati in x999-src-cfg (9 chiavi):

Gruppo Chiave Variabile Effetto
gestbuonip causale-contanti-1 / -2 tm-cau-con-1/2 Causali contanti
ricegenera uso-cm / uso-cma tm-uso-cminte/cmavan Determina se usare codice merce interno ("I") o avanzato ("A")
consdir magazzino-cons-dir tm-cfg-mag-cons-dir Magazzino consegna diretta
statstpara provenienza-agente tm-cfg-prov-agente "DOCUMENTO" = agente dalla bolla; altrimenti da anagrafica cliente
CONTABIL tipo-doc-iva-docmag-vendita tm-cfg-td-dm-vendita-cli Tipo raccordo bolla contabilizzata (vendita)
CONTABIL tipo-doc-iva-docmag-resi-cli tm-cfg-td-dm-resi-cli Tipo raccordo bolla contabilizzata (resi)
clienti inf-raggr-statistico tm-cfg-info-inf-raggr-statistico Info CRM per raggruppamento statistico (0 = disabilitato)

Logica di elaborazione

  1. Apertura (apri): apre i file, crea il transito cogtrans (#$cogzc3.oper), carica config e prepara griglia.
  2. Filtri (a-pagina-01 → accept vari): raccolta e validazione parametri. F7 (inizio-ela) avvia l'elaborazione.
  3. Scansione (inizio-elaa10-loop): scandisce COGTESBO per data; per ogni bolla verifica la causale fatturabile (COGTABEL tipo 15, euta-cb-con-fat = "SI"), lo stato di fatturazione tramite COGRACCO (confrontato con i tipi raccordo config vendita/resi) applicando i filtri "fatturato"/"non fatturato", il tipo CF ("C"), cliente, agente, tipologia, tecnico, reparto, dispositivo, e il raccordo commessa COGRACBB (tipo "CD"). Per i documenti "R" (resi) senza raccordo commessa procede con tm-num = 0.
  4. Movimenti (momag-loop): legge i movimenti COGMOMAG della bolla; filtra su tipo statistica (COGMERA2) e range articoli (per codice avanzato COGRACMC o interno).
  5. Fill transito (fill-transito): compone il record trs-rec con dati cliente/agente/merce/quantita', calcola prezzi netti, margini, sconti (COGS01), provvigioni (COGS20), PUA (COGL61), conto contabile, dati commessa/prescrizione, bollettini (LODINFCC), dati fatturazione/anagrafici. carica-ordina valorizza trs-ordina in base all'ordinamento scelto. Scrive/riscrive su cogtrans.
  6. Visualizzazione (a-pagina-02vis-tabella-ini/vis-tabella-disp): apre cogtrans in input e alimenta la list-box paginata leggendo per la chiave chia2 (ordinata). Gestione paginazione (PgUp/PgDn), export Excel (S-F5), personalizzazione colonne (S-F4).
  7. Chiusura (fine/z-chiudi): chiude e cancella cogtrans, cancella i sottoprogrammi (COGS01, COGZS6, COGZ94).

Paragrafi chiave

Paragrafo Scopo
apri / a4 Inizializzazione e reset filtri (default periodo mese corrente, ordinamento "D")
inizio-ela Preparazione e avvio elaborazione (crea transito i-o)
a10-loop Scansione testate bolla con tutti i filtri di selezione
cerca-age-wi Ricerca agente per personalizzazione Wilocs (agente da anagrafica o tecnico da prescrizione)
momag-loop Scansione movimenti di magazzino della bolla
fill-transito Composizione del record di transito (prezzi, margini, provvigioni, dati commessa)
dati-cliente / rag-agente / pr-lifo / read-cogracco / chiama-cogracmc Recupero dati accessori
carica-ordina Valorizzazione chiave di ordinamento trs-ordina
vis-tabella-ini / vis-tabella-disp Riempimento e gestione della griglia paginata
x-spaginamento-start / rn-* / rp-* / sn-read / sp-read Motore di paginazione (utilpggr)
rd1-ft-go Copia record transito → tabella interna della pagina
x-riempi-grid-record Composizione riga griglia (edit importi, CRM, reparto merce, figlio bolla)
x999-src-cfg Lettura configurazioni RNEWCONF

Note

  • La fill-transito e' il cuore del calcolo commerciale: replica la logica di COGU21 per l'arrotondamento del netto (valore < 1 centesimo portato a 1 centesimo) e gestisce le note di credito con margini negativi.
  • Personalizzazioni: Wilocs ("WI") esclude le bolle senza raccordo COGRACBB; le altre aziende (es. Lorilabors) proseguono comunque estraendo gli altri dati. Lorilabors ("LO") ha logica specifica sui non fatturati con rac-dafa > tm-data-fin.
  • Il file cogtrans non e' EXTERNAL (a differenza di COGP88): e' un temporaneo per operatore.