Patch level : 12.0 1086
Files correlati : nopatch Commento : Aggiunte funzioni ai report Immagini da oggetti esterni sintassi da mettere nel prescript del campo immagine : <Id oggetto> <nome del campo oggetti esterni> <chiave> <file> GOLEM #THIS ! Logo della ditta sintassi da mettere nel prescript del campo immagine : LOGO #THIS ! L'Id dell'immagine deve essere LOGO
This commit is contained in:
parent
43cf382429
commit
3e8927c381
@ -1,3 +1,4 @@
|
|||||||
|
#include <applicat.h>
|
||||||
#include <colors.h>
|
#include <colors.h>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <defmask.h>
|
#include <defmask.h>
|
||||||
@ -2702,7 +2703,7 @@ size_t TReport::get_usr_words(TString_array& words) const
|
|||||||
"GET_POS", "GET_SIZE", "HIDE", "ISAM_READ",
|
"GET_POS", "GET_SIZE", "HIDE", "ISAM_READ",
|
||||||
"RUN_FORM", "SET_BACK_COLOR", "SET_FORE_COLOR",
|
"RUN_FORM", "SET_BACK_COLOR", "SET_FORE_COLOR",
|
||||||
"SET_POS", "SET_SIZE", "SET_TEXT_COLOR", "SHOW", "TABLE_READ", "GET_FIRM_DATA",
|
"SET_POS", "SET_SIZE", "SET_TEXT_COLOR", "SHOW", "TABLE_READ", "GET_FIRM_DATA",
|
||||||
"EVALUATE", NULL
|
"EVALUATE", "GOLEM", "LOGO", NULL
|
||||||
};
|
};
|
||||||
size_t i;
|
size_t i;
|
||||||
for (i = 0; name[i] != NULL; i++)
|
for (i = 0; name[i] != NULL; i++)
|
||||||
@ -3389,6 +3390,70 @@ bool TReport::execute_usr_word(unsigned int opcode, TVariant_stack& stack)
|
|||||||
evaluate(var.as_string(), var, _nullfld);
|
evaluate(var.as_string(), var, _nullfld);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 21: // GOLEM
|
||||||
|
{
|
||||||
|
const int logic = stack.pop().as_int();
|
||||||
|
const TString key = stack.pop().as_string();
|
||||||
|
const TString fname = stack.pop().as_string();
|
||||||
|
const TString id = stack.pop().as_string();
|
||||||
|
TToken_string golem(cache().get(logic, key, fname), '\n');
|
||||||
|
|
||||||
|
if (golem.full())
|
||||||
|
{
|
||||||
|
FOR_EACH_TOKEN(golem, r)
|
||||||
|
{
|
||||||
|
TToken_string row(r);
|
||||||
|
const TString found_id = row.get(3);
|
||||||
|
|
||||||
|
if (found_id == id)
|
||||||
|
{
|
||||||
|
stack.push(row.get(0));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 22: // LOGO
|
||||||
|
{
|
||||||
|
TString img_id("LOGO");
|
||||||
|
|
||||||
|
img_id << stack.pop().as_string();
|
||||||
|
stack.push(img_id);
|
||||||
|
stack.push(NDT_OGGETTI);
|
||||||
|
stack.push(main_app().get_firm());
|
||||||
|
stack.push(LF_NDITTE);
|
||||||
|
if (!execute_usr_word(21, stack))
|
||||||
|
{
|
||||||
|
TToken_string pl = standard_path_list();
|
||||||
|
TFilename name;
|
||||||
|
|
||||||
|
FOR_EACH_STR_TOKEN(pl, path)
|
||||||
|
{
|
||||||
|
TFilename name(path);
|
||||||
|
TString filemask(img_id);
|
||||||
|
TString_array files;
|
||||||
|
|
||||||
|
filemask << "*";
|
||||||
|
if (list_files(filemask, files) > 0)
|
||||||
|
{
|
||||||
|
FOR_EACH_ARRAY_ROW(files, n, f)
|
||||||
|
{
|
||||||
|
TImage i(*f);
|
||||||
|
|
||||||
|
if (i.ok())
|
||||||
|
{
|
||||||
|
stack.push(*f);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -3483,7 +3548,16 @@ bool TReport::archive(bool signature)
|
|||||||
return book.archive(NULL, signature);
|
return book.archive(NULL, signature);
|
||||||
}
|
}
|
||||||
|
|
||||||
TReport::TReport()
|
bool TReport::export_text(const char * filename,bool signature, int size)
|
||||||
|
{
|
||||||
|
TReport_book book;
|
||||||
|
TFilename name(filename);
|
||||||
|
|
||||||
|
book.add(*this);
|
||||||
|
return book.export_text(name, signature, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
TReport::TReport()
|
||||||
: _cpi(0), _lpi(6), _include(15, ','), _recordset(nullptr), _curr_field(nullptr),
|
: _cpi(0), _lpi(6), _include(15, ','), _recordset(nullptr), _curr_field(nullptr),
|
||||||
_use_printer_font(false), _save_last_printer(false), _orientation(0),
|
_use_printer_font(false), _save_last_printer(false), _orientation(0),
|
||||||
_page_split(false), _page_merge(false), _rep_copy(1), _rep_copies(1),
|
_page_split(false), _page_merge(false), _rep_copy(1), _rep_copies(1),
|
||||||
|
@ -677,6 +677,7 @@ public:
|
|||||||
bool print();
|
bool print();
|
||||||
bool preview();
|
bool preview();
|
||||||
bool archive(bool signature);
|
bool archive(bool signature);
|
||||||
|
bool export_text(const char * filename, bool signature, int size = 0);
|
||||||
|
|
||||||
TReport();
|
TReport();
|
||||||
virtual ~TReport();
|
virtual ~TReport();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user