Vai al contenuto

COGK38 - Inserimento Ricevute Centro Revisioni

Descrizione

Programma per l'inserimento di ricevute fiscali e fatture immediate nell'ambito della procedura Centro Revisioni. Gestisce testata documento (intestatario officina o proprietario, targa, tipo documento, omaggio) e righe prestazioni (codice, descrizione, importo, IVA). Al salvataggio crea il documento su COGREVIS, genera il movimento su COGMOMAG e la testata su COGTESBO. Supporta importazione dati da file esterno MCTC (motorizzazione civile).

Tabelle utilizzate

Tabella Accesso Descrizione
COGGEANA Lettura Anagrafica clienti/fornitori (intestatario e proprietario)
COGMERCI Lettura Anagrafica merci/prestazioni
COGTESBO Lettura/Scrittura Testate documenti di vendita
COGMOMAG Lettura/Scrittura Movimenti di magazzino/contabili
COGREVIS Lettura/Scrittura Archivio ricevute revisioni
COGAPPOG Lettura/Scrittura Dati di appoggio clienti (revisioni omaggio, tipo stato)
COGDESAG Lettura Descrizioni aggiuntive merci
COGTABEL Lettura Tabelle di configurazione (aliquote IVA, tipo 67)
FEURTAB Lettura Tabella file euro/percorsi
IMPORT Lettura (opt) File importazione dati intestatario (line-sequential, 100 car.)
MCTC-FILE Lettura (opt) File dati MCTC motorizzazione civile (line-sequential, 300 car.)

Struttura dati maschera (tab-maschera)

La struttura tab-maschera raccoglie tutti i dati della testata: - tm-tipobolla: tipo bolla (fisso 'D' = documento revisioni) - tm-tipo-ana: tipo anagrafica cliente ('C' = cliente) - tm-cau: causale documento (1) - tm-intestatario: dati dell'intestatario (codice, nome, indirizzo, PIVA, CF, flag inserimento) - tm-proprietario: dati del proprietario del mezzo - tm-data: data documento (AAAAMMGG) - tm-tipo-doc: tipo documento ('S' = ricevuta+fattura, 'F' = fattura immediata, 'R' = ricevuta fiscale) - tm-targa: targa veicolo (15 car., forzata uppercase) - tm-omaggio: flag omaggio ('D' = da fatturare, 'O' = omaggio) - tm-app-nr-rev: numero revisioni omaggio dal COGAPPOG - tm-nr-rev-fatte: revisioni gia' effettuate

Le righe prestazioni sono in tm-righe (array 100 elementi): - tm-prest: codice prestazione (gru+sot, 4 car.) - tm-cod: codice articolo (da cogmerci) - tm-um: unita' di misura - tm-des1, tm-des2: descrizione riga 1 e 2 - tm-impo: importo (9(12)v999999) - tm-iva: codice IVA - tm-ali: aliquota IVA (da COGTABEL tipo 67) - tm-art: articolo esenzione - tm-con: codice contratto

Flusso di elaborazione

Inizializzazione (a000)

  1. Verifica abilitazione operatore (ctr-abil).
  2. Apertura file tramite feurtab.
  3. Lettura dati azienda (rd-azi).
  4. Caricamento maschera in memoria (rd-msk-all).
  5. Lettura divisa di conto via UTILU10 (operazione GetDivisaConto).

Acquisizione testata (a4 → a10 → a25 → a30 → a60)

a4 - Reset: inizializzazione tab-maschera e tm-righe, data proposta da sistema, tipo-ana = 'C', tipo-bolla = 'D', causale = 1.

a10 - Intestatario: - Input: codice cliente (accept su tm-cli-i) oppure nome per ricerca. - F5: inserimento nuova anagrafica (x1-ins-intest). - F7: ricerca per targa (x7-ric-targa). - Se codice > 0: lettura rd-coggeana, compilazione campi anagrafica. - Determinazione tipo intestatario: codice < 1000 o = 1180 o app-tip-stt = "OF" → Officina; altrimenti Proprietario. - Lettura COGAPPOG per revisioni omaggio (app-n-rev-omaggio); se > 0, conteggio revisioni gia' fatte (x6-conta-rev).

a25 - Proprietario: stessa logica di a10, validazione codice >= 1000.

a30 - Data documento: input via COGS52 (calendario).

a40 - Tipo documento: selezione via COGS60 (lista opzioni). Per officina: Ricevuta Fiscale / Fattura Immediata. Per proprietario: Ricevuta+Fattura / Fattura Immediata. Avviso se fattura e PIVA assente.

a50 - Targa: input libero, forzato uppercase, obbligatorio.

a60 - Omaggio: visibile solo se w-fl-oma = "O"; selezione Da Fatturare / Omaggio via COGS60.

Acquisizione righe prestazioni (b-00 → b-10 → b-50)

Loop su i (1..100), j (posizione display 1..t-length):

  • b-10: input codice prestazione (tm-prest(i), gru+sot 4 car.); F8 = ricerca via UTILWK32; F3 = salva; F5 = cancella riga.
  • Lettura COGMERCI per il codice gru+sot+cod=0 (cerca la prima merce del gruppo/sottogruppo).
  • Lettura COGDESAG (tipo "M", prog 1 e 2) per descrizioni.
  • Lettura COGTABEL tipo 67 per aliquota IVA.
  • b-20: input tm-des1(i) (descrizione prima riga, obbligatoria).
  • b-30: input tm-des2(i) (descrizione seconda riga).
  • b-40: input importo via UTILU10.
  • b-50: input codice IVA; F8 = ricerca via UTILW11; verifica esistenza in COGTABEL tipo 67.
  • Se tm-art(i) != 0: IVA forzata a "ES", aliquota a zero.

Controlli pre-salvataggio (b-90)

  • Scansione tutte le righe: verifica almeno un importo significativo (w-fl-impo) e almeno una descrizione (w-fl-des).
  • Richiesta conferma finale (acc-conf, F3).

Salvataggio (c-aggiorna)

  1. Se tm-fl-ins-i = "I": inserimento nuova anagrafica intestatario in COGGEANA e COGAPPOG.
  2. Se tm-fl-ins-p = "I": inserimento nuova anagrafica proprietario.
  3. Generazione numero progressivo ricevuta (w-nr-rev).
  4. Scrittura record su COGREVIS.
  5. Scrittura testata documento su COGTESBO.
  6. Scrittura movimenti su COGMOMAG (una riga per ogni prestazione valorizzata).
  7. Aggiornamento contatore revisioni su COGAPPOG.

Importazione MCTC

Il programma supporta l'importazione automatica dei dati dell'intestatario da file MCTC (motorizzazione civile). Il file e' line-sequential, record 300 caratteri. La funzionalita' e' attivabile tramite parametro al richiamo.

Importazione da file esterno (IMPORT)

File line-sequential 100 caratteri, con CAP in posizione 1-5 (ridefinizione w-import-rec-r1) o PIVA in posizione 1-11 (ridefinizione w-import-rec-r2). Utilizzato per precompilare i dati dell'intestatario.

Subroutine chiamate

Subroutine Scopo
COGS52 Input data con calendario
COGS60 Selezione da lista opzioni
COGS22 (indiretto) Ricerca merci/anagrafiche
UTILWK32 Ricerca codice prestazione
UTILW06 Ricerca anagrafica per nome
UTILW11 Ricerca codice IVA
UTILU10 Input/display valori in divisa
UTILP41 Gestione stampa
UTILS04, UTILS25, UTILS43, UTILS44, UTILS52, UTILS60, UTILS65 Utility varie
UTILV53 Utility verifica codice fiscale (utils util-e05)

Note implementative

  • Il programma e' richiamato con linkage utils01, utilv52, wcont1 (contiene stringhe).
  • w-fl-oma viene impostato a "O" da logica esterna (es. configurazione azienda o parametro) per abilitare la gestione omaggio.
  • La maschera e' definita inline come array di 25 righe x 80 colonne (mm-1 / mm-1-r) — interfaccia testuale, non GUI.
  • Il contatore w-nr-rev (tm-app-nr-rev, tm-nr-rev-fatte) gestisce il ciclo delle revisioni omaggio: viene incrementato su COGAPPOG ad ogni salvataggio.
  • La dimensione massima della griglia prestazioni e' 100 righe (t-size = 100); t-start = 15 (riga schermo di inizio griglia); t-length = 4 (righe visibili).
  • Codici speciali officina: anagrafica con codice < 1000, o codice = 1180, o app-tip-stt = "OF" vengono trattati come officina (tipo 'O'); gli altri come proprietario (tipo 'P').