Patch level : 12.0 476

Files correlati     : li
Commento            : Modificati programmi lettere intento:
- li0300: Aggiunta di un secondo codice IVA per le esenzioni
- li0400: Disabilitata funzione di controllo per molteplici dichiarazioni di intento aperte, adesso posso aprirne quante ne voglio

git-svn-id: svn://10.65.10.50/branches/R_10_00@24179 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
mtollari 2017-11-08 10:49:10 +00:00
parent a1d194d2f5
commit 4ed0c1c7d8
4 changed files with 53 additions and 36 deletions

View File

@ -15,16 +15,41 @@ private:
TSheet_field& sheet; // Sheet
public:
bool on_field_event(TOperable_field& o, TField_event e, long jolly) { return true; };
bool on_field_event(TOperable_field& o, TField_event e, long jolly);
TDI_mask() : TAutomask("li0300a"), sheet(sfield(DOC_STATO)) { load_config(); };
void load_config();
void save_config();
};
bool TDI_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case FLD_TABIVA_CODTAB:
case FLD_TABIVA_CODTAB_ALT:
{
if(e == fe_modify)
{
TString codiva = get(FLD_TABIVA_CODTAB), codiva2 = get(FLD_TABIVA_CODTAB_ALT);
if(codiva == codiva2)
{
error_box("Attenzione! Questo codice è già stato inserito");
o.set("");
}
}
}
break;
default:
break;
}
return true;
}
void TDI_mask::load_config()
{
set(FLD_TABIVA_CODTAB, ini_get_string(CONFIG_DITTA, "li", "CODIVA"));
set(FLD_TABIVA_CODTAB_ALT, ini_get_string(CONFIG_DITTA, "li", "CODIVALT"));
TToken_string tipidoc(ini_get_string(CONFIG_DITTA, "li", "TIPIDOC"));
TString_array& strarr = sheet.rows_array();
@ -62,6 +87,7 @@ void TDI_mask::save_config()
ini_set_string(CONFIG_DITTA, "li", row.get(0), val);
}
ini_set_string(CONFIG_DITTA, "li", "CODIVA", get(FLD_TABIVA_CODTAB));
ini_set_string(CONFIG_DITTA, "li", "CODIVALT", get(FLD_TABIVA_CODTAB_ALT));
ini_set_string(CONFIG_DITTA, "li", "TIPIDOC", tipidoc);
message_box(TR("Impostazioni salvate correttamente"));
}

View File

@ -1,7 +1,8 @@
#define FLD_TIPODOC 101
#define FLD_STATODOCDA 102
#define FLD_STATODOCA 103
#define FLD_TIPODOC 101
#define FLD_STATODOCDA 102
#define FLD_STATODOCA 103
#define DOC_STATO 201
#define DOC_STATO 201
#define FLD_TABIVA_CODTAB 301
#define FLD_TABIVA_CODTAB 301
#define FLD_TABIVA_CODTAB_ALT 302

View File

@ -17,7 +17,7 @@ PAGE "Impostazioni dichiarazioni d'intento" 0 2 0 0
STRING FLD_TABIVA_CODTAB 4
BEGIN
PROMPT 2 1 "Codice IVA plafond: "
PROMPT 2 1 "Codice IVA plafond: "
FIELD CODTAB
KEY 1
USE %IVA
@ -35,10 +35,28 @@ BEGIN
VALIDATE ZEROFILL_FUNC 2
END
STRING FLD_TABIVA_CODTAB_ALT 4
BEGIN
PROMPT 2 2 "Codice IVA alternativo: "
FIELD CODTAB
KEY 1
USE %IVA
FLAGS "U"
INPUT CODTAB FLD_TABIVA_CODTAB
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
DISPLAY "Tipo" S1
DISPLAY "%@5" R0
DISPLAY "Vent." S6
DISPLAY "Sospeso" B2
OUTPUT FLD_TABIVA_CODTAB_ALT CODTAB
HELP "Inserire il codice IVA"
VALIDATE ZEROFILL_FUNC 2
END
SPREADSHEET DOC_STATO 45 10
BEGIN
PROMPT 30 1 ""
PROMPT 2 4 ""
ITEM "Tipo Documento"
ITEM "Da stato"
ITEM "A stato"

View File

@ -17,7 +17,6 @@ class TLetint_mask : public TAutomask
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
virtual bool on_key(KEY k);
bool hasLiOpen();
bool block;
bool keyforced;
@ -95,18 +94,6 @@ bool TLetint_mask::on_field_event(TOperable_field& o, TField_event e, long jolly
}
break;
case F_CODCLI:
// Controllo se il cliente non ha già una dichiarazione aperta
if(!keyforced && hasLiOpen() && insert_mode())
{
warning_box("Il cliente %d ha già una dichiarazione aperta! Chiudere prima la precedente!", get_int(F_CODCLI));
disable(DLG_SAVEREC);
}
else
{
enable(DLG_SAVEREC);
}
case F_DAL:
if(e != fe_modify)
break;
@ -147,21 +134,6 @@ bool TLetint_mask::on_field_event(TOperable_field& o, TField_event e, long jolly
return true;
}
bool TLetint_mask::hasLiOpen()
{
TRelation relLi(LF_LETINT);
TRectype r_li(relLi.curr());
r_li.put("CODCLI", get(F_CODCLI));
r_li.put("ANNO", 2017); // É da quest'anno che abbiamo messo il campo chiusa
TCursor c_li(&relLi, "", 2, &r_li, &r_li);
for(c_li = 0; c_li.pos() < c_li.items(); ++c_li)
{
if(!c_li.curr().get_bool("CHIUSA")) return true; // Alla prima trovata esco
}
return false;
}
TDate TLetint_mask::ultima_stampa(int anno)
{
TTable reg("REG");