Vai al contenuto

ASN050 - Gestione contratti

Posizione nel menu 1. Assist 2.0 2. Archivio 3. Contratti 4. Gestione contratti Logica generale Questa funzione permetterà l’inserimento e la modifica di un contratto. Inoltre, dalla stessa maschera sarà possibile effettuare la fatturazione dei contratti stipulati con i clienti, impostare la cadenza delle manutenzioni programmate o i contatti con monte ore o condizioni particolari. Un contratto già agganciato a chiamata potrà essere modificabile solo in alcune parti: * Gestione tariffe particolari * Condizioni di pagamento su chiamate * Matricole collegate Maschera del programma TASTI FUNZIONE: Esc: Esce e torna nella funzione precedente F1 - configurazioni disponibili per il solo personale Eurosystem F7 - attiva il programma in modalità inserimento nuovo contratto; il cursore si posiziona sul campo Tipo contratto F9 - consente la ricerca avanzata partendo da una porzione di stringa. CAMPI DISPONIBILI: Tipo contratto:Attraverso il Tasto Funzione F8 o l’apposita icona si attiverà una ulteriore finestra contenente i “Tipi contratto” e da qui sarà possibile selezionare quello a cui si riferisce il contratto Modello contratto - Attraverso il Tasto Funzione F8 o l’apposita icona si attiverà una ulteriore finestra contenente i “Modelli contratto” e da qui sarà possibile selezionare quello a cui si riferisce il contratto A questo punto il cursore si posizionerà sul primo campo della pagina “Generale” PAGINE DISPONIBILI: 1. Generale 2. Condizioni 3. Tariffe e servizi 4. Matricole collegate 5. Muletti 6. Interventi Pagina GENERALE TASTI FUNZIONE: Esc: Esce e torna nella funzione precedente F7 - Permette di accedere ai documenti del dossier F8 - Consente di selezionare la data tramite la vista calendario F9 - Consente di effettuare la ricerca avanzata della stringa inserita nel campo sul quale si è posizionati CAMPI DISPONIBILI: Data Contratto - Data di stipula del contratto Durata mesi - durata in mesi del contratto Data inizio validità - Data inizio validità del contratto Data fine validità - Data fine validità del contratto Riferimento contratto - campo opzionale che permette di inserire il riferimento ad un contratto già in essere. Se si tratta di un contratto rinnovato, in questo campo troveremo il numero del contratto stipulato originariamente (che verrà riportato in questo campo in tutti i rinnovi successivi) Cliente di Fatturazione - Codice e descrizione del cliente di fatturazione Cliente Assistito - Codice e descrizione del cliente assistito (se il cliente assistito è collegato ad un cliente di fatturazione, il sistema compila in automatico il campo cliente di fatturazione con il cliente collegato) Tipologia fatturazione - c Contratto rinnovato - flag che indica se il contratto richiamato è stato rinnovato. Non disponibile se si sta inserendo un nuovo contratto Contratto rinnovo stagionale - flag che indica se il contratto prevede un rinnovo con cadenza stagionale. Modalità fatturazione del contratto - campo nel quale è possibile selezionare le modalità di fatturazione del contratto. Tipo attività - con il Tasto Funzione F8 o l’apposita icona si attiverà una la finestra contenente i “Tipi attività” e da qui sarà possibile selezionare quello a cui si riferisce il contratto Note contratto - Note generali del contratto Contratto disdetto - se selezionato il contratto non compare più tra i contratti da rinnovare Conferma rinnovo - Se il campo rimane vuoto significa che il contratto si rinnoverà tacitamente per un altro periodo uguale al precedente. Se il campo viene Chekkato il contratto dovrà essere riconfermato dal Cliente prima di essere rinnovato. Accetta rinnovo - se è stata richiesta la conferma di rinnovo, selezionando questo campo il sistema genererà un nuovo contratto. Riferimento contratto - In questo campo è possibile inserire un riferimento ad un numero contratto esterno. Se questo campo non viene valorizzato il programma vi inserisce il numero progressivo generato in fase di inserimento. Da fatturare - Indica se il contratto va fatturare. Per default è spuntato, quindi da fatturare. Togliere la spunta se, pur indicando importo e rate di fatturazione, il contratto non deve essere considerato in fase di fatturazione. In questo caso non verranno creati i ddt che contengono le prestazioni per la fatturazione del contratto. Pagina CONDIZIONI TASTI FUNZIONE: Esc: Esce e torna nella funzione precedente F8 - consente di selezionare il valore desiderato nel campo tabellare sul quale si è posizionati o di aprire la vista agenda per selezionare agevolmente una determinata data. S-F4 - apre la finestra amministrazione griglia Ctrl-A: permette di aggiungere alla griglia una riga per ogni modello di contratto che si desidera inserire Ctrl-E: permette di eliminare la riga sulla quale si è posizionati CAMPI DISPONIBILI: Importo contratto - Totale dell’importo del contratto Forza cond.pag.Anagr. - Se questo campo viene fleggato vengono riportate le condizioni presenti sull’anagrafica clienti nei campi Cond.pag. contratto/intervento e pagamenti. RImarrà comunque attiva la possibilità di variare una qualunque condizione valida solo per quel contratto Cond.pag.Contratto - campo mediante il quale è possibile selezionare il tipo di pagamento del contratto. Se il valore anticipato in funzione del cliente selezionato non fosse corretto sarà possibile variarlo Pagamenti - tramite il tasto funzione F8 sarà possibile selezionare le condizioni di pagamento desiderate tra quelle precedentemente configurate. Se il valore anticipato in funzione del cliente selezionato non fosse corretto sarà possibile variarlo Cond.pag.Interventi - campo mediante il quale è possibile selezionare condizioni di pagamento diverse rispetto ai contratti e specifiche per gli interventi collegati a quei contratti. Pagamenti - tramite il tasto funzione F8 sarà possibile selezionare le condizioni di pagamento desiderate tra quelle precedentemente configurate Priorità - Viene presentato il valore contenuto nel modello contratto che può essere modificato solo per quel contratto. Se il valore è significativo occorrerà inserire le date degli interventi programmati per quel contratto attraverso la 6.a Pagina “Interventi” int. programmati - flag che indica se il contratto prevede interventi programmati. Avviso al cliente - Viene presentato il valore contenuto nel modello contratto che può essere modificato solo per quel contratto. L’informazione scelta verrà proposta nell’inserimento degli interventi inerenti quel contratto. Le opzioni possono essere: * Nessun avviso al cliente * Avvisare il cliente tramite SMS * Avvisare il cliente tramite e-mail * Avvisare il cliente tramite telefonata Assicurazione: campo specifico dedicato a procedure personalizzate Compagnia assicuratrice - indica la compagnia con la quale si è stipulata l'assicurazione. Inizio validità - indica la data di inzio validità dell'assicurazione Fine validità - indica la data di fine validità dell'assicurazione GRIGLIA PARAMETRI DI FATTURAZIONE: Nella sottostante griglia “Parametri di fatturazione” dovranno essere inserite le scadenze di fatturazione del contratto. Verranno anticipati tutti i valori presenti nel modello contratto. Le colonne disponibili sono: - Data: data di creazione buono - Perc.: Percentuale della rata (se il contratto prevede una sola rata verrà inserito il valore 100) - valore rata: - Tipo pag.: - Cod.pag.: Se il valore anticipato non fosse corretto per quella rata sarà possibile variarlo - Descrizione: - Documento: In questo campo una volta generata la Bolla vengono riportati gli estremi (se questi sono presenti significa che la scadenza è già stata messa in fatturazione) - Descrizione su doc: Se viene inserito una descrizione in questo campo il contenuto genererà una riga aggiuntiva sulla fattura

Pagina TARIFFE E SERVIZI Nella pagina tariffe e servizi è possibile inserire merci o prestazioni nel contratto. Ogni riga merce o prestazione può essere trattata in vari modi attraverso il valore inserito nel campo “Servizio” e cioè: a. Dettaglio: b. Servizio, c. Tariffa. d. Dettaglio fattura La colonna "Servizio" della pagina "Tariffe/servizi" oltre ai valori attuali potrà contenere un nuovo valore: "F:Dettaglio fattura". Il contesto di questo valore è simile a "D:Dettaglio". Le righe con "F:Dettaglio fattura" saranno sommate a quelle con "D:Dettaglio" e "S:Servizio", e il valore totale dovrà corrispondere al totale da fatturare. Ci sono tuttavia le seguenti differenze: * Il contenuto della colonna "Prezzo" sarà sempre il totale della riga: sarà pero' resa visibile una nuova colonna chiamata "Prezzo unitario" (in sola lettura) che riporta "Prezzo / Qta" * Durante la creazione del ddt: * "D:Dettaglio" diventa una riga descrittiva collegata alla prestazione configurata (come ora) * "F:Dettaglio fattura" diventa una riga di ddt indipendente dalle altre, con: * Merce: la voce indicata * Qta: la quantità indicata * Prezzo: il "Prezzo unitario" ricavato da "Prezzo/qta" * Importo: il contenuto di "Prezzo" * Se è presente una riga "F:Dettaglio fattura" e non sono presenti voci con "D" né "S", la prestazione configurata non verrà aggiunta al ddt, che risulterà quindi formata dalle sole righe di "Dettaglio fattura" * In caso di più rate le singole righe di "Dettaglio fattura" verranno ripartite sulle rate con arrotondamento sull'ultima rata Se il valore è Dettaglio La prestazione con relativa quantità verrà inserita come riga aggiuntiva nel documento di fatturazione (Vedi esempio stampa documento). Se il valore è Servizio La prestazione con relativa quantità NON verrà inserita come riga aggiuntiva nel documento di fatturazione ma servirà solamente come promemoria. In ambedue i casi la sommatoria dei valori inseriti dovrà corrispondere al totale contratto. Se il valore è Tariffa, le righe con questo valore definiranno le condizioni particolari da applicare nel caso in cui le prestazioni/merci vengano utilizzate in un intervento con riferimento al contratto specifico e potranno definire: 1. Uno sconto sul listino della prestazione/merce. Se legato ad una merce si inserisce uno sconto pari al 100%, quel codice mecre/prestazione sarà "compreso" nel contratto per cui non verrà addebitato alcun importo nell'eventuale chiamata collegata al contratto. E' possibile prevedere tutte le merci e prestazioni comprese nel contratto, inserendo una riga vuota (senza nessu codice merce/prestazione collegato) mettendo 100% nella colonna sconti 2. Uno sconto + un secondo sconto sul listino della prestazione/merce 3. Un prezzo particolare per quella prestazione/merce 4. Un numero inserito nel campo quantità rappresenta totale a scalare. CAMPI DISPONIBILI: Gettone di assistenza - GRIGLIA TARIFFA E SERVIZI: Nella griglia tariffa e servizi è possibile dettagliare le prestazioni e le merci da utilizzare nel contratto che si sta inserendo o modificando. Per ogni merce e prestazione sarà quindi possibile indicare quantità e prezzo. Le colonne disponibili sono: - Codice interno - Descrizione merce - Quantità - Q.ta usata - Prezzo - Sconto 1 - Sconto 2 - Servizio (Esempio stampa documento) Pagina MATRICOLE COLLEGATE Nella pagina “matricole collegate” è possibile inserire tutte le matricole delle macchine/attrezzature da includere nel contratto. Se il contratto non risulta essere collegato a nessun cliente assistito sarà possibile scegliere liberamente le matricole. Diversamente l'utente potrà scegliere solamente tra le matricole collegate a quello specifico cliente assistito. TASTI FUNZIONE: Esc: Esce e torna nella funzione precedente F3 - consente di salvare le modifiche apportate F5 - consente di importare le matricole base di un cliente (che non sono figlie di un impianto) F6 - innesco programma gestione matricola Sh-F7 in caso di configurazione "Fatturazione Matricola" innesca il dettaglio DDT collegati alla matricola F7 - permette di importare da un file di excel un le matricole F9 - ricerca avanzata S-F4 - apre la finestra amministrazione griglia Ctrl-A: permette di aggiungere alla griglia una riga per ogni modello di contratto che si desidera inserire Ctrl-E: permette di eliminare la riga sulla quale si è posizionati GRIGLIA MATRICOLE COLLEGATE: Nella griglia “matricole collegate” dovranno essere inserire le matricole collegate al contratto e saranno evidenziati il cliente assistito e la destinazione diversa di ciascuna matricola. Tramite il tasto funzione Ctrl-A verrà quindi aggiunta una nuova linea alla griglia e il cursore si posizionerà nel primo campo "Serial Number". Mediante il tasto funzione F9 di ricerca avanzata sarà quindi possibile aprire il programma "Consultazione impianti e matricole" e cercare/selezionare la matricola da includere nel contratto. Le colonne riportate nella tabella saranno quindi: - Serial number - Matricola - Tipo - Descrizione - Marca - Descrizione - Modello Pagina MULETTI (procedura personalizzata non disponibile a tutti i clienti) Nella pagina “Muletti” viene inserito il riferimento alla macchina che verrà inviata o utilizzata in sostituzione di quella guasta. TASTI FUNZIONE: ESC - Esce e torna nella funzione precedente F3 - consente di salvare le modifiche apportate F9 - ricerca avanzata S-F4 - apre la finestra amministrazione griglia Ctrl-A - permette di aggiungere alla griglia una riga per ogni modello di contratto che si desidera inserire Ctrl-E - permette di eliminare la riga sulla quale si è posizionati GRIGLIA MULETTI: Nella griglia “muletti” dovranno essere inserire le matricole che verranno inviate o utilizzate in sostituzione di quella guasta. Tramite il tasto funzione Ctrl-A verrà quindi aggiunta una nuova linea alla griglia e il cursore si posizionerà nel primo campo "Serial Number". Mediante il tasto funzione F9 di ricerca avanzata sarà quindi possibile aprire il programma "Consultazione impianti e matricole" e cercare/selezionare la matricola da inserire come muletto nel contratto. Le colonne riportate nella tabella saranno quindi: - Serial number - Matricola Pagina INTERVENTI Se nella pagina Condizioni è stato spuntato il campo “Int. Programmati” sarà possibile definire la cadenza delle prestazioni da eseguire e generare le relative chiamate da assegnare. TASTI FUNZIONE: Esc: Esce e torna nella funzione precedente F8 - consente di selezionare il valore desiderato nel campo tabellare sul quale si è posizionati o di aprire la vista agenda per selezionare agevolmente una determinata data. S-F4 - apre la finestra amministrazione griglia Ctrl-A - permette di aggiungere alla griglia una riga per ogni modello di contratto che si desidera inserire Ctrl-E - permette di eliminare la riga sulla quale si è posizionati CAMPI DISPONIBILI: - oggetto chiamate: oggetto della chiamata di assistenza che sarà generata dal contratto se abilitato l'intervento programmato nella schermata condizioni - descrizione chiamate: descrizione della chiamata di assistenza che sarà generata dal contratto se abilitato l'intervento programmato nella schermata condizioni GRIGLIA INTERVENTI: Nella griglia interventi sarà possibile inserire le prestazioni collegate all'intervento programmato che si sta inserendo. A seconda della configurazione verranno poi riportate o tutte le chiamate previste dal contratto o solamente il primo intervento (le altre chiamate programmate verranno infatti create una volta eseguita la prima).

CONTRATTO TIPO ANNUALE Quando il nuovo flag (ASNCNTIP_acnp-contratto-annuale) vale "S" si imposta il tipo contratto da gestire in questa nuova modalità; Il Rinnovo per questi contratti consiste nell' allungare la data fine contratto in base al numero dei mesi e creando le nuove rate di fatturazione in automatico senza chiudere il contratto ed inserirne uno nuovo ; inoltre non verra' innescata la creazione della chiamata programmata (configurazione tipo "B") in quanto per i contratti di questo tipo ("Contratto Annuale") quando si chiude un intervento (ASN140) in caso di configurazione "B" verra' creata la chiamata successiva anche se oltre la data scadenza contratto; * ASN050: Gestione contratti * Tab Generale : Per questi contratti 'Durata mesi', 'Data inizio validità' e 'Data fine validità' devono essere svincolati da controlli * Tab Condizioni : * Importo contratto dovrà essere "Importo contratto annuale" * Aggiunto campo per richiesta mesi fatturazione * Disabilitare automatismo cadenze rate sia "Rateizzazione automatica" che "Calcolo date di competenza" per questi tipi contratto * Le rate non potranno essere a percentuale * Il totale del valore delle rate non deve avere controlli vincolanti con l'importo contratto annuale * in fase d'inserimento dopo aver messo la prima rata proporre in automatico le rate successive con t.f. in base al numero mesi e data fine validità successive

Gestione licenze software Le licenze software vengono gestite come matricole generiche: saranno aggiunte alla griglia matricole, e trattate nell'ambito dei contratti con fatturazione "a matricola", ma non alcune differenze significative: la differenza fondamentale è che la quantità fatturabile cambia nel tempo, attraverso movimenti di aumento o diminuzione che verranno inseriti in un apposito programma di gestione che viene innescato dalla riga "matricola". I dati vengono memorizzati nella tabella ASNCNMTV, e da qui vengono generati i movimenti fatturabili su ASNCNMTF. Inizio del programma Definire una tabella temporanea il cui tracciato corrisponde alla tabella ASNCNMTV, che per comodità chiamero' T-ASNCNMTV (usare la sintassi copy replacing): la tabella dovrà essere inizializzata all'inizio di questo programma. Se si richiama un contratto in gestione, caricare di dati di ASNCNMTV sulla tabella T-ASNCNMTV, tramite start su ASNCNMTV con:

Dato Contenuto
AMTV-ID-CONTRATTO Id contratto in elaborazione

Per ciascun record trovato caricare il file

Dato Contenuto
T-AMTV-ID-CONTRATTO 0
T-AMTV-ACNC-PROG AMTV-ACNC-PROG
T-AMTV-RIGA AMTV-RIGA
T-AMTV-DATA-RICHIESTA AMTV-DATA-RICHIESTA
T-AMTV-DATA-INIZIO AMTV-DATA-INIZIO
T-AMTV-QTA AMTV-QTA
T-AMTV-DATA-VALUTA AMTV-DATA-VALUTA
T-AMTV-TIPO-RICHIESTA AMTV-TIPO-RICHIESTA
T-AMTV-ID-RICHIESTA AMTV-ID-RICHIESTA
T-AMTV-PERSONA AMTV-PERSONA
T-AMTV-AMTF-RIGA AMTV-AMTF-RIGA
T-AMTV-FL-CANC AMTV-FL-CANC

Maschera del programma Nella pagina 4, griglia "matricole", se * la matricola scelta è di tipologia tipo-mtr-licenze-sw * Il contratto è con fatturazione "A matricola" si potrà attivare un t.f. con cui effettuare la chiamata a ASN05D:

Dato Contenuto
ASN05D-ID-CONTRATTO 0
ASN05D-NOME-TMP None del file temporaneo T-ASNCNMTV
ASN05D-RIGA Il riferimento alla riga da elaborare (ACNC-PROG)
ASN05D-ID-MTR Id matricola

All'uscita del programma, se l'utente ha aggiornato, la tabella T-ASNCNMTV conterrà i dati dei movimenti relativi alla riga elaborata. Aggiornamenti In fase di aggiornamento, scorrere il contenuto di T-ASNCNMTV; per ciascun record letto leggere il corrispondente record di ASNCNMTV ed effettuare le seguenti valutazioni: A - Aggiornamenti su ASNCNMTV In fase di aggiornamento, scorrere il contenuto di T-ASNCNMTV; per ciascun record letto leggere il corrispondente record di ASNCNMTV ed effettuare le seguenti valutazioni:

T-ACMV-FL-CANC ASNCNMTV esiste? Operazione
" " No Inserimento record su ASNCNMTV
"C" No Nessuna operazione
" "
"C"
Si Se almeno uno dei dati è diverso, aggiornare, altrimenti nessuna operazione

L'inserimento e la variazione del record sono una semplice copia dei campi da una tabella all'altra. B - Aggiornamenti su ASNCNMTF A seconda dell'operazione fatta, si potranno effettuare aggiornamenti anche su ASNCNMTF B.1. Inserimento riga su ASNCNMTV B.1.1 Primo record "movimento" per la riga (primo assoluto o primo "non cancellato") Si dovrà inserire un record su ASNCNMTF di tipo "Saldo":

Campo Contenuto
AMTF-ID-CONTRATTO AMTV-ID-CONTRATTO
AMTF-ACNC-PROG AMTV-ACNC-PROG
AMTF-RIGA 1
AMTF-TIPO "S"
AMTF-DATA-COMPETENZA AMTV-DATA-VALUTA
AMTF-DATA-INIZIO AMTV-DATA-VALUTA
AMTF-DATA-FINE La data fine del successivo periodo di fatturazione per il cliente (dipende quindi dalla periodicità)
AMTF-QTA \= AMTF-QTA movimento di saldo precedente + AMTV-QTA
In questo caso AMTV-QTA
AMTF-GIORNI Il numero di giorni viene sempre calcolato tra AMTF-DATA-INIZIO e AMTF-DATA-FINE:

AMTF-IMPORTO \= AMTF-QTA * tariffa_mensile * AMTF-GIORNI/30
AMTF-AMTV-RIGA AMTV-RIGA
AMTF-MAG-CHIAP Vuoto

Dopo questa attività aggiornare AMTV-AMTF-RIGA = AMTF-RIGA B.1.2 - Record "movimento" successivo Si dovrà inserire un record su ASNCNMTF di tipo "Variazione":

Campo Contenuto
AMTF-ID-CONTRATTO AMTV-ID-CONTRATTO
AMTF-ACNC-PROG AMTV-ACNC-PROG
AMTF-RIGA Ultima riga + 1
AMTF-TIPO "V"
AMTF-DATA-COMPETENZA AMTV-DATA-VALUTA
AMTF-DATA-INIZIO AMTV-DATA-VALUTA
AMTF-DATA-FINE La data fine del successivo periodo di fatturazione per il cliente (dipende quindi dalla periodicità)
AMTF-QTA \= AMTV-QTA
AMTF-GIORNI Il numero di giorni viene sempre calcolato tra AMTF-DATA-INIZIO e AMTF-DATA-FINE:

Caso particolare:

AMTF-IMPORTO \= AMTF-QTA * tariffa_mensile * AMTF-GIORNI/30
AMTF-AMTV-RIGA AMTV-RIGA
AMTF-MAG-CHIAP Vuoto

Dopo questa attività aggiornare AMTV-AMTF-RIGA = AMTF-RIGA Si dovrà poi modificare il record "Saldo" ancora aperto su ASNCNMTF: cercarlo facendo una start a ritroso partendo dall'ultimo record per la riga: si dovrà trovare un record con: * AMTF-TIPO = "S" * AMTF-MAG-NUM = 0 una volta trovato effettuare la modifica:

Campo Contenuto
AMTF-QTA \= AMTF-QTA + AMTV-QTA
AMTF-IMPORTO \= AMTF-QTA * tariffa_mensile * AMTF-GIORNI/30

Caso particolare: il movimento inserito è una diminuzione, che porta la quantità totale = 0: in questo caso il record ASNCNMTF di "Saldo" dovrà essere cancellato logicamente, quindi si imposterà anche:

Campo Contenuto
AMTF-FL-CANC "C"

B.2 - Cancellazione logica su ASNCNMTV Alla cancellazione logica di un movimento, si dovrà cancellare logicamente anche i movimenti da fatturare; Cercare quindi il record collegato:

Campo Contenuto
AMTF-ID-CONTRATTO AMTV-ID-CONTRATTO
AMTF-ACNC-PROG AMTV-ACNC-PROG
AMTF-RIGA AMTV-AMTF-PROG

Effettuare quindi la cancellazione logica del record, impostando

Campo Contenuto
AMTF-FL-CANC "C"

Quindi, se i record collegato è di tipo "Saldo" (AMTF-TIPO = 'S'), significa che è stato cancellato il primo movimento. Se invece è di tipo "Variazione" (AMTF-TIPO = 'V') allora si dovrà cercare il record "Saldo" ancora aperto su ASNCNMTF: cercarlo facendo una start a ritroso partendo dall'ultimo record per la riga: si dovrà trovare un record con: * AMTF-TIPO = "S" * AMTF-MAG-NUM = 0 una volta trovato effettuare la modifica:

Campo Contenuto
AMTF-QTA \= AMTF-QTA - AMTV-QTA
AMTF-IMPORTO \= AMTF-QTA * tariffa_mensile * AMTF-GIORNI/30

Se la quantità risultante AMTF-QTA diventa 0, effettuare la cancellazione logica, quindi

Campo Contenuto
AMTF-FL-CANC "C"

NB: questi ragionamenti vengono fatti dando per scontato che il programma di gestione ASN05D abbia fatto i controlli corretti, impedendo cioè di cancellare o modificare movimenti già "fatturati". B.3 - Modifica su ASNCNMTV In caso di modifica di un movimento, si dovrà procedere a: * B.3.1 - Modifica movimento di fatturazione collegato * B.3.2 - Modifica/cancellazione logica "Saldo" B.3.1 - Modifica movimento collegato Cercare quindi il record collegato:

Campo Contenuto
AMTF-ID-CONTRATTO AMTV-ID-CONTRATTO
AMTF-ACNC-PROG AMTV-ACNC-PROG
AMTF-RIGA AMTV-AMTF-PROG

Effettuare quindi la modifica dei dati:

Campo Contenuto
AMTF-DATA-COMPETENZA AMTV-DATA-VALUTA
AMTF-DATA-INIZIO AMTV-DATA-VALUTA
AMTF-DATA-FINE La data fine del successivo periodo di fatturazione per il cliente (dipende quindi dalla periodicità)
AMTF-QTA \= AMTF-QTA + differenza tra qta precedente e attuale
AMTF-GIORNI Il numero di giorni viene sempre calcolato tra AMTF-DATA-INIZIO e AMTF-DATA-FINE:

Caso particolare:

AMTF-IMPORTO \= AMTF-QTA * tariffa_mensile * AMTF-GIORNI/30

B.3.2 - Modifica/cancellazione logica saldo Quindi, se i record collegato è di tipo "Saldo" (AMTF-TIPO = 'S'), significa che è stato modificato il primo movimento. Se invece è di tipo "Variazione" (AMTF-TIPO = 'V') allora si dovrà cercare il record "Saldo" ancora aperto su ASNCNMTF: cercarlo facendo una start a ritroso partendo dall'ultimo record per la riga: si dovrà trovare un record con: * AMTF-TIPO = "S" * AMTF-MAG-NUM = 0 una volta trovato effettuare la modifica:

Campo Contenuto
AMTF-QTA \= AMTF-QTA + differenza tra qta precedente e attuale
AMTF-IMPORTO \= AMTF-QTA * tariffa_mensile * AMTF-GIORNI/30

Se la quantità risultante AMTF-QTA diventa 0, effettuare la cancellazione logica, quindi

Campo Contenuto
AMTF-FL-CANC "C"

NB: questi ragionamenti vengono fatti dando per scontato che il programma di gestione ASN05D abbia fatto i controlli corretti, impedendo cioè di cancellare o modificare movimenti già "fatturati". C - Casi particolari C.1 - Cancellazione matricola Una matricola non può essere cancellata dal contratto, se ci sono movimenti attivi non cancellati al di sotto di essa. Per cancellarla è necessario cancellare prima i movimenti, quando possibile cioè se non fatturati, poi cancellare la matricola. In questo caso sarà effettuata la cancellazione logica dei record ASNCNMTV e ASNCNMTF al di sotto della riga. C.2 - Aggiunta di nuove matricole Quando si attribuisce il nuovo progressivo di riga, si deve controllare che non esistano già movimenti presenti al di sotto (vedi il punto C.1)

Questo è necessario perchè su ASNCNMTR non c'è lo spazio fisico per gestire il flag di cancellazione logica. C.3 - Modifica tariffa Su una riga già esistente si effettua la modifica della tariffa. Anche senza fare ulteriori movimenti sulle movimentazioni, si dovrà effettuare il ricalcolo degli importi sui movimenti di fatturazione ancora aperti e aggiornare quindi l'importo da fatturare. Scorrere ASNCNMTF per il contratto:

Campo Contenuto
AMTF-ID-CONTRATTO Contratto in elaborazione
AMTF-ACNC-PROG Progressivo di riga in elaborazione

Considerare le righe che hanno: * AMTF-FL-CANC <> "C" * AMTF-MAG-NUM = 0 Su questa riga ricalcolare:

Campo Contenuto
AMTF-IMPORTO \= AMTF-QTA * tariffa_mensile * AMTF-GIORNI/30

Aggiornare la riga solo se il dato risulta essere diverso dal precedente