Patch level : 10.0 patch 244
Files correlati : ve0 Ricompilazione Demo : [ ] Commento : Aggiunto il gruppo di testata delle lavanderie (4041) git-svn-id: svn://10.65.10.50/trunk@18304 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
b434396504
commit
501dbfa92a
291
ve/ve0300.cpp
291
ve/ve0300.cpp
@ -260,6 +260,7 @@ public:
|
||||
// Attiva la generazione della maschera
|
||||
void genera( const TString& profilo);
|
||||
|
||||
void genera_testata_1();
|
||||
// Genera l'intestazione di una pagina ( non la prima )
|
||||
void intestazione_pagina( const char* def_title = TR("Parametri"));
|
||||
|
||||
@ -414,6 +415,7 @@ public:
|
||||
void present( bool p ) { _present = p; }
|
||||
bool present( ) const { return _present; }
|
||||
TArray& campi( ) { return _fields; }
|
||||
const bool is_testata() const;
|
||||
virtual TObject* dup() const;
|
||||
|
||||
TGruppo ( int i );
|
||||
@ -509,6 +511,17 @@ void TGruppo::add( TField * field )
|
||||
field->grp(this);
|
||||
}
|
||||
|
||||
const bool TGruppo::is_testata() const
|
||||
{
|
||||
FOR_EACH_ARRAY_ITEM(_fields, i, o)
|
||||
{
|
||||
TField* campo = (TField*) o;
|
||||
if(campo->id() == F_STATO)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
TGruppo::TGruppo( int i )
|
||||
{
|
||||
_id = i;
|
||||
@ -619,6 +632,7 @@ static void genera_gruppo( const TObject& gruppo )
|
||||
grp.present(FALSE);
|
||||
if (_mask_generator == NULL)
|
||||
_mask_generator = &(grp.generatore());
|
||||
|
||||
grp.campi().for_each(verifica_campo);
|
||||
do_events();
|
||||
if (grp.present())
|
||||
@ -654,7 +668,7 @@ void TGruppo::genera( )
|
||||
// Passa alla pagina successiva
|
||||
maschera( ).end( );
|
||||
generatore( ).intestazione_pagina( );
|
||||
//maschera( ).line( MASK_FIRST_LINE );
|
||||
maschera( ).line( MASK_FIRST_LINE );
|
||||
oldlinea = MASK_FIRST_LINE;
|
||||
}
|
||||
_fields.for_each( genera_campo );
|
||||
@ -1215,127 +1229,12 @@ void TMask_generator::genera_sheet(int line, bool show_list, bool genera_disp)
|
||||
_m->_sheet_generated = true;
|
||||
}
|
||||
|
||||
void TMask_generator::genera( const TString& profilo )
|
||||
void TMask_generator::genera_testata_1()
|
||||
{
|
||||
if( profilo == "-all" || profilo[0] == '*')
|
||||
{
|
||||
TString_array profiles;
|
||||
|
||||
{
|
||||
TAssoc_array profiles_array;
|
||||
TRelation rel("%TIP");
|
||||
TCursor t( &rel );
|
||||
long count = t.items();
|
||||
|
||||
for( t = 0; t.pos( ) < count; ++t )
|
||||
{
|
||||
const TString profile_name(t.curr().get("S4"));
|
||||
TFilename profile(profile_name);
|
||||
|
||||
profile.ext("ini");
|
||||
if (fexist(profile) && !profiles_array.is_key(profile_name))
|
||||
profiles_array.add(profile_name);
|
||||
}
|
||||
profiles_array.get_keys(profiles);
|
||||
}
|
||||
|
||||
TProgind bar( profiles.items(), "Generazione automatica profili", FALSE, TRUE);
|
||||
const int items = profiles.items();
|
||||
|
||||
for (int i = 0; i < items; i++)
|
||||
{
|
||||
const TString &profile = profiles.row(i);
|
||||
|
||||
genera(profile);
|
||||
bar.addstatus(1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int i, last;
|
||||
TString temp_s;
|
||||
TFilename proname( profilo );
|
||||
|
||||
// All'inizio il gruppo h 'chiuso'
|
||||
_groupopen = FALSE;
|
||||
|
||||
// Forza l'estensione al profilo
|
||||
proname.ext( "ini" );
|
||||
|
||||
// Se il file di profilo non esiste, esci con un errore fatale
|
||||
if (!fexist( proname))
|
||||
{
|
||||
error_box( "Il profilo %s non esiste!", ( const char * )profilo);
|
||||
return;
|
||||
}
|
||||
|
||||
_pro = new TConfig( proname );
|
||||
|
||||
const char tipo_cf = _pro->get_char("TIPOCF", "MAIN");
|
||||
|
||||
TFilename _mskname(profilo);
|
||||
_mskname.ext( "msk" );
|
||||
|
||||
do_events();
|
||||
// Mi serve per ordinare i gruppi a seconda del documento
|
||||
TAssoc_array grouporder;
|
||||
|
||||
_m = new TMaschera( _mskname );
|
||||
|
||||
// Definizione della toolbar
|
||||
_m->outline( "TOOLBAR \"\" 0 0 0 2" );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_SAVEREC, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -15, -1, "~Registra" );
|
||||
_m->message( "EXIT,20082" );
|
||||
_m->picture(BMP_SAVEREC);
|
||||
_m->picture(BMP_SAVERECDN);
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_DELREC, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -25, -1, "~Elimina" );
|
||||
_m->message( "EXIT,127" );
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_ELABORA, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -35, -1, "E~labora" );
|
||||
_m->picture(BMP_ELABORA);
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_PRINT, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -45, -1 );
|
||||
_m->message( "EXIT,20082" );
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_CONFERMA, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -45, -1, "~Conferma");
|
||||
_m->picture(BMP_OK);
|
||||
_m->flag("D");
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_CANCEL, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -55, -1 );
|
||||
_m->message( "EXIT,27" );
|
||||
_m->end( );
|
||||
|
||||
// End della toolbar
|
||||
_m->end( );
|
||||
|
||||
|
||||
do_events();
|
||||
|
||||
// Header della prima pagina
|
||||
const TString80 title(_pro->get("Title", "MAIN", _m->page(), TR("Testata")));
|
||||
|
||||
_m->pagina( _m->page( ), title);
|
||||
|
||||
_m->control( T_CORNICE, DLG_NULL, 7807);
|
||||
_m->control( T_CORNICE, DLG_NULL, 7806);
|
||||
_m->begin( );
|
||||
_m->prompt( 1, 0, "" );
|
||||
_m->end( );
|
||||
@ -1466,23 +1365,6 @@ void TMask_generator::genera( const TString& profilo )
|
||||
_m->message( "CO,10@" );
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_STRINGA, F_RICALT, 30 );
|
||||
_m->begin( );
|
||||
_m->prompt( 22, 4, "" );
|
||||
_m->warning( "Cliente assente" );
|
||||
_m->help( "Codice mnemonico del cliente del documento" );
|
||||
_m->group( 1 );
|
||||
_m->use( LF_CLIFO, 6 );
|
||||
temp_s.format( "TIPOCF \"%c\"~RICALT %d", tipo_cf, F_RICALT);
|
||||
_m->input( temp_s );
|
||||
_m->display( "\"Mnemonico@30\" RICALT~\"Codice\" CODCF~\"Ragione Sociale@50\" RAGSOC~\"Partita IVA@12\" PAIV~\"Sospeso\" SOSPESO" );
|
||||
temp_s.format( "%d RICALT~%d CODCF~%d RAGSOC", F_RICALT, F_CODCF, F_RAGSOC );
|
||||
_m->output( temp_s );
|
||||
_m->check( S_NORMALE );
|
||||
temp_s.format( "ADD RU cg0 -1 %c", tipo_cf);
|
||||
_m->outline( temp_s );
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_STRINGA, F_RAGSOC, 50 );
|
||||
_m->begin( );
|
||||
if ( tipo_cf == 'C' )
|
||||
@ -1495,7 +1377,7 @@ void TMask_generator::genera( const TString& profilo )
|
||||
_m->warning( "Fornitore assente" );
|
||||
_m->help( "Ragione sociale del fornitore del documento" );
|
||||
}
|
||||
_m->prompt( 2, 5, "Ragione Sociale " );
|
||||
_m->prompt( 24, 4, "" );
|
||||
_m->group( 1 );
|
||||
_m->use( LF_CLIFO, 2 );
|
||||
temp_s.format( "TIPOCF \"%c\"~RAGSOC %d", tipo_cf, F_RAGSOC );
|
||||
@ -1508,19 +1390,134 @@ void TMask_generator::genera( const TString& profilo )
|
||||
_m->outline( temp_s );
|
||||
_m->message( "CO,11@" );
|
||||
_m->end( );
|
||||
_m->line( MASK_FIRST_LINE+1 ); // La prima pagina ha un'intestazione più lunga
|
||||
_m->line( MASK_FIRST_LINE );
|
||||
}
|
||||
|
||||
// Generazione
|
||||
void TMask_generator::genera( const TString& profilo )
|
||||
{
|
||||
if( profilo == "-all" || profilo[0] == '*')
|
||||
{
|
||||
TString_array profiles;
|
||||
|
||||
// Scorro l'array dei gruppi, e ne creo una copia ordinata
|
||||
// con solo i gruppi visibili
|
||||
{
|
||||
TAssoc_array profiles_array;
|
||||
TRelation rel("%TIP");
|
||||
TCursor t( &rel );
|
||||
long count = t.items();
|
||||
|
||||
for( t = 0; t.pos( ) < count; ++t )
|
||||
{
|
||||
const TString profile_name(t.curr().get("S4"));
|
||||
TFilename profile(profile_name);
|
||||
|
||||
profile.ext("ini");
|
||||
if (fexist(profile) && !profiles_array.is_key(profile_name))
|
||||
profiles_array.add(profile_name);
|
||||
}
|
||||
profiles_array.get_keys(profiles);
|
||||
}
|
||||
|
||||
TProgind bar( profiles.items(), "Generazione automatica profili", FALSE, TRUE);
|
||||
const int items = profiles.items();
|
||||
|
||||
for (int i = 0; i < items; i++)
|
||||
{
|
||||
const TString &profile = profiles.row(i);
|
||||
|
||||
genera(profile);
|
||||
bar.addstatus(1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int i, last;
|
||||
TString temp_s;
|
||||
TFilename proname( profilo );
|
||||
|
||||
// All'inizio il gruppo h 'chiuso'
|
||||
_groupopen = FALSE;
|
||||
|
||||
// Forza l'estensione al profilo
|
||||
proname.ext( "ini" );
|
||||
|
||||
// Se il file di profilo non esiste, esci con un errore fatale
|
||||
if (!fexist( proname))
|
||||
{
|
||||
error_box( "Il profilo %s non esiste!", ( const char * )profilo);
|
||||
return;
|
||||
}
|
||||
|
||||
_pro = new TConfig( proname );
|
||||
|
||||
const char tipo_cf = _pro->get_char("TIPOCF", "MAIN");
|
||||
|
||||
TFilename _mskname(profilo);
|
||||
_mskname.ext( "msk" );
|
||||
|
||||
do_events();
|
||||
// Mi serve per ordinare i gruppi a seconda del documento
|
||||
TAssoc_array grouporder;
|
||||
|
||||
_m = new TMaschera( _mskname );
|
||||
|
||||
// Definizione della toolbar
|
||||
_m->outline( "TOOLBAR \"\" 0 0 0 2" );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_SAVEREC, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -15, -1, "~Registra" );
|
||||
_m->message( "EXIT,20082" );
|
||||
_m->picture(BMP_SAVEREC);
|
||||
_m->picture(BMP_SAVERECDN);
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_DELREC, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -25, -1, "~Elimina" );
|
||||
_m->message( "EXIT,127" );
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_ELABORA, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -35, -1, "E~labora" );
|
||||
_m->picture(BMP_ELABORA);
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_PRINT, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -45, -1 );
|
||||
_m->message( "EXIT,20082" );
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_CONFERMA, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -45, -1, "~Conferma");
|
||||
_m->picture(BMP_OK);
|
||||
_m->flag("D");
|
||||
_m->end( );
|
||||
|
||||
_m->control( T_BOTTONE, DLG_CANCEL, 1002 );
|
||||
_m->begin( );
|
||||
_m->prompt( -55, -1 );
|
||||
_m->message( "EXIT,27" );
|
||||
_m->end( );
|
||||
|
||||
// End della toolbar
|
||||
_m->end( );
|
||||
|
||||
|
||||
do_events();
|
||||
|
||||
// Header della prima pagina
|
||||
const TString80 title(_pro->get("Title", "MAIN", _m->page(), TR("Testata")));
|
||||
|
||||
_m->pagina( _m->page( ), title);
|
||||
|
||||
TArray sortedgroups;
|
||||
TString16 chiave, chiavegruppo;
|
||||
last = _pro->get_int( "NGROUPS", "ORDINEGRUPPI" );
|
||||
for( i = 1; i <= last; i ++ )
|
||||
{
|
||||
do_events();
|
||||
chiave.format( "%d", i );
|
||||
const TString key(_pro->get( chiave, "ORDINEGRUPPI" ));
|
||||
|
||||
@ -1537,11 +1534,23 @@ void TMask_generator::genera( const TString& profilo )
|
||||
}
|
||||
}
|
||||
|
||||
// Generazione
|
||||
// Scorro l'array dei gruppi, e ne creo una copia ordinata
|
||||
// con solo i gruppi visibili
|
||||
|
||||
TString80 message;
|
||||
|
||||
_m->_sheet_generated = false;
|
||||
message.format("Generazione profilo : %s", (const char *)profilo);
|
||||
_bar = new TProgind(sortedgroups.items(), message, FALSE, TRUE);
|
||||
|
||||
TGruppo* gruppo1 = (TGruppo*)sortedgroups.objptr(0);
|
||||
|
||||
if (gruppo1->is_testata())
|
||||
_m->line(0);
|
||||
else
|
||||
genera_testata_1();
|
||||
|
||||
sortedgroups.for_each( genera_gruppo );
|
||||
delete _bar; _bar = NULL;
|
||||
_m->end( );
|
||||
|
251
ve/ve0300a.src
251
ve/ve0300a.src
@ -49,6 +49,7 @@
|
||||
|
||||
#include "veuml.h"
|
||||
#include "veuml1.h"
|
||||
#include "veuml3.h"
|
||||
#include "veini.h"
|
||||
|
||||
[OCCASEDIT]
|
||||
@ -84,20 +85,6 @@ DISPLAY="Codice Fiscale@16" COFI~"Ragione sociale@50" RAGSOC~"Codice" CODCF~"Ind
|
||||
OUTPUT=@F_CODCF
|
||||
SIZE=16
|
||||
|
||||
[RICALT]
|
||||
// il campo e' letto nel file 20 clifo
|
||||
GROUP=100
|
||||
X=2
|
||||
Y=0
|
||||
MSKID=F_RICALT
|
||||
TYPE=T_STRINGA
|
||||
PROMPT="Ric. alt."
|
||||
USE=LF_CLIFO KE 6
|
||||
INPUT=TIPOCF F_TIPOCF SELECT~RICALT F_RICALT
|
||||
DISPLAY="Ricerca Altrenativa@30" RICALT~"Ragione sociale@50" RAGSOC~"Codice" CODCF~"Indrizzo@35" INDCF
|
||||
OUTPUT=@F_CODCF
|
||||
SIZE=30
|
||||
|
||||
[STATOPAIV]
|
||||
// il campo e' letto nel file 20 clifo
|
||||
GROUP=100
|
||||
@ -940,7 +927,7 @@ TYPE=T_NUMERO
|
||||
PROMPT="Stato "
|
||||
SIZE=3
|
||||
FLAG=Z
|
||||
USE=@F_STATOCF
|
||||
USE=%STA
|
||||
INPUT=CODTAB F_STATOSP
|
||||
OUTPUT=F_DESSTATOSP S0
|
||||
SPECIAL=CH SEARCH
|
||||
@ -963,7 +950,7 @@ TYPE=T_STRINGA
|
||||
PROMPT="Comune "
|
||||
SIZE=4
|
||||
FLAG=U
|
||||
USE=@F_COMCF
|
||||
USE=LF_COMUNI
|
||||
INPUT=STATO F_STATOSP~COM F_COMSP
|
||||
OUTPUT=F_DENCOMSP DENCOM~F_PROVCOMSP PROVCOM
|
||||
SPECIAL=CH SEARCH
|
||||
@ -1689,13 +1676,242 @@ SPECIAL=CH NORMAL
|
||||
|
||||
[DESCRMAGC]
|
||||
GROUP=2900
|
||||
X=25
|
||||
X=2
|
||||
Y=1
|
||||
MSKID=F_DESCRMAGC
|
||||
TYPE=T_STRINGA
|
||||
PROMPT=""
|
||||
SIZE=50
|
||||
|
||||
[LVGROUP]
|
||||
GROUP=4041
|
||||
X=1
|
||||
Y=0
|
||||
MSKID=F_LVGROUP
|
||||
TYPE=T_CORNICE
|
||||
SIZE=7907
|
||||
PROMPT=""
|
||||
|
||||
[LVCODNUM]
|
||||
GROUP=4041
|
||||
X=2
|
||||
Y=1
|
||||
FIELDNAME=CODNUM
|
||||
MSKID=F_CODNUM
|
||||
TYPE=T_STRINGA
|
||||
SIZE=4
|
||||
PROMPT="Cod. Num. "
|
||||
FLAG=GDU
|
||||
USE=%NUM
|
||||
INPUT=CODTAB F_CODNUM
|
||||
DISPLAY="Codice" CODTAB~"Descrizione@50" S0
|
||||
OUTPUT=F_DESNUM S0
|
||||
SPECIAL=CH NORMAL~ME CO,2@
|
||||
|
||||
[LVDESNUM]
|
||||
GROUP=4041
|
||||
X=18
|
||||
Y=1
|
||||
MSKID=F_DESNUM
|
||||
TYPE=T_STRINGA
|
||||
SIZE=45
|
||||
PROMPT=""
|
||||
FLAG=GD
|
||||
SPECIAL=ME CO,3@
|
||||
|
||||
[LVSTATO]
|
||||
GROUP=4041
|
||||
X=71
|
||||
Y=1
|
||||
FIELDNAME=STATO
|
||||
MSKID=F_STATO
|
||||
TYPE=T_STRINGA
|
||||
SIZE=1
|
||||
PROMPT="Stato "
|
||||
FLAG=GD
|
||||
USE=%STD
|
||||
INPUT=CODTAB F_STATO
|
||||
DISPLAY="Codice" CODTAB~"Descrizione@50" S0
|
||||
OUTPUT=F_STATO CODTAB
|
||||
SPECIAL=CH NORMAL~ME CO,8@
|
||||
|
||||
[LVPROVV]
|
||||
GROUP=4041
|
||||
X=200
|
||||
Y=1
|
||||
FIELDNAME=PROVV
|
||||
MSKID=F_PROVV
|
||||
TYPE=T_STRINGA
|
||||
SIZE=1
|
||||
PROMPT="Provvisorio/Definitivo"
|
||||
FLAG=D
|
||||
|
||||
[LVTIPODOC]
|
||||
GROUP=4041
|
||||
X=2
|
||||
Y=2
|
||||
FIELDNAME=TIPODOC
|
||||
MSKID=F_TIPODOC
|
||||
TYPE=T_STRINGA
|
||||
SIZE=4
|
||||
PROMPT="Tipo Doc. "
|
||||
FLAG=GDU
|
||||
USE=%TIP
|
||||
INPUT=CODTAB F_TIPODOC
|
||||
DISPLAY="Codice" CODTAB~"Descrizione@50" S0
|
||||
OUTPUT=F_DESTIPODOC S0
|
||||
SPECIAL=CH NORMAL~ME CO,4@
|
||||
|
||||
[LVDESTIPODOC]
|
||||
GROUP=4041
|
||||
X=18
|
||||
Y=2
|
||||
MSKID=F_DESTIPODOC
|
||||
TYPE=T_STRINGA
|
||||
SIZE=45
|
||||
PROMPT=""
|
||||
FLAG=GD
|
||||
SPECIAL=ME CO,5@
|
||||
|
||||
[LVNDOC]
|
||||
GROUP=4041
|
||||
X=64
|
||||
Y=2
|
||||
FIELDNAME=NDOC
|
||||
MSKID=F_NDOC
|
||||
TYPE=T_NUMERO
|
||||
SIZE=4
|
||||
PROMPT="Num. Doc. "
|
||||
FLAG=GDR
|
||||
SPECIAL=ME CO,6@
|
||||
|
||||
[LVANNO]
|
||||
GROUP=4041
|
||||
X=2
|
||||
Y=3
|
||||
FIELDNAME=ANNO
|
||||
MSKID=F_ANNO
|
||||
TYPE=T_STRINGA
|
||||
SIZE=4
|
||||
PROMPT="Esercizio "
|
||||
FLAG=GD
|
||||
SPECIAL=ME CO,9@
|
||||
|
||||
[LVDATADOC]
|
||||
GROUP=4041
|
||||
X=18
|
||||
Y=3
|
||||
FIELDNAME=DATADOC
|
||||
MSKID=F_DATADOC
|
||||
TYPE=T_DATA
|
||||
SPECIAL=ME CO,7@
|
||||
|
||||
[LVGIORNO]
|
||||
GROUP=4041
|
||||
X=34
|
||||
Y=3
|
||||
MSKID=F_LVGIORNO
|
||||
TYPE=T_STRINGA
|
||||
PROMPT =""
|
||||
SIZE=9
|
||||
FLAG=D
|
||||
|
||||
[LVSETTIMANA]
|
||||
GROUP=4041
|
||||
X=44
|
||||
Y=3
|
||||
MSKID=F_LVSETTIMANA
|
||||
TYPE=T_STRINGA
|
||||
PROMPT="Settimana "
|
||||
SIZE=1
|
||||
FLAG=D
|
||||
|
||||
[LVTIPOCF]
|
||||
GROUP=4041
|
||||
X=200
|
||||
Y=4
|
||||
FIELDNAME=TIPOCF
|
||||
MSKID=F_TIPOCF
|
||||
TYPE=T_LISTA
|
||||
ITEMS=C|Cliente
|
||||
SIZE=9
|
||||
PROMPT=""
|
||||
FLAG=D
|
||||
|
||||
[LVCODCF]
|
||||
GROUP=4041
|
||||
X=2
|
||||
Y=4
|
||||
FIELDNAME=CODCF
|
||||
MSKID=F_CODCF
|
||||
TYPE=T_STRINGA
|
||||
SIZE=6
|
||||
PROMPT="Cliente "
|
||||
FLAG=R
|
||||
USE=LF_CLIFO
|
||||
INPUT=TIPOCF "C"~CODCF F_CODCF
|
||||
DISPLAY="Codice" CODCF~"Mnemonico" RICALT~"Ragione Sociale@50" RAGSOC
|
||||
OUTPUT=F_CODCF CODCF~F_RAGSOC RAGSOC~F_LVRICALT RICALT
|
||||
SPECIAL=CH REQUIRED~ADD RU cg0 -1 "C"~ME CO,10@
|
||||
|
||||
[LVRICALT]
|
||||
GROUP=4041
|
||||
X=23
|
||||
Y=4
|
||||
MSKID=F_LVRICALT
|
||||
TYPE=T_STRINGA
|
||||
SIZE=30
|
||||
PROMPT=""
|
||||
USE=LF_CLIFO KE 6
|
||||
INPUT=TIPOCF "C"~RICALT F_LVRICALT
|
||||
DISPLAY="Mnemonico" RICALT~"Codice" CODCF~"Ragione Sociale@50" RAGSOC
|
||||
OUTPUT=@F_CODCF
|
||||
|
||||
[LVCODCONT]
|
||||
GROUP=4041
|
||||
X=66
|
||||
Y=4
|
||||
FIELDNAME=CODCONT
|
||||
MSKID=F_LVCODCONT
|
||||
TYPE=T_NUMERO
|
||||
PROMPT="Contratto "
|
||||
SIZE=2
|
||||
FLAG=D
|
||||
|
||||
[LVRAGSOC]
|
||||
GROUP=4041
|
||||
X=2
|
||||
Y=5
|
||||
MSKID=F_RAGSOC
|
||||
TYPE=T_STRINGA
|
||||
SIZE=50
|
||||
PROMPT="Ragione Sociale "
|
||||
USE=LF_CLIFO KE 2
|
||||
INPUT=TIPOCF "C"~RAGSOC F_RAGSOC
|
||||
DISPLAY="Ragione Sociale@50" RAGSOC~"Codice" CODCF~"Mnemonico" RICALT
|
||||
OUTPUT=@F_CODCF
|
||||
SPECIAL=CH REQUIRED~ADD RU cg0 -1 "C"~ME CO,11@
|
||||
|
||||
[LVCODCAU]
|
||||
GROUP=4041
|
||||
X=2
|
||||
Y=7
|
||||
MSKID=F_LVCODCAU
|
||||
TYPE=T_STRINGA
|
||||
PROMPT="Causale "
|
||||
SIZE=5
|
||||
FLAG=DU
|
||||
|
||||
[LVDESCAU]
|
||||
GROUP=4041
|
||||
X=19
|
||||
Y=7
|
||||
MSKID=F_LVDESCAU
|
||||
TYPE=T_STRINGA
|
||||
PROMPT=""
|
||||
SIZE=50
|
||||
FLAG=DU
|
||||
|
||||
[BLANK]
|
||||
GROUP=4000
|
||||
X=100
|
||||
@ -1704,4 +1920,3 @@ MSKID=F_BLANK
|
||||
TYPE=T_STRINGA
|
||||
PROMPT=""
|
||||
SIZE=1
|
||||
|
||||
|
13
ve/veuml3.h
Executable file
13
ve/veuml3.h
Executable file
@ -0,0 +1,13 @@
|
||||
#ifndef __VEUML3_H
|
||||
#define __VEUML3_H
|
||||
|
||||
// campi del gruppo lavanderie (4041)
|
||||
#define F_LVGROUP 800
|
||||
#define F_LVRICALT 801
|
||||
#define F_LVGIORNO 802
|
||||
#define F_LVSETTIMANA 803
|
||||
#define F_LVCODCONT 804
|
||||
#define F_LVCODCAU 805
|
||||
#define F_LVDESCAU 806
|
||||
|
||||
#endif // __VEUML3_H
|
Loading…
x
Reference in New Issue
Block a user