campo-sirio/src/li/li0300.cpp
mtollari ef9a155474 Patch level : 12.0 344
Files correlati     : 
Commento            : 
- Aggiornata maschera delle impostazioni li, adesso riceve il tipo documento non numerazione.
- Aggiunta gestione note di credito

git-svn-id: svn://10.65.10.50/branches/R_10_00@23613 c028cbd2-c16b-5b4b-a496-9718f37d4682
2017-02-13 14:33:49 +00:00

90 lines
2.0 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) { return true; };
TDI_mask() : TAutomask("li0300a"), sheet(sfield(DOC_STATO)) { load_config(); };
void load_config();
void save_config();
};
void TDI_mask::load_config()
{
set(FLD_TABIVA_CODTAB, ini_get_string(CONFIG_DITTA, "li", "CODIVA"));
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", "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;
}