Autore Topic: [COMPLETATO] Software per gestire una primanota contabile.  (Letto 12988 volte)

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Ciao a tutti.

Sto realizzando una applicazione per la gestione di una primanota contabile.

Registrazione delle seguenti operazioni:
1) Le fatture di vendita.
2) Le fatture di acquisto.
3) I corrispettivi.
4) Le entrate e uscite di cassa.
5) Le operazioni sul conto corrente bancario.
6) Le scadenze di pagamento e di incasso.

Report:
1) Estratto conto clienti.
2) Estratto conto fornitori.
3) Scadenziario clienti e fornitori.

C'è qualcuno degli utenti del sito con un minimo di esperienza lavorativa o scolastica in questo campo che voglia aiutarmi nello sviluppo?

p.s. ho scritto anni fa una applicazione simile in vb6 e access.

Allego il sorgente della parte che ho realizzato.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Software per gestire una primanota contabile.
« Risposta #1 il: 02 Maggio 2009, 01:53:57 »
Non ho esperienza in materia ma se ti serve una mano di qualche tipo che non sia prettamente "del settore" chiedi pure....io ti do una mano volentieri...

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Software per gestire una primanota contabile.
« Risposta #2 il: 04 Maggio 2009, 14:38:08 »
Ho completato le seguenti parti:

1) Tabelle:
  - Causali contabili
  - Conti
  - Modalità di pagamento
  - Banche

2) Registrazioni
  - Fatture di vendita
  - Fatture di acquisto
  - Corrispettivi
  - Movimenti generici

Ver. gambas 2.12
s.o. ubuntu 9.04
database sqlite3

@ Ceskho
grazie per l'offerta di aiuto,per il momento mi basterebbe che venga testata l'applicazione su altri computer, che mi segnali errori o anomalie, qualsiasi suggerimento o critica è ben accetto.

Allego il sorgente dell'ultima versione.

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Software per gestire una primanota contabile.
« Risposta #3 il: 09 Maggio 2009, 01:54:55 »
Ho completato le seguenti parti:

1) Tabelle:
- Causali contabili
- Conti
- Modalità di pagamento
- Banche

2) Registrazioni
- Fatture di vendita
- Fatture di acquisto
- Corrispettivi
- Movimenti generici

3) Elenchi con filtro di estrazione e
   modifica delle registrazioni.
- Fatture di vendita
- Fatture di acquisto
- Corrispettivi
- Movimenti generici

Ver. gambas 2.12
s.o. ubuntu 9.04
database sqlite3

p.s. Ho bisogno di aiuto per realizzare i report degli elenchi.

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Software per gestire una primanota contabile.
« Risposta #4 il: 09 Maggio 2009, 06:49:45 »
Se vuoi ti posso aiutare. Per il mio gestionale ho dovuto implementare un sacco di report grafici, tutti realizzati a manina :-)
Visita il mio sito personale: http://www.leonardomiliani.com

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Software per gestire una primanota contabile.
« Risposta #5 il: 09 Maggio 2009, 12:28:00 »
@ leo72
Grazie per l'aiuto.
Nella parte di applicazione realizzata ne ho fatti alcuni utilizzando la libreria gb.qt.ext (printer e draw), e mi farebbe piacere avere una tua valutazione.
Però è una procedura molto laboriosa e per questo volevo utilizzare la libreria gb.report,  ma mi manca l'input iniziale per capire come vanno impostate.

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Software per gestire una primanota contabile.
« Risposta #6 il: 09 Maggio 2009, 22:21:42 »
Anch'io però ho utilizzato l'oggetto Print e non il modulo gb.report, anche perché la sua documentazione è assente...
Cmq posso sempre dargli un'occhiata;-)
Visita il mio sito personale: http://www.leonardomiliani.com

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Software per gestire una primanota contabile.
« Risposta #7 il: 09 Maggio 2009, 22:53:16 »
Ho trovato in rete che è possibile utilizzare Kugar, che è un report designer.
In pratica prima si costruisce graficamente il template del report e lo si salva in un file con estensione .ktf.
Poi dall'applicazione in gambas si crea un file xml contenente i dati da stampare e si salva in un file temporaneo con estensione .kdk.
Si conclude con il comando:  shell(kugar -r sample1.ktf -d sample1.kdf)

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Software per gestire una primanota contabile.
« Risposta #8 il: 10 Maggio 2009, 10:57:44 »
Soluzione un po' complicata e che usa programmi esterni a Gambas. Con l'uso di Print si utilizzano solo strumenti di Gambas e si ottengono buoni risultati. Allego lo screenshot di una fattura generata dal mio gestionale, creata usando i metodi di disegno sull'oggetto Printer.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Software per gestire una primanota contabile.
« Risposta #9 il: 10 Maggio 2009, 11:56:42 »
Anni fa ho realizzato in vb6 un discreto gestionale di magazzino, e per le stampe dei documenti (fatture, ddt, note di credito, preventivi, ecc) ho utilizzato questa tecnica:

Per ogni documento ho creato una immagine con le linee e le descrizioni dei campi, utilizzando l'oggetto printer di vb6 stampavo prima l'immagine e poi la riempivo con i dati contabili.

Quello che mi scoccia è di stare a disegnare tutti i riquadri da codice.

Ti allego una immagine che ho realizzato.

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Software per gestire una primanota contabile.
« Risposta #10 il: 10 Maggio 2009, 12:17:27 »
Nella documentazione ho trovato queste funzioni per la stampa della immagini, sembrano perfettamente uguali.
Tu le hai utilizzate?

Draw.Image (gb.qt)
Syntax

STATIC SUB Image ( Image AS Image, X AS Integer, Y AS Integer [ , Width AS Integer, Height AS Integer, SrcX AS Integer, SrcY AS Integer, SrcWidth AS Integer, SrcHeight AS Integer ] )

Draws an Image, or part of it.

    * If the Width and Height parameters are specified, then the image is scaled to fit the specified dimensions.
    * If SrcX, SrcY, SrcWidth and SrcHeight are specified, the only this part of the image is drawn.



Draw.Picture (gb.qt)
Syntax

STATIC SUB Picture ( Picture AS Picture, X AS Integer, Y AS Integer [ , Width AS Integer, Height AS Integer, SrcX AS Integer, SrcY AS Integer, SrcWidth AS Integer, SrcHeight AS Integer ] )

Draws a Picture, or part of it.

    * If the Width and Height parameters are specified, then the picture is scaled to fit the specified dimensions.
    * If SrcX, SrcY, SrcWidth and SrcHeight are specified, the only this part of the picture is drawn.

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Software per gestire una primanota contabile.
« Risposta #11 il: 10 Maggio 2009, 23:12:52 »
La fattura che ti ho allegato io è stata realizzata interamente da codice utilizzando Draw sull'oggetto Printer. In pratica, basta dire a Gambas che l'oggetto che riceverà i disegni è Printer e lui fa in modo che se io disegno un quadrato con Draw.Line(0,0,100,100) questo vada a finire su Printer e, di conseguenza, sulla carta in ultima analisi ;-)

La scocciatura della realizzazione a mano di tutti i campi ed i testi è relativa ed è tanto noiosa e lunga quanto quella di realizzare a mano un report grafico (es. con ActiveReports, tanto per capirsi).

P.S.:
Image e Picture non sono proprio uguali. La prima carica l'immagine in memoria e ne permette alcune manipolazioni che l'altro oggetto, Picture, non permette (es.: rotazione, strech).

P.P.S.:
hai un esempio del tuo report, anche su carta (scannerizzato), così provo a buttare giù una bozza?
Visita il mio sito personale: http://www.leonardomiliani.com

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Software per gestire una primanota contabile.
« Risposta #12 il: 11 Maggio 2009, 21:19:26 »
Allego le bozze dei primi report che si devono realizzare, non sono complessi e penso che si possano disegnare da codice con il comando DRAW.

I report che ho già realizzato, creano un file .ps che poi vado ad aprire con il seguente comando:
SHELL "evince \"" & User.Home & "/report.ps\""

Come si fa a aprire la finestra di dialogo delle stampanti senza passare per 'evince'?

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Software per gestire una primanota contabile.
« Risposta #13 il: 11 Maggio 2009, 23:03:47 »
Non sono complessi.
In questi giorni farò dei test.

Ah, per quanto riguarda la finestra di dialogo stampante, è buggata, nel senso che le impostazioni che scegli non vengono poi passate a Gambas (questo vale per alcune voci). Così era per lo meno tempo fa, quando smisi di usarlo perché ad esempio non riuscivo a gestire la stampa di più copie di un foglio da quella finestra.

Se non hai bisogno di fare l'anteprima, puoi inviare il file al comando di terminale "lpr" (sempre tramite comando Shell) che stampa direttamente sulla stampante. Io faccio così, in genere: metto 2 pulsanti, uno per l'anteprima a video e l'altro per la stampa diretta. Se l'utente preme il secondo, spedisco il file creato alla stampante.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Software per gestire una primanota contabile.
« Risposta #14 il: 11 Maggio 2009, 23:32:48 »
Dimmi se ho capito:

Quindi la stampa passa sempre attraverso la creazione di un file .ps

hStampa = SHELL ("lpr " & Application.Path & "/report.ps") WAIT
stampa direttamente sulla stampante predefinita, e il comando WAIT attende la fine dell'invio dei dati alla stampante per ridare il focus all'applicazione.


hstampa = SHELL "evince \"" & User.Home & "/report.ps\""
fa l'anteprima di stampa e mi fa aprire la finestra di dialogo delle stampanti.
E se il programma evince (o un altro visualizzatore indicato nel comando) non è installato sulla macchina?