campo-sirio/src/li/li0300.cpp
mtollari 4ed0c1c7d8 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
2017-11-08 10:49:10 +00:00

116 lines
2.6 KiB
C++

#include <automask.h>
#include <defmask.h>
#include <relapp.h>
#include <tabutil.h>
#include <filetext.h>
#include "li0.h"
#include "li0300a.h"
#define CONFIG_DICINT "DICINT.ini"
class TDI_mask : public TAutomask
{
private:
TSheet_field& sheet; // Sheet
public:
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();
sheet.hide();
sheet.destroy();
for(int i = 0; i < tipidoc.items(); i++)
{
TString td = tipidoc.get(i);
TToken_string stati(ini_get_string(CONFIG_DITTA, "li", td));
for(int j = 0; j < stati.items(); j++)
{
TToken_string row, s(stati.get(j), ',');
row.add(td);
row.add(s.get(0));
row.add(s.get(1));
strarr.add(row);
}
}
sheet.force_update();
sheet.show();
}
void TDI_mask::save_config()
{
TToken_string tipidoc;
for(int i = 0; i < sheet.items(); i++)
{
TToken_string row = sheet.row(i), val("",',');
// Prelevo il tipo di documento e lo aggiungo alla riga tipidoc
tipidoc.add(row.get(0));
// Prelevo i valori e aggiungo a una riga
val.add(row.get(1));
val.add(row.get(2));
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"));
}
class TDISettings_app : public TSkeleton_application
{
public:
virtual void main_loop();
};
void TDISettings_app::main_loop()
{
TDI_mask m;
while (m.run() == K_SAVE)
{
m.save_config();
}
}
int li0300(int argc, char* argv[])
{
TDISettings_app a;
a.run(argc, argv, TR("Lettere d'intento"));
return 0;
}