Ggestione sconti testa in TCliFor.CPP.

Modificati i files di GGianluca according to PRASSID.INI-----------


git-svn-id: svn://10.65.10.50/trunk@1839 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
matteo 1995-09-15 16:34:56 +00:00
parent 4276fd7c15
commit ee0c139555
6 changed files with 996 additions and 891 deletions

View File

@ -108,3 +108,4 @@ real TSconto::sconto( )
CHECK(is_valid( ),"tentativo di usare uno sconto non valido!" ); CHECK(is_valid( ),"tentativo di usare uno sconto non valido!" );
return ( ( _part * cento ) - cento ); return ( ( _part * cento ) - cento );
} }

View File

@ -2,6 +2,10 @@
#include "tclifor.h" #include "tclifor.h"
#endif #endif
#ifndef __CONFIG_H
#include "config.h"
#endif
#ifndef __VEUML1_H #ifndef __VEUML1_H
#include "veuml1.h" #include "veuml1.h"
#endif #endif
@ -158,6 +162,7 @@ void TCliForVendite::update_mask( TMask_vendite& m, bool onload )
m.field( F_CODLIN ).check( ); m.field( F_CODLIN ).check( );
imposta_dati_comune( m ); imposta_dati_comune( m );
imposta_indirizzo_spedizione( m ); imposta_indirizzo_spedizione( m );
imposta_sconto_testa( m );
} }
void TCliFor::edita_occasionale( ) void TCliFor::edita_occasionale( )
@ -263,3 +268,68 @@ void TCliForVendite::imposta_indirizzo_spedizione( TMask_vendite& m )
m.set( F_DENCOMSP, comuni.get( "DENCOM" ) ); m.set( F_DENCOMSP, comuni.get( "DENCOM" ) );
m.set( F_PROVCOMSP, comuni.get( "PROVCOM" ) ); m.set( F_PROVCOMSP, comuni.get( "PROVCOM" ) );
} }
void TCliForVendite::imposta_sconto_testa( TMask_vendite& m )
{
TConfig ditta( CONFIG_DITTA );
TString16 codsconto;
TString16 codart;
char tipogestione = ditta.get( "GESSCO", "ve" )[ 0 ];
switch( tipogestione )
{
case 'N': // Sconti non gestiti: pussa via!
return;
break;
case 'P': // Percentuale su anagrafica cliente
m.set( F_SCONTOPERC, get( LF_CFVEN, "SCONTO" ) );
return;
break;
case 'T': // Gestione tabella sconti
codsconto = get( LF_CFVEN, "CODSCC" );
if( !codsconto.blank( ) )
{
TLocalisamfile sconti( LF_SCONTI );
sconti.setkey( 1 );
sconti.zero( );
sconti.put( "TIPO", "D" );
sconti.put( "CODCAT", codsconto );
if( sconti.read( ) == NOERR )
m.set( F_SCONTOPERC, sconti.get( "SCONTO" ) );
else
message_box( "Sconto non trovato nella tabella sconti!" );
}
return;
break;
case 'A': // Gestione archivio sconti
TLocalisamfile sconti( LF_SCONTI );
sconti.setkey( 1 );
sconti.zero( );
sconti.put( "TIPO", "I" );
if( ditta.get_bool( "SCOKEY", "ve", 1 ) )
{
sconti.put( "CODCAT", get( LF_CFVEN, "CATVEN" ) );
if( ditta.get_bool( "SCOKEY", "ve", 2 ) )
{
codart= get( LF_CFVEN, "CODSCC" );
if( ditta.get_bool( "SCOKEY", "ve", 3 ) )
{
codart << get( LF_CFVEN, "CODZONA" );
if( ditta.get_bool( "SCOKEY", "ve", 4 ) )
codart << get( LF_CLIFO, "CODPAG" );
}
}
}
sconti.put( "CODART", codart );
if( sconti.read( ) == NOERR )
{
m.set( F_SCONTOPERC, sconti.get( "SCONTO" ) );
}
else
{
message_box( "Sconto non trovato nell'archivio sconti!" );
}
return;
break;
}
}

View File

@ -66,6 +66,7 @@ class TCliForVendite : public TCliFor
void update_mask( TMask_vendite& m, bool onload = FALSE ); void update_mask( TMask_vendite& m, bool onload = FALSE );
void imposta_dati_comune( TMask_vendite& m ); void imposta_dati_comune( TMask_vendite& m );
void imposta_indirizzo_spedizione( TMask_vendite& m ); void imposta_indirizzo_spedizione( TMask_vendite& m );
void imposta_sconto_testa( TMask_vendite& m );
}; };

View File

@ -206,19 +206,52 @@ ITEM "A|Gestione archivio sconti "
FIELD GESSCO FIELD GESSCO
END END
LIST DLG_NULL 36 BOOLEAN DLG_NULL
BEGIN BEGIN
PROMPT 2 2 "Chiave archivio sconti " PROMPT 2 2 "Tabella categoria vendite in chiave"
ITEM "V|Tab. categorie vendite " FLAG "D"
ITEM "C|Tab. sconti clienti " MESSAGE TRUE SHOW, 4@
ITEM "Z|Tab. zone " MESSAGE FALSE HIDE, 4@
ITEM "M|Tab. modalità di pagamento " MESSAGE FALSE COPY, 4@
FIELD SCOKEY MESSAGE FALSE HIDE, 5@
MESSAGE FALSE COPY, 5@
MESSAGE FALSE HIDE, 6@
MESSAGE FALSE COPY, 6@
FIELD SCOKEY[1]
END
BOOLEAN DLG_NULL
BEGIN
PROMPT 2 3 "Tabella sconti clienti"
MESSAGE TRUE SHOW, 5@
MESSAGE FALSE HIDE, 5@
MESSAGE FALSE COPY, 5@
MESSAGE FALSE HIDE, 6@
MESSAGE FALSE COPY, 6@
GROUP 4
FIELD SCOKEY[2]
END
BOOLEAN DLG_NULL
BEGIN
PROMPT 2 4 "Tabella zone in chiave"
MESSAGE TRUE SHOW, 6@
MESSAGE FALSE HIDE, 6@
MESSAGE FALSE COPY, 6@
GROUP 5
FIELD SCOKEY[3]
END
BOOLEAN DLG_NULL
BEGIN
PROMPT 2 5 "Tabella modalita' di pagamento in chiave"
GROUP 6
FIELD SCOKEY[4]
END END
LIST DLG_NULL 36 LIST DLG_NULL 36
BEGIN BEGIN
PROMPT 2 3 "Tipo calcolo sconti documento " PROMPT 2 6 "Tipo calcolo sconti documento "
ITEM "R|Sconti sulle righe merci " ITEM "R|Sconti sulle righe merci "
ITEM "G|Sconti sul valore globale merci " ITEM "G|Sconti sul valore globale merci "
FIELD SCOTIPCAL FIELD SCOTIPCAL
@ -226,13 +259,13 @@ END
BOOLEAN DLG_NULL BOOLEAN DLG_NULL
BEGIN BEGIN
PROMPT 2 4 "Gestione sconti ad importo " PROMPT 2 7 "Gestione sconti ad importo "
FIELD GESSCOIMP FIELD GESSCOIMP
END END
LIST DLG_NULL 36 LIST DLG_NULL 36
BEGIN BEGIN
PROMPT 2 5 "Tipo gestione sconti riga " PROMPT 2 8 "Tipo gestione sconti riga "
ITEM "N|Non gestire" ITEM "N|Non gestire"
ITEM "L|Perc. su anagrafica/listini/contratti " ITEM "L|Perc. su anagrafica/listini/contratti "
ITEM "A|Gest. arch. sconti " ITEM "A|Gest. arch. sconti "
@ -243,7 +276,7 @@ END
LIST DLG_NULL 36 LIST DLG_NULL 36
BEGIN BEGIN
PROMPT 2 6 "Chiave archivio sconti di riga " PROMPT 2 9 "Chiave archivio sconti di riga "
ITEM "A|Codice articolo " ITEM "A|Codice articolo "
ITEM "L|Codice linea " ITEM "L|Codice linea "
ITEM "C|Codice linea/categoria " ITEM "C|Codice linea/categoria "
@ -254,13 +287,13 @@ END
BOOLEAN DLG_NULL BOOLEAN DLG_NULL
BEGIN BEGIN
PROMPT 2 7 "Gestione archivio sconti a scaglioni " PROMPT 2 10 "Gestione archivio sconti a scaglioni "
GESSCOSCA GESSCOSCA
END END
BOOLEAN DLG_NULL BOOLEAN DLG_NULL
BEGIN BEGIN
PROMPT 2 8 "Gestione archivio sconti unità di misura " PROMPT 2 11 "Gestione archivio sconti unità di misura "
GESSCOUM GESSCOUM
END END

View File

@ -105,8 +105,8 @@ END
BOOLEAN DLG_NULL BOOLEAN DLG_NULL
BEGIN BEGIN
PROMPT 2 2 "Gestione documenti in valuta" PROMPT 2 2 "Gestione documenti in valuta"
MESSAGE TRUE ENABLE,@7 MESSAGE TRUE ENABLE,7@
MESSAGE FALSE DISABLE,@7 MESSAGE FALSE DISABLE,7@
FIELD GESVAL FIELD GESVAL
END END

View File

@ -59,7 +59,7 @@ bool TTabelle_sconti::user_create() {
_sci_k_id[2]= F_I_ZONE; _sci_k_id[2]= F_I_ZONE;
_sci_k_id[3]= F_I_CONDPAG; _sci_k_id[3]= F_I_CONDPAG;
for (int i=0; i<4; i++) { for (int i=0; i<4; i++) {
if (prassid.get("K_SCONTI_INC", "ve", i).empty()) _sci_k_enabled[i]= FALSE; // se nel file di config. il campo non è abilitato, viene indicato nel vettore di abilitazione if (prassid.get("SCOKEY", "ve", i).empty()) _sci_k_enabled[i]= FALSE; // se nel file di config. il campo non è abilitato, viene indicato nel vettore di abilitazione
else _sci_k_enabled[i]= gotcha= TRUE; // se c'è almeno un campo abilitato "gotcha" esce TRUE dal ciclo else _sci_k_enabled[i]= gotcha= TRUE; // se c'è almeno un campo abilitato "gotcha" esce TRUE dal ciclo
} }
if (!gotcha) error_box("Non ci sono campi chiave abilitati nella configurazione della ditta"); if (!gotcha) error_box("Non ci sono campi chiave abilitati nella configurazione della ditta");