Patch level : 12.0 nopatch

Files correlati     : f9

Commento:
Iniziata la modifica del modulo f9 per prendere da FPPRO il tipodocsdi
This commit is contained in:
smen 2022-05-06 17:08:24 +02:00
parent a016a3870f
commit 5ca6022d94
4 changed files with 73 additions and 75 deletions

View File

@ -467,33 +467,29 @@ void TMonitor_mask::fill() const
fp_db().sq_set_exec(query, false);
TSheet_field& sf = sfield(S_ELAB);
sf.hide();
sf.destroy();
sf.reset();
int i = 0;
for (bool ok = fp_db().sq_next(); ok; ok = fp_db().sq_next())
{
TString tipo;
TToken_string& row = sf.row(i++);
row.add(" ");
row.add(fp_db().sq_get(DRD_STATO) == "09" ? "X" : "");
row.add(fp_db().sq_get(DRD_ID_EST));
row.add(fp_db().sq_get_date(DRD_TIME));
row.add(fp_db().sq_get(DRD_FLAG_PD) == "P" ? "X" : "");
const int row = sf.set_row_cell(F_ARCH_B, fp_db().sq_get(DRD_STATO) == "09");
tipo << fp_db().sq_get(DRD_TIPODOC);
if (tipo == "A") tipo << "cquisti";
if (tipo == "V") tipo << "endite";
if (tipo == "C") tipo << "orrispettivi";
row.add(tipo);
sf.set_row_cell(F_IDESTR, fp_db().sq_get(DRD_ID_EST), row);
sf.set_row_cell(F_DATAESTR, fp_db().sq_get_date(DRD_TIME), row);
sf.set_row_cell(F_PROV_B, fp_db().sq_get(DRD_FLAG_PD) == "P", row);
sf.set_row_cell(F_TIPODOC, fp_db().sq_get(DRD_TIPODOC), row);
sf.set_row_cell(F_DATADAL, fp_db().sq_get_date(DRD_DATADA), row);
sf.set_row_cell(F_DATAAL, fp_db().sq_get_date(DRD_DATAA), row);
sf.set_row_cell(F_USER, fp_db().sq_get(DRD_UTENTE), row);
row.add(fp_db().sq_get_date(DRD_DATADA));
row.add(fp_db().sq_get_date(DRD_DATAA));
row.add(fp_db().sq_get(DRD_UTENTE));
row.add(fp_db().sq_get(DRD_STATO) << " - " << TF9_app::traduci_stato(fp_db().sq_get(DRD_STATO)));
row.add(fp_db().sq_get(DRD_DESC));
TString s = fp_db().sq_get(DRD_STATO);
s << " - " << TF9_app::traduci_stato(fp_db().sq_get(DRD_STATO));
sf.set_row_cell(F_STATESTR, s, row);
sf.set_row_cell(F_DESCR_E, fp_db().sq_get(DRD_DESC), row);
}
sf.force_update();
sf.show();
}
bool TMonitor_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
@ -612,14 +608,12 @@ void TMonitor_mask::open_win_conf()
void TMonitor_mask::sel() const
{
TSheet_field& sf = sfield(S_ELAB);
sf.hide();
FOR_EACH_SHEET_ROW(sf, nr, row)
FOR_EACH_SHEET_ROW_LOOP(sf, nr)
{
if (*row->get(0) == 'X')
row->add("", 0);
if (sf.get_bool_row_cell(F_SEL, nr))
sf.set_row_cell(F_SEL, false, nr);
}
sf.force_update();
sf.show();
}
TMonitor_mask::TMonitor_mask(): TAutomask("f90100a"), _inclusi_mask(nullptr)
@ -677,25 +671,29 @@ void TControllo_mask::conferma_esclusi() const
{
const TMask& mask = *this;
TSheet_field& sf = mask.sfield(S_CONTROLLO);
sf.hide();
FOR_EACH_SHEET_ROW(sf, nr, row)
FOR_EACH_SHEET_ROW_LOOP(sf, row)
{
TLocalisamfile movs(LF_MOV);
movs.put(MOV_NUMREG, row->get_int(cid2index(F_CNUMREG)));
movs.read();
if (*row->get(cid2index(F_CESCLUDI)) == 'X')
const long nreg = sf.get_long_row_cell(row, F_CNUMREG);
TRectype & movs = (TRectype&)cache().get(LF_MOV, nreg);
if (sf.get_bool_row_cell(F_CESCLUDI, row))
{
const TDate today(TODAY);
TToken_string stato("", ';');
stato.add("", 0);
stato.add(today.date2ansi());
stato.add("X");
movs.put(MOV_ELABF9, stato);
movs.rewrite();
row->add("Si", cid2index(F_CESCLUSO));
sf.set_row_cell(F_CESCLUSO, "Si", row);
TString query;
query << "UPDATE " F9_ERR " SET ESCLUSO = 'Si' WHERE " ERR_CODSOC " = '" << _cod_soc << "' AND IDESTR = '" <<
_id_estr << "' AND NUMREG = '" << row->get(cid2index(F_CNUMREG)) << "';";
_id_estr << "' AND NUMREG = '" << nreg << "';";
fp_db().sq_set_exec(query);
}
else
@ -703,11 +701,12 @@ void TControllo_mask::conferma_esclusi() const
if (movs.get(MOV_ELABF9).full())
{
movs.put(MOV_ELABF9, "");
row->add("", cid2index(F_CESCLUSO));
sf.set_row_cell(F_CESCLUSO, "", row);
movs.rewrite();
TString query;
query << "UPDATE " F9_ERR " SET ESCLUSO = NULL WHERE " ERR_CODSOC " = '" << _cod_soc << "' AND IDESTR = '" <<
_id_estr << "' AND NUMREG = '" << row->get(cid2index(F_CNUMREG)) << "';";
_id_estr << "' AND NUMREG = '" << nreg << "';";
fp_db().sq_set_exec(query);
}
}
@ -753,8 +752,8 @@ void TControllo_mask::fill()
void TControllo_mask::fill_fppro_sheet() const
{
TSheet_field& sf = sfield(S_FPPRO);
sf.hide();
sf.destroy();
sf.reset();
const char* order;
switch (_ordin)
{
@ -782,19 +781,21 @@ void TControllo_mask::fill_fppro_sheet() const
for (bool ok = fp_db().sq_next(); ok; ok = fp_db().sq_next())
{
TToken_string& row = sf.row(-1);
row.add(fp_db().sq_get("TIPODOC"), 1);
row.add(fp_db().sq_get_date("DATA"));
row.add(fp_db().sq_get("NUMDOC"));
row.add(fp_db().sq_get("IMPTOTDOC"));
row.add(fp_db().sq_get("FORNITORE"));
row.add(fp_db().sq_get("RAGSOC"));
row.add(fp_db().sq_get("STATOPIVA"));
row.add(fp_db().sq_get("PIVA"));
row.add(fp_db().sq_get("KEYPRGINVIO") << ";" << fp_db().sq_get("KEYHEADERFATT") << ";" << fp_db().sq_get("KEYBODYFATT"));
const int row = sf.set_row_cell(F_FTIPODOC, "TIPODOC");
sf.set_row_cell(F_FDATA, fp_db().sq_get_date("DATA"), row);
sf.set_row_cell(F_FNUMDOC, fp_db().sq_get("NUMDOC"), row);
sf.set_row_cell(F_FIMPTOTDOC, fp_db().sq_get("IMPTOTDOC"), row);
sf.set_row_cell(F_FFORNITORE, fp_db().sq_get("FORNITORE"), row);
sf.set_row_cell(F_FRAGSOC, fp_db().sq_get("RAGSOC"), row);
sf.set_row_cell(F_FSTATOPIVA, fp_db().sq_get("STATOPIVA"), row);
sf.set_row_cell(F_FPIVA, fp_db().sq_get("PIVA"), row);
TString s = fp_db().sq_get("KEYPRGINVIO");
s << ";" << fp_db().sq_get("KEYHEADERFATT") << ";" << fp_db().sq_get("KEYBODYFATT");
sf.set_row_cell(F_FPROKEYS, s, row);
}
sf.force_update();
sf.show();
}
TMask& TControllo_mask::get_win_order()
@ -1026,12 +1027,11 @@ bool TApri_estr_msk::on_field_event(TOperable_field& o, TField_event e, long jol
bool TApri_estr_msk::inall_handler() const
{
TSheet_field& sf = sfield(S_INCL);
sf.hide();
const bool active = *sf.row(0).get(cid2index(FI_IESCLUDI)) == 'S';
FOR_EACH_SHEET_ROW(sf, nr, row)
row->add(active ? "N" : "S", cid2index(FI_IESCLUDI));
FOR_EACH_SHEET_ROW_LOOP(sf, row)
sf.set_row_cell(FI_IESCLUDI, active ? "N" : "S", row);
sf.force_update();
sf.show();
return true;
}
@ -1061,35 +1061,35 @@ bool TApri_estr_msk::inselect_handler() const
void TApri_estr_msk::conferma_esclusi() const
{
TSheet_field& sf = sfield(S_INCL);
sf.hide();
FOR_EACH_SHEET_ROW(sf, nr, row)
FOR_EACH_SHEET_ROW_LOOP(sf, row)
{
TLocalisamfile movs(LF_MOV);
movs.put(MOV_NUMREG, row->get_int(cid2index(FI_NUMREG)));
movs.read();
if (*row->get(cid2index(FI_IESCLUDI)) == 'S')
const long nreg = sf.get_long_row_cell(row, FI_NUMREG);
TRectype & movs = (TRectype&)cache().get(LF_MOV, nreg);
if (sf.get_str_row_cell(row, FI_IESCLUDI) == "S")
{
const TDate today(TODAY);
TToken_string stato("", ';');
TToken_string stato("", ';');
stato.add("", 0);
stato.add(today.date2ansi());
stato.add("X");
movs.put(MOV_ELABF9, stato);
movs.rewrite();
row->add("X", cid2index(FI_IESCLUSO));
sf.set_row_cell(FI_IESCLUSO, true , row);
}
else
{
if (movs.get(MOV_ELABF9).full())
{
movs.put(MOV_ELABF9, "");
row->add("", cid2index(FI_IESCLUSO));
movs.zero(MOV_ELABF9);
sf.set_row_cell(FI_IESCLUSO, false, row);
movs.rewrite();
}
}
}
sf.force_update();
sf.show();
}
void TApri_estr_msk::fill_estr() const
@ -1262,14 +1262,13 @@ bool TF9_app::select_escl_notify(TSheet_field& s, int row, KEY key)
TMask_field& field = s;
const TMask& mask = field.mask();
TSheet_field& sf = mask.sfield(S_ESCL);
sf.hide();
FOR_EACH_SHEET_ROW(sf, nr, riga)
FOR_EACH_SHEET_ROW_LOOP(sf, nr)
{
if (*riga->get(0) == 'X')
riga->add("", 0);
if (sf.get_bool_row_cell(FE_SEL, nr))
sf.set_row_cell(FE_SEL, false, nr);
}
sf.force_update();
sf.show();
return true;
}
@ -1400,12 +1399,11 @@ void TF9_app::fill_esclusi()
{
vector<TToken_string>& esclusi = f9_app()._esclusi_vect;
TSheet_field& sf = esclusi_mask().sfield(S_ESCL);
sf.hide();
sf.destroy();
for (auto it = esclusi.begin(); it != esclusi.end(); ++it)
sf.row(-1) = *it;
sf.force_update();
sf.show();
}
movimento_t TF9_app::escl2mov(TToken_string* row)
@ -1688,8 +1686,8 @@ void TF9_app::main_loop()
//pulisci_mov();
#endif
_msk = make_unique<TMonitor_mask>();
_estr_msk = make_unique<TEstrai_mask>();
_msk = new TMonitor_mask;
_estr_msk = new TEstrai_mask;
while (_msk->run() != K_QUIT) { }

View File

@ -56,8 +56,8 @@ class TF9_app : public TSkeleton_application
friend class TEstrazione;
unique_ptr<TEstrai_mask> _estr_msk;
unique_ptr<TMonitor_mask> _msk;
TEstrai_mask * _estr_msk;
TMonitor_mask * _msk;
vector<movimento_t> _movs;
vector<TToken_string> _esclusi; // Vettore con i movimenti esclusi
vector<TToken_string> _esclusi_vect;

View File

@ -955,7 +955,7 @@ bool TEstrazione::estrazione_iva(bool escluso)
TDate datadoc = mov.get_date(MOV_DATADOC);
TDate datareg = mov.get_date(MOV_DATAREG);
TIva_insert_prepared_stat iva_query;
TIva_insert_prepared_stat iva_query; /////////QUIIIIIII///
iva_query.add(IVA_CODSOC, _head.cod_soc, 10);
iva_query.add(IVA_IDLAN, _head.id_estr, 18);

View File

@ -380,7 +380,7 @@ public:
#define FOR_EACH_SHEET_ROW_LOOP(__sheet, __r) \
int it##__r = __sheet.items(); \
for( int __r = 0; r < it##__r; __r++)
for( int __r = 0; __r < it##__r; __r++)
#define FOR_EACH_SHEET_ROW_BACK_LOOP(__sheet, __r) \
int it##__r = __sheet.items(); \