Gestione contabilità scuola, transazioni ripetute.

di il
3 risposte

Gestione contabilità scuola, transazioni ripetute.

Salve a tutti, perdonatemi non riesco a trovare un titolo esplicativo del problema da risolvere.

con l'aiuto di alcuni utenti del forum sono riuscito a mettere in piedi un piccolo database per la gestione della mia scuola.

Per avere le idee chiare sul progetto vi racconto brevemente di cosa si tratta:
Il database è composto dalle seguenti tabelle:
1. StoricoAllievi in cui vi è registrata l'anagrafica di tutti i clienti.
2. Aule in c'è un semplice elenco di aule quindi chiave primaria + nome aula.
3. QuotePagamenti una sorta di listino in cui ci sono ed esempio "(IDTipoPagamento) 1;(Tipo) Iscrizione; (Valore)1€; (Frequenza) Annuale" - in parentesi ho messo in nome dei campi .
4. Pagamenti i cui campi sono: "IDPagamento; IDAllievo; DataPagamento; Anno Contabile; Mese contabile; IDTipoPagamento; Importo versato"
Chiaramente questa tabella è legata ai clienti per mezzo di relazione uno a molti con la tabella StoricoAllievi e alla tabella QuotePagamenti da cui attinge i valori economici.

Ho provveduto a fare una query che mi calcolasse la differenza tra l'importo ricevuto e il valore di acquisto, tipo:
ricevo il pagamento di una retta di 100€, il cliente mi da un acconto di 80, la query mi calcola la differenza. Questo in vista di creare una tabella che mi dia un riepilogo dei pagamenti in Saldo e In debito.

Vi incollo il codice SQL di questa query, magari vi semplifica la comprensione del problema:
SELECT Pagamenti.IDPagamento, Pagamenti.IDAllievo, Pagamenti.[Data pagamento], Pagamenti.[Anno contabile], Pagamenti.[Mese contabile], Pagamenti.IDTipoPagamento, Pagamenti.[Importo versato], Pagamenti.[Modalità pagamento], QuotePagamenti.Valore, [valore]-[importo versato] AS CalcoloDifferenza
FROM [Storico allievi] INNER JOIN (QuotePagamenti INNER JOIN Pagamenti ON QuotePagamenti.IDTipoPagamento = Pagamenti.IDTipoPagamento) ON [Storico allievi].ID = Pagamenti.IDAllievo
ORDER BY Pagamenti.IDAllievo;
Vado diritto al problema.
Meccanicamente registro un pagamento con una maschera di inserimento dati. Quindi l'allievo paga X€ per la retta e la query mi calcola la differenza. Il tutto va a finire in query, fin qui mi sta benissimo.
Il problema è che se lo stesso allievo paga in 2 transazioni diverse, vengono aggiunte 2 voci in tabella, con 2 record che vogliono rappresentare lo stesso acquisto. Tipo Antonino ha pagato 10€ oggi per l'iscrizione e restano 90€. Il giorno successivo Antonino versa 90€ per l'iscrizione e risulta 10€ di differenza. In questo modo mi ritroverò tanti record per ogni transazione e mai un pagamento completo in caso di acconto e saldo in transazioni differenti.

Idee su come gestire questa cosa? Sono veramente a zero sulla gestione di un db.

3 Risposte

  • Re: Gestione contabilità scuola, transazioni ripetute.

    Non c'è nessun problema se tu hai più record Pagamenti. Potresti aggiungere più voci nella tabella TipiPagamenti in cui includi anche AnticipoIscrizione, SaldoIscrizione...oppure aggiungi un campo Causale o Descrizione...Ah...già...hai il problema della casella combinata IDTipoPagamento che si porta appresso automaticamente una cifra. In questo caso direi che torna infelice l'idea della casella combinata pensata in quel modo, quindi dividere TipoPagamento e Importo sarebbe opportuno.
  • Re: Gestione contabilità scuola, transazioni ripetute.

    OsvaldoLaviosa ha scritto:


    Non c'è nessun problema se tu hai più record Pagamenti. Potresti aggiungere più voci nella tabella TipiPagamenti in cui includi anche AnticipoIscrizione, SaldoIscrizione...oppure aggiungi un campo Causale o Descrizione...Ah...già...hai il problema della casella combinata IDTipoPagamento che si porta appresso automaticamente una cifra. In questo caso direi che torna infelice l'idea della casella combinata pensata in quel modo, quindi dividere TipoPagamento e Importo sarebbe opportuno.
    Quindi faccio 2 tabelle distinte, una TipoPagamento con il solo listino senza prezzi e una solo con gli importi?
    Forse quella con i soli importi è inutile, se bisogna scegliere l'importo giusto tanto vale batterlo a tastiera... ho sbagliato a capire qualocosa?
  • Re: Gestione contabilità scuola, transazioni ripetute.

    i am Timoshenko ha scritto:


    Quindi faccio 2 tabelle distinte, una TipoPagamento con il solo listino senza prezzi e una solo con gli importi?
    Forse quella con i soli importi è inutile, se bisogna scegliere l'importo giusto tanto vale batterlo a tastiera... ho sbagliato a capire qualocosa?
    Assolutamente ovvio... la tabella con gli importi è inutile... ma non mi pare fosse questo il suggerimento.
Devi accedere o registrarti per scrivere nel forum
3 risposte