oggetto cliente quasi funzionante

git-svn-id: svn://10.65.10.50/trunk@1800 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
matteo 1995-09-08 14:18:45 +00:00
parent cd05dc4456
commit f5774eac97
7 changed files with 385 additions and 466 deletions

View File

@ -6,8 +6,14 @@
#include "veuml1.h"
#endif
TCliFor::TCliFor( ) : TRelation( LF_CLIFO )
#ifndef __VE1000O_H
#include "ve1000o.h"
#endif
TCliFor::TCliFor( ) : TRelation( LF_CLIFO ), _occas_mask( "ve1000o" )
{
_occas_mask.set_handler( O_CODICE, occas_code_handler );
add( LF_CFVEN, "TIPOCF=TIPOCF|CODCF=CODCF" );
}
@ -21,6 +27,15 @@ void TCliFor::load( const char tipocf, const long codcf )
read( );
}
void TCliFor::set( TMask& m, const int mskfield, const TString& value )
{
if( present( m, mskfield ) )
{
m.set( mskfield, value, TRUE );
m.field( mskfield ).check( );
}
};
const TString& TCliFor::get( const int file, const TString& fieldname )
{
return lfile( file ).get( fieldname );
@ -39,41 +54,125 @@ long TCliFor::get_long( const int file, const TString& fieldname )
bool TCliFor::get_bool( const int file, const TString& fieldname )
{
return lfile( file ).get_bool( fieldname );
}
int TCliFor::write_occas( )
{
if( !occasionale( ) )
return NOERR;
TLocalisamfile occas( LF_OCCAS );
occas.zero( );
occas.put( "CFPI", occas_mask( ).get( O_CODICE ) );
occas.put( "RAGSOC", occas_mask( ).get( O_RAGSOC ) );
occas.put( "INDIR", occas_mask( ).get( O_INDIRIZZO ) );
occas.put( "CIV", occas_mask( ).get( O_NUMERO ) );
occas.put( "STATO", occas_mask( ).get( O_STATO ) );
occas.put( "COM", occas_mask( ).get( O_COMUNE ) );
occas.put( "CAP", occas_mask( ).get( O_CAP ) );
occas.put( "DNASC", occas_mask( ).get( O_DATANAS ) );
occas.put( "STATONASC", occas_mask( ).get( O_STATONAS ) );
occas.put( "COMNASC", occas_mask( ).get( O_COMUNENAS ) );
return occas.write( );
}
void TCliForVendite::set_mask( TMask* mask )
const TString& TCliFor::get( const TString& table, const TString& codtab, const TString& field )
{
_mask = mask;
if( table != _tablename )
{
delete _table;
_table = new TTable( table );
_tablename = table;
}
if( codtab != _table->curr( ).get( "CODTAB" ) )
{
_table->zero( );
_table->put( "CODTAB", codtab );
_table->read( );
}
return _table->get( field );
};
void TCliForVendite::update_mask( )
{
TMask& m = *_mask;
// Setta i campi che appartengono al file LF_CLIFO
void TCliForVendite::update_mask( TMask& m )
{
// Setta i campi che appartengono al file LF_CLIFO
bool occas = occasionale( );
show( m, F_OCFPI, occas );
show( m, F_OCCASEDIT, occas );
// In forse per l'Occasionale, sicuri per il Normale
// m.show( F_COFI, !occas );
// m.show( F_STATOPAIV, !occas );
// m.show( F_PAIVA, !occas );
set( m, F_RAGSOC, LF_CLIFO, "RAGSOC" );
set( m, F_CODVAL, LF_CLIFO, "CODVAL" );
set( m, F_CODLIN, LF_CLIFO, "CODLIN" );
set( m, F_CODPAG, LF_CLIFO, "CODPAG" );
set( m, F_DATAINSC, m.get( F_DATADOC ) );
set( m, F_CODABIA, LF_CLIFO, "CODABI" );
set( m, F_CODCABA, LF_CLIFO, "CODCAB" );
// Setta i campi che appartengono al file LF_CFVEN
set( m, F_CODABIP, LF_CFVEN, "CODABIPR" );
set( m, F_CODCABP, LF_CFVEN, "CODCABPR" );
set( m, F_RAGGR, LF_CFVEN, "RAGGDOC" );
set( m, F_CODINDSP, LF_CFVEN, "CODINDSP" );
set( m, F_CODAG, LF_CFVEN, "CODAG" );
set( m, F_CODSPMEZZO, LF_CFVEN, "CODSPMEZZO" );
set( m, F_CODPORTO, LF_CFVEN, "CODPORTO" );
set( m, F_CODNOTESP1, LF_CFVEN, "CODNOTESP1" );
set( m, F_CODNOTESP2, LF_CFVEN, "CODNOTESP2" );
set( m, F_CODVETT1, LF_CFVEN, "CODVETT1" );
set( m, F_CODVETT2, LF_CFVEN, "CODVETT2" );
set( m, F_CODVETT3, LF_CFVEN, "CODVETT3" );
set( m, F_SPESEINC, LF_CFVEN, "ADDSPINC" );
set( m, F_ADDBRB, LF_CFVEN, "ADDBOLLIRB" );
set( m, F_ADDBTR, LF_CFVEN, "ADDBOLLITR" );
if ( occasionale ( ) )
{
{
set( m, F_COFI, "" );
set( m, F_PAIVA, "" );
set( m, F_OCFPI, occas_mask( ).get( O_CODICE ) );
set( m, F_RAGSOC, occas_mask( ).get( O_RAGSOC ) );
set( m, F_INDCF, occas_mask( ).get( O_INDIRIZZO ) );
set( m, F_CIVCF, occas_mask( ).get( O_NUMERO ) );
set( m, F_CAPCF, occas_mask( ).get( O_CAP ) );
set( m, F_COMCF, occas_mask( ).get( O_COMUNE ) );
set( m, F_STATOCF, occas_mask( ).get( O_STATO ) );
}
else
{
if( m.id2pos( F_RAGSOC ) >= 0 )
m.set( F_RAGSOC, get( LF_CLIFO, "RAGSOC" ) );
if( m.id2pos( F_INDCF ) >= 0 )
m.set( F_INDCF, get( LF_CLIFO, "INDCF" ) );
if( m.id2pos( F_CIVCF ) >= 0 )
m.set( F_CIVCF, get( LF_CLIFO, "CIVCF" ) );
if( m.id2pos( F_STATOPAIVA ) >= 0 )
m.set( F_STATOPAIVA, get( LF_CLIFO, "STATOPAIVA" ) );
if( m.id2pos( F_LOCALITACF ) >= 0 )
m.set( F_LOCALITACF, get( LF_CLIFO, "LOCALITACF" ) );
if( m.id2pos( F_CAPCF ) >= 0 )
m.set( F_CAPCF, get( LF_CLIFO, "CAPCF" ) );
if( m.id2pos( F_COMCF ) >= 0 )
m.set( F_COMCF, get( LF_CLIFO, "COMCF" ) );
if( m.id2pos( F_PROVCOM ) >= 0 )
m.set( F_PROVCOM, get( LF_CLIFO, "PROVCOM" ) );
if( m.id2pos( F_STATOCF ) >= 0 )
m.set( F_STATOCF, get( LF_CLIFO, "STATOCF" ) );
set( m, F_COFI, LF_CLIFO, "COMCF" );
set( m, F_INDCF, LF_CLIFO, "INDCF" );
set( m, F_CIVCF, LF_CLIFO, "CIVCF" );
set( m, F_STATOPAIVA, LF_CLIFO, "STATOPAIV" );
set( m, F_PAIVA, LF_CLIFO, "PAIV" );
set( m, F_LOCALITACF, LF_CLIFO, "LOCALITACF" );
set( m, F_CAPCF, LF_CLIFO, "CAPCF" );
set( m, F_COMCF, LF_CLIFO, "COMCF" );
set( m, F_STATOCF, LF_CLIFO, "STATOCF" );
}
}
}
void TCliFor::edita_occasionale( )
{
CHECK( occasionale( ), "Impossibile editare come occasionale un cliente non occasionale!" );
_occas_mask.run( );
};
bool TCliFor::occas_code_handler(TMask_field& f, KEY key)
{
if (key == K_TAB)
{
const char* code = f.get();
if (*code)
{
TRelation occas(LF_OCCAS);
occas.lfile().put("CFPI", code);
if (occas.read(_isequal) == NOERR)
{
f.mask().autoload(&occas);
f.mask().send_key(K_TAB, O_COMUNE); // Forza decodifica comuni
f.mask().send_key(K_TAB, O_COMUNENAS);
}
}
}
return TRUE;
}

View File

@ -9,6 +9,11 @@
#include <relation.h>
#endif
#ifndef __TABUTIL_H
#include <tabutil.h>
#endif
#ifndef __MASK_H
#include <mask.h>
#endif
@ -18,29 +23,39 @@ class TCliFor : public TRelation
private:
char _tipocf;
long _codcf;
long _codcf;
TTable* _table;
TString16 _tablename;
TMask _occas_mask;
public:
TCliFor( );
void load( const char tipocf, const long codcf );
const TString& get( const TString& table, const TString& codtab, const TString& field );
const TString& get( const int file, const TString& fieldname );
int get_int( const int file, const TString& fieldname );
long get_long( const int file, const TString& fieldname );
bool get_bool( const int file, const TString& fieldname );
bool occasionale( ){ return TRUE; };
bool occasionale( ){ return get_bool( LF_CLIFO, "OCCAS" ); };
TMask& occas_mask( ){ return _occas_mask; };
static bool occas_code_handler(TMask_field& f, KEY key);
bool present( TMask& m, const int mskfield ){ return ( m.id2pos( mskfield ) >= 0 ); }
void set( TMask& m, const int mskfield, const int file, const TString& filefield ){ set( m, mskfield, get( file, filefield ) ); };
void set( TMask& m, const int mskfield, const TString& value );
void show( TMask& m, const int mskfield, const bool show = TRUE ){ if( present( m, mskfield ) ) m.show( mskfield, show ); };
void hide( TMask& m, const int mskfield ){ show( m, mskfield, FALSE ); };
int write_occas( );
void edita_occasionale( );
};
class TCliForVendite : public TCliFor
{
private:
TMask * _mask;
{
public:
void set_mask( TMask* mask );
void update_mask( );
void update_mask( TMask& m );
};
#endif

View File

@ -49,17 +49,21 @@
#endif
#ifndef __VE0100C_H
#include "ve0100C.h"
#include "ve0100c.h"
#endif
#ifndef __VE0100D_H
#include "ve0100D.h"
#include "ve0100d.h"
#endif
#ifndef __TCLIFOR_H
#include "tclifor.h"
#endif
#ifndef __VE1000O_H
#include "ve1000o.h"
#endif
// Numero di colonne presenti sullo sheet totale
#define MAX_COLUMNS 22
@ -91,7 +95,13 @@ class TMotore_application : public TRelation_application
// Puntatore allo sheet delle righe documento
TSheet_field* _sheet;
// Oggetto cliente per il motore
TCliForVendite* _clifor;
// Indica se il documento ha come soggetto un <C>liente o un <F>ornitore
char _tipocf;
// Ridefinizione dei metodi virtuali
virtual bool user_create( );
virtual bool user_destroy( );
@ -112,7 +122,7 @@ class TMotore_application : public TRelation_application
// Funzioni per il calcolo delle righe
real user_row_calculate( TRectype& row, int index );
void user_set_handler( int fieldid, int index );
void user_set_handler( int fieldid, int index, TMask* m = NULL );
long prossimo_numero( bool provv );
int avanza_numero( bool provv );
@ -156,7 +166,11 @@ protected:
// Handler per la maschera di ricerca
static bool ndoc_handler(TMask_field& f, KEY key);
static bool num_handler(TMask_field& f, KEY key);
static bool tip_handler(TMask_field& f, KEY key);
static bool tip_handler(TMask_field& f, KEY key);
// Handler per la maschera di modifica
static bool clifo_handler(TMask_field& f, KEY key);
static bool occas_handler(TMask_field& f, KEY key);
// Configurazione dello sheet dato il profilo
void configura_sheet( TSheet_field& sheet, TConfig& config );
@ -171,10 +185,13 @@ public:
TMask& query_mask( ) { CHECK( _msk, "Maschera di ricerca nulla!" ); return *_msk; };
TMask& edit_mask( ) { CHECK( _msk1, "Maschera di modifica nulla!" ); return *_msk1; };
TRelation& rel( ) { CHECK( _rel, "Relazione nulla!" ); return *_rel; };
TSheet_field& sheet( ) { CHECK( _sheet, "Sheet nullo!" ); return *_sheet; };
TSheet_field& sheet( ) { CHECK( _sheet, "Sheet nullo!" ); return *_sheet; };
TCliForVendite& clifo( ) { CHECK( _clifor, "Oggetto cliente nullo!" ); return *_clifor; };
// Operazione
const char tipocf( ){ return _tipocf; }
void tipocf( const char tcf ){ _tipocf = tcf; }
bool valida_operazione( int operazione );
TSheet_field& ss( ) const { return *_sheet; }
@ -225,7 +242,7 @@ TMask *TMotore_application::ss_getmask( int numriga, TMask& fullmask, bool destr
TString chiave;
chiave.format( "%d", i );
TToken_string riga = proriga.get( chiave, "HANDLERS" );
app().user_set_handler( riga.get_int( 0 ), riga.get_int( 1 ) );
app().user_set_handler( riga.get_int( 0 ), riga.get_int( 1 ), m );
};
return( m );
}
@ -259,24 +276,25 @@ real TMotore_application::user_row_calculate( TRectype& r, int index )
}
};
void TMotore_application::user_set_handler( int fieldid, int index )
void TMotore_application::user_set_handler( int fieldid, int index, TMask* m )
{
if( !m )
m = &edit_mask( );
switch( index )
{
case 1:
edit_mask( ).set_handler( fieldid, ora_hndl );
m->set_handler( fieldid, ora_hndl );
break;
case 2:
edit_mask( ).set_handler( fieldid, codcli_hndl );
m->set_handler( fieldid, codcli_hndl );
break;
case 3:
edit_mask( ).set_handler( fieldid, dummy_hndl );
m->set_handler( fieldid, dummy_hndl );
break;
default:
CHECK( FALSE, "Tentativo di installare un handler non definito" );
break;
}
};
bool TMotore_application::ss_handler( TSheet_field& ss, int r, KEY key )
@ -390,6 +408,18 @@ bool TMotore_application::num_handler( TMask_field& f, KEY key )
return TRUE;
}
bool TMotore_application::occas_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE && f.mask( ).is_running( ) )
{
TMask& om = app( ).clifo( ). occas_mask( );
om.run( );
f.set_focus( );
}
return TRUE;
}
bool TMotore_application::tip_handler(TMask_field& f, KEY key)
{
TMask& m = f.mask( );
@ -455,16 +485,68 @@ bool TMotore_application::ndoc_handler(TMask_field& f, KEY key)
doc.put("NDOC", f.get( ) );
if ( doc.read( ) == NOERR )
{ m.set(F_TIPODOC, doc.get( "TIPODOC" ) );
m.set(F_STATO, doc.get( "STATO" ) );
TTable tabtip( "%TIP" );
tabtip.put( "CODTAB", doc.get( "TIPODOC" ) );
tabtip.read( );
m.set(F_PROFILO, tabtip.get("S4") );
m.set(F_PROFILO, tabtip.get("S4") );
m.stop_run( K_AUTO_ENTER );
}
}
return TRUE;
}
bool TMotore_application::clifo_handler(TMask_field& f, KEY key)
{
if (key == K_TAB && f.active())
{
TMask& m = f.mask();
const char cf = app().tipocf();
TLocalisamfile& clifo = ((TEdit_field&)f).browse()->cursor()->file();
if (clifo.get_char("TIPOCF") != cf || clifo.get("CODCF") != f.get())
{
clifo.setkey(1);
clifo.put("TIPOCF", cf);
clifo.put("CODCF", f.get());
clifo.read();
CHECK(clifo.good(), "Impossibile ritrovare il clifo" );
}
CHECKD(f.is_edit(), "Can't check suspension of a non edit-field ", f.dlg());
const TEdit_field& c = (const TEdit_field&)f;
const TBrowse* b = c.browse();
CHECKD(b, "Can't check suspension of a edit-field without a USE ", f.dlg());
const TLocalisamfile& i = b->cursor()->file();
// Tabella File
const char* sf = i.tab() ? "B2" : "SOSPESO";
const bool suspended = i.get_bool(sf);
if (suspended)
{
sf = f.get();
return f.error_box("Il codice '%s' e' sospeso e non puo' essere utilizzato", sf);
}
/*
if (!m.is_running() || f.dirty())
{
// Equichecazzociva?
}
*/
app().clifo( ).load( cf, atol( f.get( ) ) );
// Disabilitazioni varie, ma le demando all'oggetto cliente
if (f.focusdirty())
{
app().clifo( ).update_mask( m );
if ( app( ).clifo( ).occasionale( ) && app( ).clifo( ).occas_mask( ).get(O_CODICE).empty( ) )
m.send_key(K_SPACE, F_OCCASEDIT); // Lancia maschera occasionali
}
}
return TRUE;
}
void TMotore_application::azzera_piedi( )
{
@ -525,6 +607,8 @@ void TMotore_application::get_edit_mask( void )
edit_mask( ).set( F_DESNUM, query_mask( ).get( F_DESNUM ) );
_sheet = &(TSheet_field &)edit_mask( ).field(F_SHEET);
sheet( ).set_notify( ss_handler );
TString tipocf( app( ).pro( ).get( "TIPOCF", "MAIN" ) );
app( ).tipocf( tipocf[ 0 ] );
configura_sheet( *_sheet, *_pro );
TList_field& listbox = ( TList_field& ) _msk1->field( F_LBTIPORIGA );
const int numtr = app( ).pro( ).get_int( "NTIPIRIGA", "RIGHE" );
@ -568,7 +652,8 @@ TMask* TMotore_application::get_mask( int mode )
case MODE_MOD:
get_edit_mask( );
edit_mask( ).enable( DLG_PRINT, ( mode == MODE_MOD ) );
edit_mask( ).enable( 99, ( mode == MODE_MOD ) );
edit_mask( ).set_handler( F_OCCASEDIT, occas_handler );
edit_mask( ).set_handler( F_CODCF, clifo_handler );
return ( _msk1 );
break;
default:
@ -636,6 +721,7 @@ const char* TMotore_application::get_next_key( )
int TMotore_application::read(TMask& m)
{
azzera_piedi( );
clifo( ).occas_mask( ).reset( );
int err = TRelation_application::read( m );
if ( err == NOERR )
{
@ -646,8 +732,7 @@ int TMotore_application::read(TMask& m)
r.put( "PROVV", m.get( F_PROVV ) );
r.put( "ANNO", m.get( F_ANNO ) );
r.put( "NDOC", m.get_long( F_NDOC ) );
_righe_rec->read( r );
_righe_rec->read( r );
TSheet_field& f = (TSheet_field&) m.field( F_SHEET );
f.destroy( );
int last = _righe_rec->last_row( );
@ -656,8 +741,7 @@ int TMotore_application::read(TMask& m)
TRectype &rec = _righe_rec->row( i, TRUE );
load_riga( f, i - 1, rec );
calcola_riga( rec );
}
}
TToken_string s( pro( ).get( "PROGPIEDE", "MAIN" ) );
i = s.get_int( );
int j = 0;
@ -685,6 +769,11 @@ int TMotore_application::write(const TMask& m)
if ( esegui_procedura( OP_NUOVO ) != NOERR )
return FALSE;
err = NOERR; // avanza_numero( m.get_bool( F_PROVV ) );
if ( err == NOERR )
{
err = app( ).clifo( ).write_occas( );
}
if ( err == NOERR )
{
err = TRelation_application::write( m );
@ -826,14 +915,7 @@ void TMotore_application::calcola_riga( TRectype& r )
bool TMotore_application::user_create( )
{
TCliFor C;
C.load( 'C', 1 );
TString s;
TString s1( C.get( LF_CLIFO, "RAGSOC" ) );
TString s2( C.get( LF_CFVEN, "CODINDDOC" ) );
s.format( "%s:%d", ( const char * )s1, atoi( s2 ) );
message_box( ( const char * ) s );
_clifor = new TCliForVendite( );
azzera_piedi( );
_msk = new TMask("VE1000A");
query_mask( ).set_handler( F_NDOC, ndoc_handler );

View File

@ -47,22 +47,13 @@
#include "veuml.h"
#endif
// Costanti simboliche per i tipi di campo
#ifndef __LFFILES_H
#include "lffiles.h"
#endif
#define T_DATE 1
#define T_STRING 2
#define T_NUMBER 3
#define T_BOOLEAN 4
#define T_LISTBOX 5
#define T_MEMO 6
#define T_GROUPBOX 7
// Costanti simboliche per flags del campo
#define FS_HIDDEN 0
#define FS_DISABLED 1
#define FS_NORMAL 2
#define FS_REQUIRED 3
#ifndef __VEINI_H
#include "veini.h"
#endif
// Significato delle colonne nella tabella _tab0300b
#define B_NOME 0
@ -145,6 +136,7 @@ public:
// USE
void use( const TString& s ){ outline( s, "US " ); };
void use( const int file, const int key ){ _out << "US " << file << " KEY " << key << "\n"; };
// DISPLAY
void display( const TString& s ){ outline( s, "DI " ); };
@ -199,7 +191,7 @@ void TMaschera::check( const int i )
{
switch( i )
{
case FS_REQUIRED:
case S_OBBLIGATORIO:
outline ( "CH REQUIRED" );
break;
default:
@ -212,27 +204,30 @@ void TMaschera::control( const int type, const int id, const int size )
{
switch ( type )
{
case T_DATE:
case T_DATA:
_out << "DA";
break;
case T_STRING:
case T_STRINGA:
_out << "ST";
break;
case T_BOOLEAN:
case T_CHECKBOX:
_out << "BO";
break;
case T_NUMBER:
case T_NUMERO:
_out << "NU";
break;
case T_LISTBOX:
case T_LISTA:
_out << "LI";
break;
case T_MEMO:
_out << "ME";
break;
case T_GROUPBOX:
case T_CORNICE:
_out << "GR";
break;
case T_BOTTONE:
_out << "BU";
break;
}
_out << " " << id;
if ( size > 0 )
@ -458,7 +453,7 @@ void TField::genera( TMaschera& m )
{
TString s;
if ( _stato == FS_HIDDEN )
if ( _stato == S_NASCOSTO )
return;
if ( _size != 0 )
m.control( _type, _id, _size );
@ -467,20 +462,14 @@ void TField::genera( TMaschera& m )
m.begin();
switch( _stato )
{
case FS_HIDDEN:
m.prompt( 2, 2 );
s = "H";
s << _flag;
m.flag( s ) ;
break;
case FS_DISABLED :
case S_DISABILITATO :
m.prompt( _x, _y + m.line( ), _prompt );
s = "D";
s << _flag;
m.flag( s ) ;
break;
case FS_NORMAL :
case FS_REQUIRED :
case S_NORMALE :
case S_OBBLIGATORIO :
m.prompt( _x, _y + m.line( ), _prompt );
m.flag( _flag );
break;
@ -748,7 +737,7 @@ int TMask_generator::stato_del_campo( TString campo )
// Utilizza poi la minore delle due.
TToken_string config( _fieldsini.get( "CONFIGS", campo ) );
int items = config.items( );
int stato = FS_REQUIRED;
int stato = S_OBBLIGATORIO;
for ( int i = 0; i < items; i += 3 )
{ TString chiave = config[ i ];
TString valore = config[ i + 1 ];
@ -762,7 +751,7 @@ int TMask_generator::stato_del_campo( TString campo )
TString gruppo ( _fieldsini.get( "GROUP", campo ) );
gruppo.trim( );
config = ( _groupsini.get( "CONFIGS", gruppo ) );
int stato_gruppo = FS_REQUIRED;
int stato_gruppo = S_OBBLIGATORIO;
for ( i = 0; i < items; i += 3 )
{ TString chiave = config[ i ];
TString valore = config[ i + 1 ];
@ -797,68 +786,68 @@ void TMask_generator::intestazione_pagina( )
_m->page( _m->page( ) + 1 );
_m->pagina( _m->page( ) );
_m->control( T_GROUPBOX, DLG_NULL, 7806 );
_m->control( T_CORNICE, DLG_NULL, 7806 );
_m->begin( );
_m->prompt( 1, 0, "" );
_m->end( );
_m->control( T_STRING, DLG_NULL, 4 );
_m->control( T_STRINGA, DLG_NULL, 4 );
_m->begin();
_m->prompt( 2, 1, "Cod. num. " );
_m->group( 2 );
_m->flag( "DUZ" );
_m->end();
_m->control( T_STRING, DLG_NULL, 50 );
_m->control( T_STRINGA, DLG_NULL, 50 );
_m->begin();
_m->prompt( 24, 1 );
_m->flag( "DU" );
_m->group( 3 );
_m->end();
_m->control( T_STRING, DLG_NULL, 4 );
_m->control( T_STRINGA, DLG_NULL, 4 );
_m->begin();
_m->prompt( 2, 2, "Tipo doc. " );
_m->flag( "DU" );
_m->group( 4 );
_m->end();
_m->control( T_STRING, DLG_NULL, 50 );
_m->control( T_STRINGA, DLG_NULL, 50 );
_m->begin();
_m->prompt( 24, 2 );
_m->flag( "DU" );
_m->group( 5 );
_m->end();
_m->control( T_NUMBER, DLG_NULL, 6 );
_m->control( T_NUMERO, DLG_NULL, 6 );
_m->begin();
_m->prompt( 2, 3, "Doc.: nr. " );
_m->group( 6 );
_m->flag( "D" );
_m->end();
_m->control( T_DATE );
_m->control( T_DATA );
_m->begin();
_m->prompt( 24, 3, "Data " );
_m->group( 7 );
_m->flag( "D" );
_m->end();
_m->control( T_NUMBER, DLG_NULL, 1 );
_m->control( T_NUMERO, DLG_NULL, 1 );
_m->begin();
_m->prompt( 50, 3, "Stato " );
_m->group( 8 );
_m->flag( "D" );
_m->end();
_m->control( T_STRING, DLG_NULL, 4 );
_m->control( T_STRINGA, DLG_NULL, 4 );
_m->begin();
_m->prompt( 66, 3, "Es. " );
_m->flag( "D" );
_m->group( 9 );
_m->end();
_m->control( T_STRING, DLG_NULL, 6 );
_m->control( T_STRINGA, DLG_NULL, 6 );
_m->begin();
if ( _pro->get( "TIPOCF", "MAIN" ) == "C" )
_m->prompt( 2, 4, "Cliente " );
@ -868,7 +857,7 @@ void TMask_generator::intestazione_pagina( )
_m->group( 10 );
_m->end();
_m->control( T_STRING, DLG_NULL, 50 );
_m->control( T_STRINGA, DLG_NULL, 50 );
_m->begin();
_m->prompt( 24, 4, "" );
_m->flag( "D" );
@ -879,37 +868,40 @@ void TMask_generator::intestazione_pagina( )
void TMask_generator::genera( )
{
int i;
int i;
TString temp_s;
// Definizione della toolbar
_m->outline( "TOOLBAR \"\" 0 20 0 2" );
_m->outline( "BU 18 8 2" );
_m->control( T_BOTTONE, 18, 802 );
_m->begin();
_m->prompt( -15, -1, "~Registra" );
_m->message( "EXIT,20082" );
_m->end();
_m->outline( "BU 17 8 2" );
_m->control( T_BOTTONE, 17, 802 );
_m->begin();
_m->prompt( -25, -1, "~Elimina" );
_m->message( "EXIT,127" );
_m->end();
_m->outline( "BU 99 8 2" );
_m->control( T_BOTTONE, 99, 802 );
_m->begin();
_m->prompt( -35, -1, "E~labora" );
_m->message( "EXIT,345" );
_m->end();
_m->outline( "BU 24 8 2" );
_m->control( T_BOTTONE, 24, 802 );
_m->begin();
_m->prompt( -45, -1 );
_m->message( "EXIT,346" );
_m->end();
_m->outline( "BU 2 8 2" );
_m->control( T_BOTTONE, 2, 802 );
_m->begin();
_m->prompt( -55, -1 );
_m->message( "EXIT,27" );
@ -923,12 +915,12 @@ void TMask_generator::genera( )
_m->outline( "PA \"Pagina \" 11 60 14" );
_m->control( T_GROUPBOX, DLG_NULL, 7806 );
_m->control( T_CORNICE, DLG_NULL, 7806 );
_m->begin( );
_m->prompt( 1, 0, "" );
_m->end( );
_m->control( T_STRING, F_CODNUM, 4 );
_m->control( T_STRINGA, F_CODNUM, 4 );
_m->begin();
_m->prompt( 2, 1, "Cod. num. " );
_m->field( "CODNUM" );
@ -936,78 +928,126 @@ void TMask_generator::genera( )
_m->message( "CO,2@" );
_m->end();
_m->control( T_STRING, F_DESNUM, 50 );
_m->control( T_STRINGA, F_DESNUM, 50 );
_m->begin();
_m->prompt( 24, 1 );
_m->flag( "GDU" );
_m->message( "CO,3@" );
_m->end();
_m->control( T_STRING, F_TIPODOC, 4 );
_m->control( T_STRINGA, F_TIPODOC, 4 );
_m->begin();
_m->prompt( 2, 2, "Tipo doc. " );
_m->flag( "GDU" );
_m->message( "CO,4@" );
_m->end();
_m->control( T_STRING, F_TIPOCF, 1 );
_m->control( T_STRINGA, F_TIPOCF, 1 );
_m->begin();
_m->prompt( 2, 2, "Tipo CF " );
_m->field( "TIPOCF" );
_m->flag( "H" );
_m->end();
_m->control( T_STRING, F_DESTIPODOC, 50 );
_m->control( T_STRINGA, F_PROVV, 1 );
_m->begin();
_m->prompt( 2, 2, "<D><P> " );
_m->field( "PROVV" );
_m->flag( "H" );
_m->end();
_m->control( T_STRINGA, F_DESTIPODOC, 50 );
_m->begin();
_m->prompt( 24, 2 );
_m->flag( "GDU" );
_m->message( "CO,5@" );
_m->end();
_m->control( T_NUMBER, F_NDOC, 6 );
_m->control( T_NUMERO, F_NDOC, 6 );
_m->begin();
_m->prompt( 2, 3, "Doc.: nr. " );
_m->field( "NDOC" );
_m->message( "CO,6@" );
_m->flag( "GDR" );
_m->end();
_m->control( T_DATE, F_DATADOC );
_m->control( T_DATA, F_DATADOC );
_m->begin();
_m->prompt( 24, 3, "Data " );
_m->field( "DATADOC" );
_m->message( "CO,7@" );
_m->flag( "" );
_m->end();
_m->control( T_NUMBER, F_STATO, 1 );
_m->control( T_NUMERO, F_STATO, 1 );
_m->begin();
_m->prompt( 50, 3, "Stato " );
_m->field( "STATO" );
_m->message( "CO,8@" );
_m->flag( "D" );
_m->end();
_m->control( T_STRING, F_ANNO, 4 );
_m->control( T_STRINGA, F_ANNO, 4 );
_m->begin();
_m->prompt( 66, 3, "Es. " );
_m->field( "ANNO" );
_m->flag( "GD" );
_m->message( "CO,9@" );
_m->end();
_m->control( T_STRING, F_CODCF, 6 );
_m->control( T_STRINGA, F_CODCF, 6 );
_m->begin();
if ( _pro->get( "TIPOCF", "MAIN" ) == "C" )
{
_m->prompt( 2, 4, "Cliente " );
_m->warning( "Cliente assente" );
_m->help( "Codice del cliente del documento" );
}
else
{
_m->prompt( 2, 4, "Fornitore " );
_m->flag( "" );
_m->message( "CO,10@" );
_m->warning( "Fornitore assente" );
_m->help( "Codice del fornitore del documento" );
}
_m->flag( "R" );
_m->field( "CODCF" );
_m->group( 1 );
_m->use( LF_CLIFO, 1 );
temp_s.format( "TIPOCF \"C\"~CODCF %d", F_CODCF);
_m->input( temp_s );
_m->display( "\"Codice\" CODCF~\"Ragione Sociale@50\" RAGSOC~\"Partita IVA@12\" PAIV~\"Sospeso\" SOSPESO" );
temp_s.format( "%d CODCF~%d RAGSOC", F_CODCF, F_DESCF );
_m->output( temp_s );
_m->check( S_OBBLIGATORIO );
_m->outline( "ADD RU cg0 -1 C" );
_m->end();
_m->control( T_STRING, F_DESCF, 50 );
_m->control( T_STRINGA, F_DESCF, 50 );
_m->begin( );
if ( _pro->get( "TIPOCF", "MAIN" ) == "C" )
{
_m->warning( "Cliente assente" );
_m->help( "Ragione sociale del cliente del documento" );
}
else
{
_m->warning( "Fornitore assente" );
_m->help( "Ragione sociale del fornitore del documento" );
}
_m->prompt( 24, 4, "" );
_m->flag( "" );
_m->message( "CO,11@" );
_m->group( 1 );
_m->use( LF_CLIFO, 2 );
temp_s.format( "TIPOCF \"C\"~RAGSOC %d", F_DESCF);
_m->input( temp_s );
_m->display( "\"Ragione Sociale@50\" RAGSOC~\"Partita IVA@12\" PAIV~\"Codice\" CODCF" );
temp_s.format( "%d CODCF~%d RAGSOC", F_CODCF, F_DESCF );
_m->output( temp_s );
_m->check( S_OBBLIGATORIO );
_m->outline( "ADD RU cg0 -1 C" );
_m->end();
_m->line( MASK_FIRST_LINE );
// Generazione
@ -1023,7 +1063,7 @@ void TMask_generator::genera( )
{
TString nome = (( TField & )campi[ i ]).nome( );
int stato = stato_del_campo( nome );
if( stato != FS_HIDDEN )
if( stato != S_NASCOSTO )
{
const int addgruppo = (( TField & )campi[ i ]).gruppo( );
TString16 chiave;
@ -1079,7 +1119,7 @@ void TMask_generator::genera( )
intestazione_pagina( );
// Generazione del listbox per i tipi di riga da aggiungere nello sheet
_m->control ( T_LISTBOX, F_LBTIPORIGA, 30 );
_m->control ( T_LISTA, F_LBTIPORIGA, 30 );
_m->begin();
_m->prompt( 2, 7, "Tipo riga da aggiungere " );
_m->end( );
@ -1103,7 +1143,7 @@ void TMask_generator::genera( )
int piede = s.get_int();;
while ( piede != 0 )
{
_m->control( T_NUMBER, BASE_PIEDE + cp, 1805 );
_m->control( T_NUMERO, BASE_PIEDE + cp, 1805 );
_m->begin();
TString header = _ditta.get( "PIEDE", "ve", piede );
while( header.len() < 40 ) header << " ";

View File

@ -71,14 +71,6 @@ MSKID=F_TIPOCF
TYPE=T_STRINGA
SIZE=1
PROMPT=Tipo cliente/fornitore
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
CONFIGS=
//[CODCF]
//GROUP=100
@ -98,7 +90,6 @@ CONFIGS=
//LF_CLIFO->CODCAB~F_CODLIST LF_CFVEN->CODLIST~F_CODPAG LF_CLIFO->CODPAG
//SPECIAL=ME C,F_TIPOCF~ME 9,F_CODVAL~ME 9 F_CODLIN~ME 9 F_CODABIA~ME 9 F_CODCABA~ME 9 F_CODPAG~JO LF_CFVEN TO LF_CLIFO KE 1 INTO TIPOCF=TIPOCF CODCF=CODCF
//WARNING=Cliente non presente
//ITEMS=
//HELP=Inserire il codice del cliente
@ -107,10 +98,8 @@ CONFIGS=
//GROUP=100
//X=15
//Y=1
//FIELDNAME=
//MSKID=F_RAGSOC
//TYPE=T_STRINGA
//PROMPT=
//SIZE=50
//FLAG=U
//USE=LF_CLIFO KE 2
@ -119,7 +108,6 @@ CONFIGS=
//OUTPUT=@F_CODCF
//SPECIAL=JO LF_CFVEN TO LF_CLIFO KE 1 INTO TIPOCF=TIPOCF CODCF=CODCF
//WARNING=Ragione sociale non trovata
//ITEMS=
//HELP=Inserire la ragione sociale della ditta
[OCFPI]
@ -133,13 +121,15 @@ MSKID=F_OCFPI
TYPE=T_STRINGA
PROMPT="Codice cliente occasionale "
SIZE=16
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[OCCASEDIT]
GROUP=100
TYPE=T_BOTTONE
SIZE=801
PROMPT="Modifica"
X=60
Y=0
MSKID=F_OCCASEDIT
[OCCAS]
// questo campo viene memorizzato solo se il cliente e' occasionale
@ -150,75 +140,45 @@ FIELDNAME=OCCAS
MSKID=F_OCCAS
TYPE=T_CHECKBOX
PROMPT=""
SIZE=
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[COFI]
// il campo e' letto nel file 20 clifo
GROUP=100
X=2
Y=0
FIELDNAME=
MSKID=F_COFI
TYPE=T_STRINGA
PROMPT="Cod. fisc. "
SIZE=16
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[STATOPAIV]
// il campo e' letto nel file 20 clifo
GROUP=100
X=50
Y=0
FIELDNAME=
MSKID=F_STATOPAIVA
TYPE=T_STRINGA
PROMPT="P.Iva "
SIZE=2
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[PAIVA]
// il campo e' letto nel file 20 clifo
GROUP=100
X=60
Y=0
FIELDNAME=
MSKID=F_PAIVA
TYPE=T_STRINGA
PROMPT=""
SIZE=12
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[INDCF]
// il campo e' letto nel file 20 clifo
GROUP=100
X=2
Y=1
FIELDNAME=
MSKID=F_INDCF
TYPE=T_STRINGA
PROMPT="Indirizzo "
@ -230,144 +190,88 @@ FLAG=U
GROUP=100
X=59
Y=1
FIELDNAME=
MSKID=F_CIVCF
TYPE=T_STRINGA
PROMPT="N. "
SIZE=10
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[LOCALITACF]
// il campo e' letto nel file 20 clifo
GROUP=100
X=2
Y=2
FIELDNAME=
MSKID=F_LOCALITACF
TYPE=T_STRINGA
PROMPT="Localita' "
SIZE=35
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[CAPCF]
// il campo e' letto nel file 20 clifo
GROUP=100
X=50
Y=2
FIELDNAME=
MSKID=F_CAPCF
TYPE=T_STRINGA
PROMPT="C.A.P."
SIZE=5
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[COMCF]
// il campo e' letto nel file 20 clifo
GROUP=100
X=2
Y=3
FIELDNAME=
MSKID=F_COMCF
TYPE=T_STRINGA
PROMPT="Comune "
SIZE=4
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[DENCOM]
// il campo e' letto nel file 13 comuni con chiave [COMCF]
GROUP=100
X=22
Y=3
FIELDNAME=
MSKID=F_DENCOM
TYPE=T_STRINGA
PROMPT=""
SIZE=50
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[PROVCOM]
// il campo e' letto nel file 13 comuni con chiave [COMCF]
GROUP=100
X=64
Y=2
FIELDNAME=
MSKID=F_PROVCOM
TYPE=T_STRINGA
PROMPT="Pr."
SIZE=5
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[STATOCF]
// il campo e' letto nel file 20 clifo va visualizzato solo se <>""
GROUP=100
X=2
Y=4
FIELDNAME=
MSKID=F_STATOCF
TYPE=T_STRINGA
PROMPT="Stato "
SIZE=3
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[DESSTATOCF]
// il campo e' letto nella tabella %STA e va visualizzato solo se [STATOCF]<>""
GROUP=100
X=22
Y=4
FIELDNAME=
MSKID=F_DESSTATOCF
TYPE=T_STRINGA
PROMPT=""
SIZE=50
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[CODVAL]
//se codice=LIT il campo cambio e' di sola visualizzazione
@ -384,27 +288,16 @@ USE=%VAL
INPUT=CODTAB F_CODVAL
DISPLAY="Codice" CODTAB~"Descrizione@50" S0~"Cambio@15" R10~"Data valuta" D0
OUTPUT=F_CODVAL CODTAB~F_NOMEVAL S0~F_CAMBIO R10~F_DATACAMBIO D0
SPECIAL=
WARNING=Codice valuta non trovato
ITEMS=
HELP=Inserisci il codice della valuta
[NOME_VAL]
GROUP=200
X=22
Y=0
FIELDNAME=
MSKID=F_NOMEVAL
TYPE=T_STRINGA
PROMPT=
SIZE=50
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[CAMBIO]
// attenzione se abilitato archivio cambi cambio e data rilevati da tale archivio
@ -417,30 +310,16 @@ TYPE=T_NUMERO
PROMPT="Cambio "
SIZE=1505
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[DATA_CAMBIO]
// attenzione se abilitato archivio cambi cambio e data rilevati da tale archivio
GROUP=200
X=50
Y=1
FIELDNAME=
MSKID=F_DATACAMBIO
TYPE=T_DATA
PROMPT="Data valuta "
SIZE=
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[CODLIN]
GROUP=300
@ -456,24 +335,16 @@ USE=%LNG
INPUT=CODTAB F_CODLIN
DISPLAY="Codice" CODTAB~"Descrizione@50" S0
OUTPUT=F_CODLIN CODTAB~F_DESLIN S0
SPECIAL=
ITEMS=
SPECIAL=CH NORMAL
[DESLIN]
GROUP=300
X=22
Y=0
FIELDNAME=
MSKID=F_DESLIN
TYPE=T_STRINGA
PROMPT=""
SIZE=50
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[CODPAG]
GROUP=400
@ -489,27 +360,16 @@ USE=%CPG
INPUT=CODTAB F_CODPAG
DISPLAY="Codice" CODTAB~"Descrizione@50" S0
OUTPUT=F_CODPAG CODTAB~F_DESCODPAG S0
SPECIAL=
WARNING=Codice tipo pagamento non trovato
ITEMS=
HELP=Inserisci il codice del tipo di pagamento
[DESCODPAG]
GROUP=400
X=22
Y=0
FIELDNAME=
MSKID=F_DESCODPAG
TYPE=T_STRINGA
PROMPT=
SIZE=50
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[DATAINSC]
GROUP=500
@ -519,101 +379,49 @@ FIELDNAME=DATAINSC
MSKID=F_DATAINSC
TYPE=T_DATA
PROMPT="Data inizio scad. "
SIZE=
FLAG=A
USE=
INPUT=
DISPLAY=
OUTPUT=
WARNING=E' richiesta una data valido
SPECIAL=
HELP=Inserisci la data di inizio scadenza
ITEMS=
[DATASCAD1]
GROUP=500
X=36
Y=0
FIELDNAME=
MSKID=F_DATASCAD1
TYPE=T_DATA
PROMPT="Scadenze : 1' "
SIZE=
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[DATASCAD2]
GROUP=500
X=62
Y=0
FIELDNAME=
MSKID=F_DATASCAD2
TYPE=T_DATA
PROMPT="2' "
SIZE=
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[DATASCAD3]
GROUP=500
X=22
Y=1
FIELDNAME=
MSKID=F_DATASCAD3
TYPE=T_DATA
PROMPT="3' "
SIZE=
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[DATASCAD4]
GROUP=500
X=47
Y=1
FIELDNAME=
MSKID=F_DATASCAD4
TYPE=T_DATA
PROMPT="4' "
SIZE=
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[DATASCAD5]
GROUP=500
X=62
Y=1
FIELDNAME=
MSKID=F_DATASCAD5
TYPE=T_DATA
PROMPT="5' "
SIZE=
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[CODABIA]
GROUP=600
@ -629,10 +437,6 @@ USE=%BAN KE 1 SELECT CODTAB[6,10]!=""
INPUT=CODTAB[1,5] F_CODABIA
DISPLAY="Cod. Istit." CODTAB[1,5]~"Cod. Fil." CODTAB[6,10]~"Denominazione@50" S0
OUTPUT=F_CODABIA CODTAB[1,5]~F_CODCABA CODTAB[6,10]~F_DESBANAPP S0
SPECIAL=
WARNING=
ITEMS=
HELP=
[CODCABA]
GROUP=600
@ -648,29 +452,19 @@ USE=@F_CODABIA
INPUT=CODTAB[1,5] F_CODABIA~CODTAB[6,10] F_CODCABA
DISPLAY=@F_CODABIA
OUTPUT=@F_CODABIA
SPECIAL=
WARNING=
ITEMS=
HELP=
[DESBANAPP]
GROUP=600
X=2
Y=1
FIELDNAME=
MSKID=F_DESBANAPP
TYPE=T_STRINGA
PROMPT="Denominazione banca "
SIZE=50
FLAG=
USE=%BAN KE 2
INPUT=S0 F_DESBANAPP
DISPLAY=@F_CODABIA
OUTPUT=@F_CODABIA
SPECIAL=
WARNING=
ITEMS=
HELP=
[CODABIP]
GROUP=700
@ -686,10 +480,6 @@ USE=%BAN KE 1 SELECT CODTAB[6,10]!=""
INPUT=CODTAB[1,5] F_CODABIP
DISPLAY="Cod. Istit." CODTAB[1,5]~"Cod. Fil." CODTAB[6,10]~"Denominazione@50" S0
OUTPUT=F_CODABIP CODTAB[1,5]~F_CODCABP CODTAB[6,10]~F_DESBANPRE S0
SPECIAL=
WARNING=
ITEMS=
HELP=
[CODCABP]
GROUP=700
@ -705,29 +495,19 @@ USE=@F_CODABIP
INPUT=CODTAB[1,5] F_CODABIP~CODTAB[6,10] F_CODCABP
DISPLAY=@F_CODABIP
OUTPUT=@F_CODABIP
SPECIAL=
WARNING=
ITEMS=
HELP=
[DESBANPRE]
GROUP=700
X=1
Y=1
FIELDNAME=
MSKID=F_DESBANPRE
TYPE=T_STRINGA
PROMPT="Denominazione banca "
SIZE=50
FLAG=
USE=%BAN KE 2
INPUT=S0 F_DESBANPRE
DISPLAY=@F_CODABIP
OUTPUT=@F_CODABIP
SPECIAL=
WARNING=
ITEMS=
HELP=
[CODLIST]
GROUP=800
@ -739,14 +519,8 @@ TYPE=T_STRINGA
PROMPT="Cod. listini "
SIZE=5
FLAG=U
USE=
INPUT=
DISPLAY=
OUTPUT=
WARNING=Codice del listino non corretto o non presente !!!
SPECIAL=
HELP=Inserisci il codice del listino
ITEMS=
[CODCONT]
GROUP=800
@ -757,13 +531,6 @@ MSKID=F_CODCONT
TYPE=T_STRINGA
PROMPT="Cod. contratti "
SIZE=2
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[CODCAMP]
GROUP=800
@ -774,13 +541,6 @@ MSKID=F_CODCAMP
TYPE=T_STRINGA
PROMPT="Cod. campagne "
SIZE=1
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[SCONTOPERC]
GROUP=800
@ -791,13 +551,6 @@ MSKID=F_SCONTOPERC
TYPE=T_NUMERO
PROMPT="Percentuale di sconto "
SIZE=0602
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[CODINDSP]
GROUP=900
@ -808,25 +561,16 @@ MSKID=F_CODINDSP
TYPE=T_STRINGA
PROMPT="Cod. ind. sped. "
SIZE=3
FLAG=
USE=
INPUT=
DISPLAY=
OUTPUT=
WARNING=Indirizzo di spedizione non trovato!
SPECIAL=
HELP=Inserisci il codice dell'indirizzo di spedizione
ITEMS=
[RAGSOCSP]
// il campo e' letto nel file 20 clifo
GROUP=900
X=24
Y=0
FIELDNAME=
MSKID=F_RAGSOC
TYPE=T_STRINGA
PROMPT=
SIZE=50
FLAG=U
USE=20 KE 2
@ -834,148 +578,88 @@ INPUT=RAGSOC 301
DISPLAY="Ragione sociale@50" 20->RAGSOC~"Codice" 20->CODCF~"Indrizzo@35" 20->INDCF
SPECIAL=JO 17 TO 20 KE 1 INTO TIPOCF=TIPOCF CODCF=CODCF
WARNING=Ragione sociale non trovata
ITEMS=
HELP=Inserire la ragione sociale della ditta
[INDSP]
GROUP=900
X=24
Y=1
FIELDNAME=
MSKID=F_INDSP
TYPE=T_STRINGA
PROMPT=
SIZE=35
FLAG=U
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[CIVSP]
GROUP=900
X=62
Y=1
FIELDNAME=
MSKID=F_CIVSP
TYPE=T_STRINGA
PROMPT=
SIZE=10
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[LOCALITASP]
GROUP=900
X=1
Y=2
FIELDNAME=
MSKID=F_LOCALITASP
TYPE=T_STRINGA
PROMPT="Località "
SIZE=35
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[CAPSP]
GROUP=900
X=57
Y=2
FIELDNAME=
MSKID=F_CAPSP
TYPE=T_STRINGA
PROMPT="CAP "
SIZE=5
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[COMSP]
// il campo e' letto nel file 20 clifo
GROUP=900
X=1
Y=3
FIELDNAME=
MSKID=F_COMSP
TYPE=T_STRINGA
PROMPT="Comune "
SIZE=4
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[DENCOMSP]
// il campo e' letto nel file 13 comuni con chiave [COMCF]
GROUP=900
X=15
Y=3
FIELDNAME=
MSKID=F_DENCOMSP
TYPE=T_STRINGA
PROMPT=
SIZE=50
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[PROVCOMSP]
// il campo e' letto nel file 13 comuni con chiave [COMCF]
GROUP=900
X=66
Y=3
FIELDNAME=
MSKID=F_PROVCOMSP
TYPE=T_STRINGA
PROMPT="Prov. "
SIZE=5
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[STATOSP]
// il campo e' letto nel file 20 clifo va visualizzato solo se <>""
GROUP=900
X=1
Y=4
FIELDNAME=
MSKID=F_STATOSP
TYPE=T_STRINGA
PROMPT="Stato "
SIZE=3
FLAG=R
USE=
INPUT=
DISPLAY=
OUTPUT=
SPECIAL=
ITEMS=
[DESSTATOSP]
// il campo e' letto nella tabella %STA e va visualizzato solo se [STATOCF]<>""
@ -1427,7 +1111,6 @@ HELP=Inserisci la tara della merce
GROUP=2700
X=1
Y=3
FIELDNAME=
MSKID=F_DESUMTARA
TYPE=T_STRINGA
PROMPT=Unità di misura della tara
@ -1463,7 +1146,6 @@ HELP=Inserisci il peso netto della merce
GROUP=2700
X=1
Y=6
FIELDNAME=
MSKID=F_DESUMPNETTO
TYPE=T_STRINGA
PROMPT=Unità di misura del peso netto
@ -1499,7 +1181,6 @@ HELP=Inserisci il codice della causale
GROUP=2900
X=1
Y=2
FIELDNAME=
MSKID=F_DESCRMAG1
TYPE=T_STRINGA
PROMPT=Causale di magazzino 1
@ -1523,7 +1204,6 @@ HELP=Inserisci il codice della causale
GROUP=2900
X=1
Y=4
FIELDNAME=
MSKID=F_DESCRMAG2
TYPE=T_STRINGA
PROMPT=Causale di magazzino 2

View File

@ -5,6 +5,7 @@
#define T_LISTA 5
#define T_MEMO 6
#define T_CORNICE 7
#define T_BOTTONE 8
#define S_NASCOSTO 0
#define S_DISABILITATO 1

View File

@ -80,4 +80,6 @@
#define F_DESCF 177 // GESTITO DAL MOTORE
#define DLG_ELABORA 178 // GESTITO DAL MOTORE: bottone Elabora
#define F_ATTIVAANNO 179 // GESTITO DAL MOTORE
#define F_OCCASEDIT 180 // GESTITO DAL MOTORE
#endif // veuml.h