COGX52 - Visualizzazione e Cancellazione Rilevazione Presenze¶
Scopo¶
Visualizza le rilevazioni di presenza dei tecnici (COGLOGTN) in un intervallo di date, con i dati derivati da giornaliero magazzino (COGDMRIG/COGDMTES), righe commesse (COGRIGCM) e anagrafiche collegate. Permette la cancellazione massiva delle rilevazioni filtrate, con propagazione sulle strutture collegate e rebuild finale degli indici.
Menu¶
Vendite > Commesse > Visualizzazioni > Visualizza e Cancella
File e tabelle¶
| File | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Parametri | File parametri di ambiente |
| COGLOGTN | Indicizzato | Log presenze tecnico (chiave 1 = tip+cod+data+ora; chia2 = data) |
| COGRIFER | Indicizzato | Anagrafica riferimenti (tecnici, "C") |
| COGTESCM | Indicizzato | Testate commesse (lettura descrizione breve) |
| COGSOTCM | Indicizzato | Sottocommesse |
| COGDMRIG | Indicizzato | Giornaliero magazzino, righe (cancellata/decrementata in canc) |
| COGDMTES | Indicizzato | Giornaliero magazzino, testate |
| COGCOMTN | Indicizzato | Tecnici per commessa (cancellazione) |
| COGRIGCM | Indicizzato | Righe commesse (chiave commessa+chia1) |
| COGMERCI | Indicizzato | Anagrafica merci (per classe merce e listino) |
| T-TAB1 | File temporaneo | Griglia di transito caricata da z-tab1-crea-transito |
Copybook¶
File e select¶
feurtab.fd,cogfiles.cpycogx52.select,cogx52.fd,cogx52.wrk,cogx52.tm,cogx52.imppredf-wrk,cogx52.imppredfcogx52-01.scr,cogx52.decla,cogx52.prc
Working-storage standard¶
wgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpy
Utility¶
wgrid.cpy,utilgdad.cpy,utils52.cpy,utils65.cpy,utils68.cpy,utils93.cpyutilu10.cpy,utilu20.cpy,utilu35w.cpy,utilimppredf.cpy,utildlg.cpy,utilncnf.cpy,utilgesdebug.cpy,utilcogl61.cpyk-u10.cpy
Linkage¶
wcont.cpy,utilg32.cpy,utils01f.cpy,wcont1.cpy
Procedure finali¶
grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy,gesdebug.cpy,coglogtn.k02,call-u35.cpy
CALL¶
| Programma | Scopo |
|---|---|
| GRIDADMN | Gestione griglia (Prepara) |
| COGG32 | Ricerca tecnico (call-g32-tcn-cod) |
| COGS01F | Lettura listino fornitore (per merci classe "S") |
| COGL61 | Prezzo acquisto generico (per merci non "S") |
| COGU10 | Editing/cambio valute |
| W$MENU | Pop-up menu griglia (right-click) |
| C$SYSTEM | Esecuzione vutil per rebuild file |
| POPFILES | Chiusura/riapertura file durante rebuild |
Logica di elaborazione¶
- Inizializzazione (
apri): apre file, costruisce pop-up menu (build-main-popup-tab1), pulsanti custom (bitmap "ricerca" per salva/cerca filtro), prepara griglia. - Selezione filtri (
a4→ accepta-tm-tcn-cod,a-tm-data-da,a-tm-data-a): tecnico via COGG32 + COGRIFER (tip="C"); data-da/data-a con validazionedata-da <= data-a. Conferma con F3. - Caricamento dati (
a-leggi-dati→z-tab1-crea-transito→caricamento-dati): - Se tecnico vuoto/"0000000000": start su COGLOGTN chiave secondaria (data),
fl-key=2 - Altrimenti start su chiave primaria con
ltn-tcn-tip="C"+ltn-tcn-cod,fl-key=1 - Loop
rdnxt-coglogtnfinche'ltn-data <= tm-data-a; per ogni recordcarica-dati-sub-logtn:- decodifica tecnico (COGRIFER), commessa (COGTESCM), sottocommessa (COGSOTCM)
- converte tempo in ore (
w-tempo-hr = ltn-tempo / 60) - cerca riga giornaliero magazzino (
G, sedeaz-main-mag, anno/num da data, rigaltn-dmr-doc-rig) - calcola costo via
cerca-prezzo-for: se merce classe "S" usa COGS01F (listino 1), altrimenti COGL61 - inserisce riga in T-TAB1 (
z-tab1-inserisci-t-rec)
- Visualizzazione e ordinamento (
a-grid-ini→z-tab1-carica-tab): ordinamento iniziale fisso sugcn-r-dataasc. - Loop principale (
a-grid/a-accept-grid): - F4:
cancella-dati(vedi sotto) - F5: imposta
w-fl-rebuild = yes - Shift+F4: GRIDADMN admin
- Shift+F5:
z-esporta-tab1(export Excel) - Right-click: pop-up menu via W$MENU
- Cancellazione massiva (
cancella-dati→canc-collegati): - Scan COGLOGTN sull'intervallo (stessa logica di selezione)
- Per ogni record: cancella COGCOMTN, decrementa/cancella COGDMRIG (
dmr-qta-doc -= w-tempo-hr), cancella/aggiorna COGRIGCM, cancella COGLOGTN; se nessuna riga COGDMRIG residua per la testata, cancella COGDMTES - Setta
w-fl-rebuild = yes - Chiusura (
z-chiudi→rebuild-dati): - Se rebuild richiesto: chiude file via POPFILES, lancia
vutil[32].exe -re -asu nf-name-137, 189, 190, 191, 192, 193 (COGLOGTN, COGCOMTN, COGDMRIG, COGDMTES, COGRIGCM, etc.), riapre file.
Struttura griglia di transito (T-TAB1)¶
Definita in cogx52.tm + utility utilcogl61.cpy; campi principali (record t-gor-r-rec):
- data, tecnico (cod+des), commessa (tsc+des), sottocommessa (sot+des)
- ora-ini, ora-fin, tempo (minuti), qta (ore), prezzo, valore, costo
- merce (cm), um, contatto (cnt)
Note tecniche¶
- Programma legacy con uso esteso di
GO TO,PERFORM ... THRU. Aggregazione campi "x" (es.t-gor-r-data-x,t-gor-r-tcn-x) per visualizzare i valori solo al cambio rispetto alla riga precedente (raggruppamento visivo). - Salva/Cerca filtro predefinito tramite
imppredf(al momento commentato in codice). - Cancellazione "soft" sui giornalieri: decrementa la quantita' e ricalcola valore/val-fifo; cancella la riga solo se
qta-doc = 0. - Pricing fornitore: classe merce "S" → COGS01F listino 1; altre classi → COGL61 (richiesta solo prezzo acquisto).
- Conversione divisa via COGU10 quando la valuta del listino non coincide con quella del giornaliero.