Patch level : 12.0 616

Files correlati     :
Commento            : ve0.exe profili

Aggiunti i campi per fatturazione elettronica alle maschere documenti
This commit is contained in:
AlexBonazzi 2018-08-03 16:10:46 +02:00
parent 632fb4b874
commit 63a708a083
14 changed files with 251 additions and 156 deletions

View File

@ -176,6 +176,9 @@ DESCRCUP = S_NORMALE
CIG = S_NORMALE
DESCRCIG = S_NORMALE
CMSH = S_NORMALE
TIPO_SDI = S_NORMALE
INVIO_FP = S_NORMALE
REG_FISCF = S_NORMALE
[DEFAULT]
@ -240,10 +243,11 @@ Col(21)=FR_TIPORIGA
2400 = S_NORMALE
2900 = S_NORMALE
3000 = S_NORMALE
3100 = S_NORMALE
4000 = S_NORMALE
[ORDINEGRUPPI]
NGROUPS=14
NGROUPS=15
1=100
2=200
3=400
@ -258,5 +262,5 @@ NGROUPS=14
12=2400
13=2900
14=3000
15=3100

View File

@ -20,8 +20,9 @@ Title(1)=Cliente
Title(2)=Pagamenti
Title(3)=Ind.Spedizione
Title(4)=Spedizione
Title(5)=Righe
Title(6)=Totali
Title(5)=Fatturazione elettronica
Title(6)=Righe
Title(7)=Totali
[PROFILO]
// Si possono indicare, dopo il numero, PROMPT, HELP, WARNING cosi:
@ -175,6 +176,9 @@ DESCRCUP = S_NORMALE
CIG = S_NORMALE
DESCRCIG = S_NORMALE
CMSH = S_NORMALE
TIPO_SDI = S_NORMALE
INVIO_FP = S_NORMALE
REG_FISCF = S_NORMALE
[DEFAULT]
Default(0)=F_CAUSTRASP|VEN
@ -247,10 +251,11 @@ Col(24)=FR_TIPORIGA
2800 = S_NORMALE
2900 = S_NORMALE
3000 = S_NORMALE
3100 = S_NORMALE
4000 = S_NORMALE
[ORDINEGRUPPI]
NGROUPS=30
NGROUPS=31
1=100
2=2500
3=200
@ -281,4 +286,5 @@ NGROUPS=30
28=1000
29=2900
30=3000
31=3100

View File

@ -122,6 +122,9 @@ CAUSMAG = S_OBBLIGATORIO
CAUSMAGC = S_DISABILITATO
DESCRMAG = S_NORMALE
DESCRMAGC = S_DISABILITATO
TIPO_SDI = S_NORMALE
INVIO_FP = S_NORMALE
REG_FISCF = S_NORMALE
[DEFAULT]
Default(0)=F_CAUSTRASP|RES
@ -177,9 +180,10 @@ Col(19) = FR_TIPORIGA
2800 = S_NORMALE
2900 = S_NORMALE
3000 = S_NORMALE
3100 = S_NORMALE
[ORDINEGRUPPI]
NGROUPS=23
NGROUPS=24
1=100
2=200
3=300
@ -203,3 +207,4 @@ NGROUPS=23
21=1500
22=1600
23=3000
24=3100

View File

@ -21,8 +21,9 @@ PREZZO=ULTCOS1
MODULE=ve
Title(1)=Fornitore
Title(2)=Pagamenti
Title(3)=Righe
Title(4)=Totali
Title(3)=C.U.P.
Title(4)=Righe
Title(5)=Totali
[PROFILO]
@ -138,6 +139,9 @@ DESCRCUP = S_NORMALE
CIG = S_NORMALE
DESCRCIG = S_NORMALE
CMSH = S_NORMALE
TIPO_SDI = S_NORMALE
INVIO_FP = S_NORMALE
REG_FISCF = S_NORMALE
[DEFAULT]
@ -195,10 +199,11 @@ Col(21) = FR_TIPORIGA
2400 = S_NORMALE
2900 = S_NORMALE
3000 = S_NORMALE
3100 = S_NORMALE
4000 = S_NORMALE
[ORDINEGRUPPI]
NGROUPS=15
NGROUPS=16
1=1000
2=100
3=200
@ -214,3 +219,4 @@ NGROUPS=15
13=1900
14=2900
15=3000
16=3100

View File

@ -176,6 +176,9 @@ DESCRCUP = S_NORMALE
CIG = S_NORMALE
DESCRCIG = S_NORMALE
CMSH = S_NORMALE
TIPO_SDI = S_NORMALE
INVIO_FP = S_NORMALE
REG_FISCF = S_NORMALE
[DEFAULT]
Default(0)=F_CAUSTRASP|VEN
@ -249,9 +252,10 @@ Col(25) = FR_TIPORIGA
2800 = S_NORMALE
2900 = S_NORMALE
3000 = S_NORMALE
3100 = S_NORMALE
[ORDINEGRUPPI]
NGROUPS=30
NGROUPS=31
1=100
2=2500
3=200
@ -282,4 +286,4 @@ NGROUPS=30
28=1010
29=2900
30=3000
30=3100

View File

@ -157,6 +157,9 @@ DESCRCUP = S_NORMALE
CIG = S_NORMALE
DESCRCIG = S_NORMALE
CMSH = S_NORMALE
TIPO_SDI = S_NORMALE
INVIO_FP = S_NORMALE
REG_FISCF = S_NORMALE
[DEFAULT]
@ -218,9 +221,10 @@ Col(21)=FR_TIPORIGA
2500 = S_NORMALE
2900 = S_NORMALE
3000 = S_NORMALE
3100 = S_NORMALE
[ORDINEGRUPPI]
NGROUPS=25
NGROUPS=26
1=100
2=2500
3=200
@ -246,3 +250,4 @@ NGROUPS=25
23=1010
24=2900
25=3000
26=3100

View File

@ -170,6 +170,9 @@ DESCRCUP = S_NORMALE
CIG = S_NORMALE
DESCRCIG = S_NORMALE
CMSH = S_NORMALE
TIPO_SDI = S_NORMALE
INVIO_FP = S_NORMALE
REG_FISCF = S_NORMALE
[DEFAULT]
@ -237,9 +240,10 @@ Col(25) = FR_TIPORIGA
2500 = S_NORMALE
2900 = S_NORMALE
3000 = S_NORMALE
3100 = S_NORMALE
[ORDINEGRUPPI]
NGROUPS=27
NGROUPS=28
1=100
2=2500
3=200
@ -267,4 +271,5 @@ NGROUPS=27
25=2900
26=2000
27=3000
28=3100

View File

@ -29,8 +29,9 @@ Title(1)=Fornitore
Title(2)=Pagamenti
Title(3)=Ind.Spedizione
Title(4)=Spedizione
Title(5)=Righe
Title(6)=Totali
Title(5)=C.U.P.
Title(6)=Righe
Title(7)=Totali
[PROFILO]
// Si possono indicare, dopo il numero, PROMPT, HELP, WARNING cosi:
@ -175,6 +176,9 @@ DESCRCUP = S_NORMALE
CIG = S_NORMALE
DESCRCIG = S_NORMALE
CMSH = S_NORMALE
TIPO_SDI = S_NORMALE
INVIO_FP = S_NORMALE
REG_FISCF = S_NORMALE
[SHEET]
Col(0) = FR_CODMAG
@ -247,9 +251,10 @@ Col(24) = FR_TIPORIGA
2800 = S_NORMALE
2900 = S_NORMALE
3000 = S_NORMALE
3100 = S_NORMALE
[ORDINEGRUPPI]
NGROUPS=34
NGROUPS=36
1=100
2=200
3=300
@ -277,11 +282,11 @@ NGROUPS=34
25=1000
26=2300
27=2400
28=3000
29=3200
30=2500
31=3400
32=1600
33=2000
34=2900
35=3000
28=3200
29=2500
30=3400
31=1600
32=2000
33=2900
34=3000
35=3100

View File

@ -717,7 +717,21 @@ bool TMotore_application::user_create( )
TISAM_recordset tip("USE %TIP");
for (bool ok = tip.move_first(); ok; ok = tip.move_next())
{
TFilename pname(tip.get("S4").as_string().sleft(8));
pname.ext("ini");
bool exist = pname.exist();
if (!exist)
{
pname.custom_path();
exist = pname.exist();
}
if (exist)
cached_tipodoc(tip.get("CODTAB").as_string());
}
_config_ditta = new TConfig(CONFIG_DITTA);

View File

@ -692,33 +692,33 @@ TField::TField( TString& campo, TConfig& pro ) : _nome( campo )
_fieldname = pro.get( "FIELDNAME", campo );
_x = _gruppo = pro.get_int( "X", campo );
_y = _gruppo = pro.get_int( "Y", campo );
_gruppo = pro.get_int( "GROUP", campo );
_gruppo = pro.get_int( "GR", campo );
CHECK( _gruppo != 0, "Gruppo uguale a 0" );
_id = pro.get_int( "MSKID", campo );
_id = pro.get_int( "MS", campo );
CHECK( _id != 0, "Campo con MSKID uguale a 0" );
_type = pro.get_int( "TYPE", campo );
_size = pro.get_int( "SIZE", campo );
_prompt = pro.get( "PROMPT", campo );
_type = pro.get_int( "TY", campo );
_size = pro.get_int( "SI", campo );
_prompt = pro.get( "PR", campo );
if( _prompt[ 0 ] == '\"' )
{
_prompt.rtrim(1);
_prompt.ltrim(1);
};
_flag = pro.get( "FLAG", campo );
_help = pro.get( "HELP", campo );
_warning = pro.get( "WARNING", campo );
_modules = pro.get( "MODULE", campo ); _modules.strip("\"");
_use = pro.get( "USE", campo );
_flag = pro.get( "FL", campo );
_help = pro.get( "HE", campo );
_warning = pro.get( "WA", campo );
_modules = pro.get( "MO", campo ); _modules.strip("\"");
_use = pro.get( "US", campo );
_use.separator( '~' );
_input = pro.get( "INPUT", campo );
_input = pro.get( "IN", campo );
_input.separator( '~' );
_display = pro.get( "DISPLAY", campo );
_display = pro.get( "DI", campo );
_display.separator( '~' );
_output = pro.get( "OUTPUT", campo );
_output = pro.get( "OU", campo );
_output.separator( '~' );
_copy = pro.get( "COPY", campo );
_copy = pro.get( "CO", campo );
_copy.separator( '~' );
_special = pro.get( "SPECIAL", campo );
_special = pro.get( "SP", campo );
_special.separator( '~' );
_configs = pro.get( "CONFIGS", campo );
_configs.separator( '~' );
@ -811,7 +811,7 @@ int TField::stato_reale()
if (stato > S_NON_VISIBILE)
{
const TString80 gruppo(fieldsini().get("GROUP", _nome));
const TString80 gruppo(fieldsini().get("GR", _nome));
int stato_gruppo = S_OBBLIGATORIO;
if (stato > stato_gruppo)
stato = stato_gruppo;
@ -972,17 +972,17 @@ void TMask_generator::carica_dati_campi( const TFilename& fn, TAssoc_array& a )
campo->x( atoi( value ) );
else if( key == "Y" )
campo->y( atoi( value ) );
else if( key == "GROUP" )
else if( key.starts_with("GR"))
campo->gruppo( atoi( value ) );
else if( key == "FIELDNAME" )
else if(key.starts_with("FI"))
campo->fieldname( value );
else if( key == "MSKID" )
else if( key.starts_with("MS"))
campo->id( atoi( value ) );
else if( key == "TYPE" )
else if( key.starts_with("TY"))
campo->type( atoi( value ) );
else if( key == "SIZE" )
else if( key.starts_with("SI"))
campo->size( atoi( value ) );
else if( key == "PROMPT" )
else if( key.starts_with("PR"))
{
if( value[ 0 ] == '"' )
{
@ -991,29 +991,29 @@ void TMask_generator::carica_dati_campi( const TFilename& fn, TAssoc_array& a )
};
campo->prompt( value );
}
else if( key == "FLAG" )
else if( key.starts_with("FL"))
campo->flag( value );
else if( key == "USE" )
campo->use( (TToken_string & ) value );
else if( key == "INPUT" )
campo->input( (TToken_string & )value );
else if( key == "DISPLAY" )
campo->display( (TToken_string & )value );
else if( key == "OUTPUT" )
campo->output( (TToken_string & )value );
else if( key == "COPY" )
else if( key.starts_with("US"))
campo->use( TToken_string(value, '~'));
else if( key.starts_with("IN"))
campo->input(TToken_string(value, '~'));
else if( key.starts_with("DI"))
campo->display(TToken_string(value, '~'));
else if( key.starts_with("OU"))
campo->output(TToken_string(value, '~'));
else if( key.starts_with("CO"))
campo->copy( (TToken_string & )value );
else if( key == "WARNING" )
else if( key.starts_with("WA"))
campo->warning( value );
else if( key == "HELP" )
else if( key.starts_with("HE"))
campo->help( value );
else if( key == "MODULE" )
else if( key.starts_with("MO"))
campo->modules( value );
else if( key == "SPECIAL" )
campo->special( (TToken_string & )value );
else if( key == "ITEMS" )
campo->items( (TToken_string & )value );
else if( key == "CONFIGS" )
else if( key.starts_with("SP"))
campo->special(TToken_string(value, '~'));
else if( key.starts_with("IT"))
campo->items( TToken_string(value, '@'));
else if( key.starts_with("CONF"))
campo->configs( (TToken_string & )value );
else yesnofatal_box( "Chiave non trovata(%s)", (const char *) key );
}

View File

@ -1993,6 +1993,36 @@ FIELDNAME=CODCMS
FLAG=H
SIZE=20
[TIPO_SDI]
TYPE=T_LISTA
GROUP=3100
MSKID=F_TIPO_SDI
X=2
Y=1
SIZE=40
PROMPT="Tipo documento SDI "
FIELDNAME=TIPO_SDI
ITEMS=|@TD01|TD01 Fattura@TD02|TD02 Acconto/Anticipo su fattura@TD03|TD03 Acconto/Anticipo su parcella@TD04|TD04 Nota di credito@TD05|TD05 Nota di debito@TD06|TD06 parcella
[INVIO_FP]
TYPE=T_CHECKBOX
GROUP=3100
MSKID=F_INVIO_FP
X=65
Y=1
PROMPT="Invio XML"
FIELDNAME=INVIO_XML
[REG_FISCF]
TYPE=T_LISTA
GROUP=3100
MSKID=F_REG_FISCF
X=2
Y=2
SIZE=40
PROMPT="Regime Fisc. "
FIELDNAME=REGFISC
ITEMS=|@RF01|RF01 Ordinario@RF02|RF02 Contribuenti minimi@RF04|RF04 Agricoltura, connesse e pesca@RF05|RF05 Vendita sali e tabacchi@RF06|RF06 Commercio fiammiferi@RF07|RF07 Editoria@RF08|RF08 Gestione servizi tel. pubblica@RF09|RF09 Rivendita DdT pubblico e di sosta@RF10|RF10 Intr., giochi e altre attività@RF11|RF11 Agenzie viaggi e turismo@RF12|RF12 Agriturismo@RF13|RF13 Vendite a domicilio@RF14|RF14 Rivendita usato, arte, ant. o col.@RF15|RF15 Asta darte, ant. o da col.@RF16|RF16 IVA per cassa P.A.@RF17|RF17 IVA per cassa@RF18|RF18 Altro@RF19|RF19 Regime forfettario
[LVGROUP]
GROUP=4041
X=1

View File

@ -107,6 +107,9 @@ HEIGHT=2
[3000]
HEIGHT=3
[3100]
HEIGHT=2
[3200]
HEIGHT=1

View File

@ -357,6 +357,10 @@ void TTipo_documento::add_formula_if_needed(TConfig& profile, TString& variable,
void TTipo_documento::read_formule()
{
TFilename profile; profile_name(profile);
TFilename p(profile); p.custom_path();
if (p.exist()) // evita la creazione di profili vuoti
{
TConfig prof(profile, "MAIN");
prof.write_protect(); // Altrimenti non si distrugge!!!
@ -431,10 +435,10 @@ void TTipo_documento::read_formule()
_field_qta = prof.get(RDOC_QTA, NULL, -1, RDOC_QTA);
_field_qtaevasa = prof.get(RDOC_QTAEVASA, NULL, -1, RDOC_QTAEVASA);
_field_qta_mag = prof.get("QTA_MAG");
if(_field_qta_mag.blank())
if (_field_qta_mag.blank())
_field_qta_mag = _field_qta;
_field_qtaevasa_mag = prof.get("QTAEVASA_MAG");
if(_field_qtaevasa_mag.blank())
if (_field_qtaevasa_mag.blank())
_field_qtaevasa_mag = _field_qtaevasa;
_check_qta = prof.get_char("CHECK_QTA", "MAIN");
_load_cont = prof.get_bool("LOAD_CONT", "MAIN");
@ -456,6 +460,7 @@ void TTipo_documento::read_formule()
_hca_req = !prof.get_bool("HEAD_CA_OPT");
_check_double_art = prof.get_bool("CHECK_DOUBLE_ART");
_ignora_anticipi_fatturazione = prof.get_bool("IGNORA_ANTICIPI_FATTURAZIONE");
}
}
bool TTipo_documento::movimento_interno() const

View File

@ -124,6 +124,9 @@
#define F_PATIPOCON 227
#define F_IVAXCASSA 228
#define F_MANDATO 229
#define F_TIPO_SDI 230
#define F_INVIO_FP 231
#define F_REG_FISCF 232
#define F_CDC1 251
#define F_CDC12 262