Libreria SIGPPDLL

Da SIGLAkb.
Dp-ingranaggio3.png La libreria è stata realizzata in C++ e compilata utilizzando Microsoft Visual C++ versione 4.1. Il sorgente della procedura è contenuto nel file SIGPPDLL.CPP e utilizza gli header files SIGPPDLL.H e DPDBASE.H.
Dp-schema sigppdll.png

Sono distribuite tre versioni della libreria:

  • SIGPPDLL per SIGLA® (caratterizzata dall'impiego della libreria ODBC per l'accesso ai dati)
  • SIGPPDLL per START® versione 3 Multiuser
  • SIGPPDLL per START® versione Client/Server

Per modificare e ricompilare la libreria è necessario disporre di un compilatore C++, dei file di inclusione che definiscono le classi C++ utilizzate dal pacchetto e, nel caso delle versioni per START® versione 3, anche libreria CodeBase 6.x (la libreria in questione è necessaria per gli header files che sono indispensabili per la ricompilazione).

Il sorgente DPDBASE.H

Questo sorgente contiene la definizione di alcune classi di base. La classe più importante per le personalizzazioni è rappresentata dalla classe astratta DPObject.

Dalla classe astratta DPObject derivano tutti gli oggetti che SIGLA® utilizza per accedere alle varie tabelle che compongono il database del prodotto. Per questo motivo alle funzioni chiamate nella libreria SIGPPDLL.DLL vengono passati come parametri puntatori a oggetti di tipo DPObject che, per essere utilizzati in modo corretto, devono essere castati sulla classe effettiva documentata nel corpo della presente documentazione.

Possono essere d’interesse, al fine dello sviluppo di personalizzazioni via SIGPPDLL.DLL, alcuni dei dati membro della classe che vengono di seguito documentati:

  • DPDbase *theDB puntatore all’oggetto di classe DPDbase utilizzato per gestire l’accesso al database
  • char Esercizio[5] array di caratteri null-terminated contenente il codice dell’esercizio per il quale l’oggetto è stato creato (il dato membro è significativo solo per oggetti che mappano tabelle dipendenti dal codice esercizio)
  • BOOL bBOF contiene il valore TRUE se per nessuna riga del cursore associato all’oggetto è ancora stato eseguito un fetch
  • BOOL bEOF contiene il valore TRUE se per l’ultima riga del cursore associato all’oggetto è stato eseguito un fetch.

Il sorgente SIGPPDLL.H

Questo header filecontiene i prototipi delle funzioni contenute nella libreria a link dinamico SIGPPDLL. La macro DLLCALL serve ad evidenziare le funzioni esportabili e la calling convention utilizzata.

 
 
 /*------------------------------------------------------------------------------------------
  FILE : SIGPPDLL.H
  DATE  : 15.09.95
 ------------------------------------------------------------------------------------------*/
 #ifndef XVT_R3_API
  #include
 #endif
 #include "dpdbase.h"
 
 #define DLLCALL _export
 
 void DLLCALL SIGLAPPStart(void);
 void DLLCALL SIGLAPPStop(void);
 void DLLCALL SIGLAPPCreateComuni(void);
 void DLLCALL SIGLAPPCreateDitta(void);
 void DLLCALL SIGLAPPInit(LPSTR utente,LPSTR todaydate,LPSTR codditta,LPSTR ragsoc,
  LPSTR termname,LPSTR dittaconnectstring,LPSTR comuniconnectstring,
  DPDbase *ditta,DPDbase *comuni);
 void DLLCALL SIGLAPPSetEsercizio(LPSTR esercizio);
 BOOL DLLCALL SIGLAPPDoMenuCommand(int theMenuID);
 BOOL DLLCALL SIGLAPPGetMenuItem(int *MenuID,LPSTR menudescr);
 BOOL DLLCALL SIGLAPPExecuteSQL(DPDbase *theDB,LPSTR theSQLStatement);
 BOOL DLLCALL SIGLAPPSaveObject(DPObject *theObject,int theActionID);
 BOOL DLLCALL SIGLAPPDeleteObject(DPObject *theObject,int theActionID);
 BOOL DLLCALL SIGLAPPSetSconti(DPObject *theAnamag,DPObject *theCliFor,DPObject *theMovMag,
  int theTipoDoc,double far *sc1,double far *sc2,double far *sc3,
  double far *sc4,double far *sc5,double far *mg1,double far *mg2);
 BOOL DLLCALL SIGLAPPSetPrezzo(DPObject *theAnamag,DPObject *theCliFor,DPObject *theMovMag,
  int theTipoDoc,double far *thePrezzo);
 BOOL DLLCALL SIGLAPPSetProvvigioni(DPObject *theAnamag,DPObject *theCliFor,DPObject *theMovMag,
  int theTipoDoc,double far *prage,double far *prcapo);
 

Funzioni contenute nella libreria

SIGLAPPStart

SCOPO: viene chiamata da SIGLA® immediatamente dopo che la procedura è stata avviata.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPStart.

SIGLAPPStop

SCOPO: viene chiamata da SIGLA® immediatamente prima che l’applicazione venga terminata.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPStop.

SIGLAPPCreateComuni

SCOPO: viene chiamata dal programma di Configurazione di SIGLA® immediatamente dopo che si è proceduto alla creazione delle tabelle nel database dati comuni.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPCreateComuni.

SIGLAPPCreateDitta

SCOPO: viene chiamata dal programma di Configurazione di SIGLA® immediatamente dopo che si è proceduto alla creazione delle tabelle nel database di una ditta.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPCreateDitta.

SIGLAPPInit

SCOPO: viene chiamata da SIGLA® immediatamente dopo che l’utente ha scelto la ditta su cui intende operare.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPInit.

SIGLAPPSetEsercizio

SCOPO: viene chiamata da SIGLA® immediatamente dopo che l'utente ha scelto l'esercizio contabile su cui operare.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPSetEsercizio .

SIGLAPPDoMenuCommand

SCOPO: viene chiamata da SIGLA® immediatamente dopo la selezione di una voce di menù da parte dell'utente e prima che il pacchetto attivi la funzione richiesta. La funzione deve tornare TRUE se SIGLA® deve processare l'evento, FALSE altrimenti.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPDoMenuCommand.

SIGLAPPGetMenuItem

SCOPO: viene chiamata da SIGLA® durante la generazione del menù operativo. Consente di creare un menù Personalizzazioni (il menù viene creato se la funzione restituisce almeno una volta il valore TRUE). Per ogni voce del menù la funzione deve tornare l'ID e la descrizione della voce (max. 30 bytes). L'ID deve essere compreso fra 6000 e 6100. SIGLA® continua a chiamare la funzione finché questa non torna il valore FALSE. Il primo carattere della descrizione viene usato come tasto acceleratore.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPGetMenuItem.

SIGLAPPSaveObject

SCOPO: SIGLA® chiama questa funzione in determinati punti dell'applicazione dopo aver proceduto alla memorizzazione di un dato (in immissione o in revisione). L'identificatore theActionID consente di stabilire quale procedura di SIGLA® ha invocato la funzione mentre theObject fornisce le informazioni relative ai dati da salvare.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPSaveObject.

SIGLAPPDeleteObject

SCOPO: SIGLA® chiama questa funzione in determinati punti dell'applicazione dopo aver proceduto alla cancellazione di un dato. L'identificatore theActionID consente di stabilire quale procedura di SIGLA® ha invocato la funzione mentre theObject fornisce le informazioni relative ai dati da salvare.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPDeleteObject.

SIGLAPPSetSconti

SCOPO: SIGLA® chiama questa funzione durante l'immissione/revisione dei documenti di magazzino (ordini, bolle, fatture, ecc.) immediatamente prima di valutare secondo il criterio standard gli sconti e le maggiorazioni da applicare sulla riga. Se la funzione torna FALSE la procedura si incarica di determinare gli sconti/maggiorazioni, se torna TRUE i valori impostati nei parametri sc*, mg* vengono assunti come default e quindi presentati a video.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPSetSconti.

SIGLAPPSetProvvigioni

SCOPO: SIGLA® chiama questa funzione durante l'immissione/revisione dei documenti di magazzino (ordini, bolle, fatture, ecc.) immediatamente prima di valutare secondo il criterio standard le provvigioni agente/capozona da applicare sulla riga. Se la funzione torna FALSE la procedura si incarica di determinare le provvigioni, se torna TRUE i valori impostati nei parametri pragente e prcapozona vengono assunti come "default" e quindi presentati a video.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPSetProvvigioni.

SIGLAPPSetPrezzo

SCOPO: SIGLA® chiama questa funzione durante l'immissione/revisione dei documenti di magazzino (ordini, bolle, fatture, ecc.) immediatamente prima di valutare secondo il criterio standard il prezzo da applicare sulla riga. Se la funzione torna FALSE la procedura si incarica di determinare il prezzo, se torna TRUE il valore impostato nel parametro thePrezzo viene assunto come "default" e quindi presentato a video.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPSetPrezzo.

SIGLAPPExecuteSQL

SCOPO: consente l'esecuzione immediata di uno statement SQL utilizzando la stessa connessione che usa SIGLA®.

Dp-Pointing256.png Per i dettagli vedi la voce SIGLAPPExecuteSQL.

Bibliografia

Voci correlate

Come si personalizza SIGLA
La libreria SPPFrame
Configurazione
Maggiorazioni
Sconti
Provvigioni