Patch level : 12.00 1382

Files correlati     : ba8.exe
Bug                 :

Commento:
Corretto generatoe report
This commit is contained in:
Alessandro Bonazzi 2025-03-05 20:29:09 +01:00
parent cc00258a72
commit eb35c28b96

View File

@ -154,7 +154,7 @@ void TSection_properties_mask::vedo_non_vedo()
if (level > 1)
{
if (level > 10)
can_delete = _report.find_section('B', level+1) == NULL;
can_delete = _report.find_section('B', level+1) == nullptr;
else
can_delete = true;
}
@ -373,7 +373,7 @@ bool TReport_query_mask::select_query()
item.Load(path);
const TXmlItem* sql = item.FindFirst("sql");
ok = sql != NULL;
ok = sql != nullptr;
if (ok)
{
TString str; sql->GetEnclosedText(str);
@ -407,7 +407,8 @@ bool TReport_query_mask::on_field_event(TOperable_field& o, TField_event e, long
{
const TString& sql = get(F_SQL);
TRecordset* rex = create_recordset(sql);
if (rex != NULL)
if (rex != nullptr)
{
if (rex->items() > 0)
{
@ -501,6 +502,7 @@ bool TReport_mask::get_rep_path(TFilename& path) const
{
const TString& name = get(DLG_REPORT);
const bool ok = name.full();
if (ok)
{
if (path.blank())
@ -557,6 +559,7 @@ bool TReport_mask::save_report()
if (is_power_station())
{
FILE_SPEC fsp;
xvt_fsys_convert_str_to_fspec(_curr_report, &fsp);
ok = xvt_dm_post_file_save(&fsp, TR("Nome report")) == FL_OK;
if (ok)
@ -568,13 +571,6 @@ bool TReport_mask::save_report()
if (ok)
_is_dirty = false;
}
if (is_power_station())
{
DIRECTORY dir;
xvt_fsys_get_default_dir(&dir);
xvt_fsys_set_dir(&dir);
}
return ok;
}
@ -784,6 +780,13 @@ void TReport_mask::add_field()
void TReport_mask::edit_field(TReport_field& rf)
{
DIRECTORY dir;
DIRECTORY def;
xvt_fsys_get_curr_dir(&dir);
xvt_fsys_get_default_dir(&def);
xvt_fsys_set_dir(&def);
TReport_section& rs = rf.section();
TReport_field_mask m(rf);
const KEY key = m.run();
@ -868,7 +871,8 @@ void TReport_mask::fields_properties()
bool TReport_mask::enumerate_bodies(int level, TToken_string& code, TToken_string& desc) const
{
TReport_section* rs = _report.find_section('B', level);
if (rs != NULL)
if (rs != nullptr)
{
TString str; str.format("B%d", level);
code.add(str);
@ -878,7 +882,7 @@ bool TReport_mask::enumerate_bodies(int level, TToken_string& code, TToken_strin
enumerate_bodies(level*10+1, code, desc); // Figlio
enumerate_bodies(level+1, code, desc); // Fratello
}
return rs != NULL;
return rs != nullptr;
}
bool TReport_mask::add_section()
@ -898,14 +902,14 @@ bool TReport_mask::add_section()
if (type == 'S')
{
type = 'B';
const int father = atoi(m.get(102).mid(1));
const int father = atoi(m.get(102).smid(1));
if (father < 100000L)
{
int i;
for (i = 1; i <= 9; i++) // Cerca l'ultimo figlio del nodo padre
{
level = father*10+i;
if (_report.find_section(type, level) == NULL)
if (_report.find_section(type, level) == nullptr)
break;
}
if (i > 9)
@ -984,13 +988,13 @@ void TReport_mask::report_properties()
void TReport_mask::report_query()
{
TReport_query_mask qm;
if (_report.recordset() != NULL)
if (_report.recordset() != nullptr)
qm.set(F_SQL, _report.recordset()->query_text());
if (qm.run() == K_ENTER)
{
_report.set_recordset(qm.get(F_SQL));
_is_dirty = true;
const bool ok = _report.recordset() != NULL;
const bool ok = _report.recordset() != nullptr;
enable(DLG_PRINT, ok);
enable(DLG_PREVIEW, ok);
enable(DLG_PDF, ok);
@ -1012,7 +1016,9 @@ void TReport_mask::update_toolbar()
const bool full = !efield(DLG_REPORT).empty();
enable(DLG_SAVEREC, full);
enable(DLG_DELREC, full);
const bool printok = full && _report.recordset() != NULL;
const bool printok = full && _report.recordset() != nullptr;
enable(DLG_PRINT, printok);
enable(DLG_PREVIEW, printok);
enable(DLG_PDF, printok);
@ -1024,26 +1030,26 @@ bool TReport_mask::on_field_event(TOperable_field& o, TField_event e, long jolly
{
case DLG_REPORT:
{
const TString & s = o.get();
if (e == fe_init || e == fe_modify)
{
if (e == fe_init)
if (e == fe_init || e == fe_modify)
{
if (main_app().argc() >= 3)
const TString & s = o.get();
if (e == fe_init)
{
set(DLG_REPORT, main_app().argv(2));
load_report();
if (main_app().argc() >= 3)
{
set(DLG_REPORT, main_app().argv(2));
load_report();
}
}
else
if (e == fe_modify)
{
save_if_needed();
load_report();
}
update_toolbar();
}
else
if (e == fe_modify)
{
save_if_needed();
load_report();
}
update_toolbar();
}
}
break;
case F_SECTIONS:
@ -1059,7 +1065,8 @@ bool TReport_mask::on_field_event(TOperable_field& o, TField_event e, long jolly
if (e == fe_modify)
{
const TReport_section& rs = _tree.curr_section();
const bool on = strchr("HBF", rs.type()) != NULL;
const bool on = strchr("HBF", rs.type()) != nullptr;
switch (atoi(o.get()))
{
case 0: if (on) add_field(); break;
@ -1229,18 +1236,18 @@ protected:
virtual void print();
virtual void preview();
public:
TReporter_app() : _msk(NULL) { }
TReporter_app() : _msk(nullptr) { }
};
void TReporter_app::print()
{
if (_msk != NULL)
if (_msk != nullptr)
_msk->on_print(false);
}
void TReporter_app::preview()
{
if (_msk != NULL)
if (_msk != nullptr)
_msk->on_print(true);
}
@ -1256,11 +1263,7 @@ bool TReporter_app::create()
bool TReporter_app::destroy()
{
if (_msk != NULL)
{
delete _msk;
_msk = NULL;
}
safe_delete(_msk);
return true;
}