Gestione delle formule in budget/consuntivi | |||
Per gestire le formule è necessario gestire i preventivi. Le formule si appoggiano ad una classe/dll (BECXFORM.DLL) che potrà essere ereditata e poi mappata tramite DLLMAP.INI per poter essere integrata con nuove funzionalità o sostituzione di funzioni esistenti precablate (vedi costo del venduto). Logica di funzionamento In schemi budget verrà memorizzato il nome della funzione che identifica la formula, con l'apposita voce di menu 'CALCOLA FORMULE' una elaborazione provvederà a calcolare le formule per i dati a preventivo e consuntivo. La funzione chiamerà BECXFORM passandogli un datatable che ha la stessa struttura della tabella cabudget, con compilati tutti i campi relativi al budget in elaborazione (identificativo schema budget, centro, linea, commessa, articolo, ...., mese), un flag che identifica se la funzione dovrà elaborare dati per un PREVENTIVO o un CONSUNTIVO e una stringa di parametri libero per gli usi più disparati. In uscita ritornerà lo stesso datatable con compilati quantità e valore. All'interno della funzione potranno essere eseguite le query più disparate ... (su movmag, lavcent, ecc...). Quantità e valori di ritorno verranno memorizzati nei dati a preventivo e potranno essere utilizzati nei calcoli delle colonne totali e/o base di ribaltamento. L'elaborazione massiva potrà essere eseguita dal programma dei ribaltamenti, dove è presente un nuovobottone 'Calcola formule sui budget'. Questa funzionalità lancia l'elaborazione massiva di tutte le formule indicate nei budget, ma prima di effettuare il calcolo delle formule verifica ed eventualmente crea i budget per centro/linea/commessa/divisione/stabilimento/articolo (solo ultima fase)/cliente se mancantie che nel relativo schema budgetpresenta almeno una formula da valutare. I risultati sono memorizzati nella tabella dei budget nelle colonne 'Formule per budget' e/o 'Formule per consuntivo'. Il nome della formula è lo stesso sia per il preventivo che per il consuntivo. Il risultato dell'elaborazione sul consuntivo verrà memorizzato nei budget (cabudget) nelle colonne del consuntivo, mentre i dati del preventivo verranno memorizzati nelle colonne del preventivo. NB: i nomi delle formule DEVONO ESSERE SCRITTI SEMPRE IN MAIUSCOLO, sia in impostazione schemi budget che in scrittura routine nell'entity di BECXFORM (o entità ereditati). Le funzioni che calcolano le formule devono avere una chiamata come quella seguente:
Formula standard COSTO_DEL_VENDUTO Aaccetta in input il tipo di valorizzazione il tipo di costo da utilizzare ed il codice voce del budget di tipo 'Ricavo' su cui calcolare il costo del venduto (nell'esempio sopra viene calcolato l'ultimo costo della voce budget 'Z1', ovvero 'Ricavi vendite prodotti'). Questa formula può essere utilizzata solo per dati a consuntivo. Questa formula non può essere utilizzata per budget di tipo 'gruppo di aziende' e/o 'raggruppamento budget', visto che lavora filtrando la ditta in elaborazione. La procedura provvede a leggere i movimenti di contabilità analitica con conti di CADC utilizzati SOLO per le vendite, per determinare la quantità venduta e per ogni articolo calcola il costo in base al sistema di valorizzazione richiesto. NB: va impostato correttamente lo schema budget per fare in modo che il record dei ricavi da utilizzare come voce parametro da passare alla COSTO_DEL_VENDUTO nell'esempio 'Z1', sia collegato a sottoconti utilizzati SOLO per rilevare ricavi e storni di ricavo!!! Non opera correttamente se i sottoconti collegati alla voce budget sono gestiti a 'Periodo competenza economica'. Come tipo di valorizzazione (NumList=) sono ammessi i seguenti valori:
Calcolo delle formule Nella nuova CADC il calcolo delle formule avviene solo per centri, linee, commesse, articoi, clienti, ... per i quali era stato creato un budget. Da programma Genera ribaltamenti budget/consuntivi in automatico vengono creati i budget a partire dagli schemi budget di CADC per centri, linee, commess, ecc... mancanti se nello schema budget a cui dovrebbero essere collegati è presente almeno una formula. Attenzione:
Chiarimento: le formule possono attingere dati dal database, ma non possono utilizzare i totali calcolati al volo durante l'elaborazione di budget/consuntivi di CA DC e/o ribaltamenti. Inoltre, per chiarezza, per lanciare l'elaborazione delle formule è presente un comando sulla toolbar di Genera ribaltamenti budget/consuntivi. |