Autore Topic: Calcoli per gestione fatture  (Letto 3998 volte)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Calcoli per gestione fatture
« il: 30 Giugno 2009, 21:06:35 »
Salve a tutti,
Ho un form con una GridView dove inserisco le righe della fattura, e tutti i campi che servono per tale documento, la GridView ha le seguenti colonne:

N.Riga
Codice Articolo
Descrizione
Quantità
Prezzo Unitario
Totale Riga
Aliquota IVA

Ovviamente la colonna Aliquota IVA può contenere diverse aliquote (20, 4, 10),
mi servirebbe un'idea per come impostare il calcolo del totale imponibile per aliquota iva.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Calcoli per gestione fatture
« Risposta #1 il: 30 Giugno 2009, 21:40:57 »
Premetto che non me ne intendo:

In base a cosa cambia l'aliquota? Come si calcola? Se me lo dici posso aiutarti..

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Calcoli per gestione fatture
« Risposta #2 il: 30 Giugno 2009, 22:35:37 »
I prezzi unitari sono con l'Iva inclusa o esclusa?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Calcoli per gestione fatture
« Risposta #3 il: 30 Giugno 2009, 22:41:57 »
io in un mio gestionale scorrevo la "lista" dei vari importi usando tre variabili (una per ogni aliquota)a cui sommavo il valore imponibile in base all' iva

in questo modo avevo tre valori di imponibile da cui ricavavo tre valori di iva e poi sommavo il tutto per avere il totale

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Calcoli per gestione fatture
« Risposta #4 il: 30 Giugno 2009, 22:43:49 »
per chi non lo sa l' importo dell' iva si calcola così:


iva=imponibile*aliquota/100

importo iva compresa = imponibile+iva

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Calcoli per gestione fatture
« Risposta #5 il: 30 Giugno 2009, 22:49:34 »
Siccome io amo creare il minor numero di variabili, mi chiedevo: non è meglio creare una sola variabile di nome "aliquota" e poi assegnare uno dei tre valori in base alle condizioni che si presentano?

Codice: [Seleziona]

SELECT CASE condizione
  CASE condizione1
    aliquota = 4
  CASE condizione2
    aliquota = 10
  CASE condizione3
    aliquota = 20
END SELECT

    iva = imponibile * aliquota / 100
    imposto_con_iva = imponibile + iva


Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Calcoli per gestione fatture
« Risposta #6 il: 30 Giugno 2009, 23:38:44 »
Se vendi solo un tipo di merce sì, altrimenti non funziona.

Se sei un grossista potresti avere le 3 aliquote IVA, allora dovresti comunque prevederne il trattamento perché in fattura dovresti avere la colonna IVA per l'aliquota, poi 3 caselle per gli imponibili, 3 caselle per i totali IVA e la casella finale per il totale ultimo.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Calcoli per gestione fatture
« Risposta #7 il: 30 Giugno 2009, 23:56:55 »
Citazione
In base a cosa cambia l'aliquota? Come si calcola? Se me lo dici posso aiutarti..


L'aliquota dipende dalla tipologia merceologica che si vende, per esempio :

Rotoli filo elettrico = 20%
Pellets per stufe = 10%
ect..
E poi ci sono le riduzioni iva per legge:
portatori di handicap, materiali per costruzione prima casa ed altri casi, tenete presente che esiste anche il caso di Esenzione IVA (Iva = 0).

Insomma la variabilità delle aliquote iva sono molto frequenti per chi fà commercio ed un gestionale deve prevedere questo tipo di gestione.

Per quanto riguarda il calcolo lo ha esposto correttamente fsurfing.

I prezzi esposti nella GridView sono tutti al netto di Iva (Iva eslusa).

Il problema principale che incontro per fare i calcoli e che quando inserisco le righe nella GridView le aliquote si possono trovare non in modo consecutivo
20
20
10
4
20

quindi presumo che si dovrebbero fare al di fuori delle possibilità delle proprietà della GridView, avevo pensato anche ad una Classe, ma non so come approcciare la "cosa", ed è qui la mia difficoltà.

Il risultato finale sarà quello esposto da leo, diciamo che tre aliquote dovrebbero coprire la maggior parte dei casi in base alla mia esperienza.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Calcoli per gestione fatture
« Risposta #8 il: 01 Luglio 2009, 00:14:49 »
tu puoi semplicemente scorrere la tabella record per record

se l'iva è al 4  sommi l' imponibile corrispondente al sommatore dell' iva al 4 % e così via

ti faccio un esempio

Codice: [Seleziona]

dim hres as result
dim somma4 as float
dim somma10 as float
dim somma20 as float

...

...


for each hres

   if hres!iva="4" then somma4=somma4+hres!imponibile
   
   if hres!iva="10" then somma10=somma10+hres!imponibile

   if hres!iva="20" then somma20=somma20+hres!imponibile

next



nell esempio i valori sono prelevati da un result di una query di un db
ma il succo è lo stesso

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Calcoli per gestione fatture
« Risposta #9 il: 01 Luglio 2009, 00:43:43 »
Uhmmm...così sono costretto ad impostare una variabile per ogni aliquota iva possibile, e non sono poche.
Tieni presente anche il fatto che la tabella iva che ho sul DB e suscetibile di modifiche, perchè magari il fisco ha deciso una nuova imposta o ne ha modificato altre, quindi devo poter modificare la tabella senza toccare i calcoli.

Credo che non sia l'approccio giusto, aspetto altri suggerimenti.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Calcoli per gestione fatture
« Risposta #10 il: 01 Luglio 2009, 08:19:18 »
Posto una routine di calcolo in VB6 che ho realizzato tempo fa:
Funziona a condizione che le righe di dettaglio della fattura
siano memorizzate sul database, in pratica ho costruito una query
(interrogazione) sul db che mi restituisce una riga per ogni aliquota iva
utilizzata nella fattura.
Utilizza 2 tabelle:
1) tabelle Righe (sono le righe di dettaglio della fattura, IdOP è l'indice
identificativo della fattura)
2) tabella Aliquote (tabella delle aliquote IVA)

Public Sub CaricaRiepilogoIVA()
     Dim timp As Currency      'variabile  TotaleImponibile
     Dim tiva As Currency      'variabile TotaleIVA
     Dim db As ADODB.Connection
     Dim adoRS As ADODB.Recordset
     Dim SQL As String
     Set db = New ADODB.Connection
     db.ConnectionString = "PROVIDER=........."
     db.Open
     Set adoRS = New ADODB.Recordset
     adoRS.CursorType = adOpenKeyset
     adoRS.LockType = adLockOptimistic
     SQL = SQL & "SELECT Sum(Righe.ImportoNettoIva) AS SommaDiImporto, "
     SQL = SQL & "Righe.IdAlq, Aliquote.TestoAlq, Aliquote.ValoreAlq, "
     SQL = SQL & "Sum([ImportoNettoIva])*[ValoreAlq]/100 AS Imposta "
     SQL = SQL & "FROM Righe INNER JOIN Aliquote ON Righe.IdAlq = Aliquote.IdAlq "
     SQL = SQL & "Where (((Righe.IdOP) =" & lblIdOP & ")) "
     SQL = SQL & "GROUP BY Righe.IdAlq, Aliquote.TestoAlq, Aliquote.ValoreAlq;"
     adoRS.Open SQL, db, , , adCmdText
     With adoRS
         timp = 0
         tiva = 0
         Do While Not .EOF
               timp = timp + !SommaDiImporto
               tiva = tiva + !Imposta
              .MoveNext
         Loop
     End With
     adoRS.Close
     Set adoRS = Nothing
     db.Close
     Set db = Nothing
     lblTotaleImponibile.Caption = Format$(timp, "###,###,##0.00")
     lblTotaleImposta.Caption = Format$(tiva, "###,###,##0.00")
End Sub

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Calcoli per gestione fatture
« Risposta #11 il: 01 Luglio 2009, 11:09:26 »
E' un metodo a cui avevo già pensato, ma che non ho applicato in quanto preferisco lavorare in "locale" sui dati quando possibile, mi spiego:

Dalla mia anagrafica articoli seleziono gli articoli che devo inserire in fattura, se successivamente (prima della stampa) ho neccessità di cancellare una riga, di modificarla a livello di prezzo o quantità, lo faccio senza andare a interagire con il DB, questo metodo lo uso per tutti i campi del documento, solo alla fine quando la fattura e completa in tutte le sue parti inserisco le righe e tutti i dati nel DB, in questo modo non lo "stresso" e mi sembra più funzionale.

Con questa metodologia penso che in futuro se il programma verrà usato in multiutenza la possibilità di utilizzo conteporaneo dello stesso record sia quasi nulla a differenza se invece si accede continuamente al DB, per quanto riguarda i calcoli in linea di massima li faccio eseguire a Gambas e non al DataBase.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Calcoli per gestione fatture
« Risposta #12 il: 03 Luglio 2009, 23:11:59 »
Nessuna idea?

Mi rivolgo in particolare a leo, tu hai creato un gestionale, giusto, presumo che avrai previsto in fase di fatturazione il calcolo di imponibili con più aliquote iva, potresti darmi uno spunto?
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Calcoli per gestione fatture
« Risposta #13 il: 04 Luglio 2009, 00:04:09 »
se non vuoi usare troope variabili e avere la possibilità di utilizzare infiniti valori di iva puoi fare così :

leggi tutta la greedwiev e salvi i valori di aliquota iva presenti nella fattura in un array poi per ogni elemento dell' array cerchi tutti i rispettivi valori imponibili e li sommi in un secondo array che conterrà le somme dei vari imponibili alla fine otterai due array del genere:


array_aliquota=[0,4,10,20,9]
arrat_imponibile=[somma_imp_0%,somma_imp_4%,...ecc ecc]

così hai risolto il problema di possibili nuove aliquote visto che verrano gestite solo quelle già presenti nella fattura

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Calcoli per gestione fatture
« Risposta #14 il: 04 Luglio 2009, 00:06:33 »
Ciao, non so se ho capito bene il problema.
Potresti fare una colonna per il prezzo senza iva, una colonna con l'aliquota Iva che sarà variabile a seconda del tipo di merce (penso che puoi memorizzare il tipo di iva in ogni dettaglio del listino) e il totale prezzo con iva. tutto questo in ogni riga, sotto sommi iva esclusa e anche ivato.