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 <config.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",
|
||||
"RUN_FORM", "SET_BACK_COLOR", "SET_FORE_COLOR",
|
||||
"SET_POS", "SET_SIZE", "SET_TEXT_COLOR", "SHOW", "TABLE_READ", "GET_FIRM_DATA",
|
||||
"EVALUATE", NULL
|
||||
"EVALUATE", "GOLEM", "LOGO", NULL
|
||||
};
|
||||
size_t 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);
|
||||
}
|
||||
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:
|
||||
return false;
|
||||
}
|
||||
@ -3483,7 +3548,16 @@ bool TReport::archive(bool 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),
|
||||
_use_printer_font(false), _save_last_printer(false), _orientation(0),
|
||||
_page_split(false), _page_merge(false), _rep_copy(1), _rep_copies(1),
|
||||
|
@ -677,6 +677,7 @@ public:
|
||||
bool print();
|
||||
bool preview();
|
||||
bool archive(bool signature);
|
||||
bool export_text(const char * filename, bool signature, int size = 0);
|
||||
|
||||
TReport();
|
||||
virtual ~TReport();
|
||||
|
Loading…
x
Reference in New Issue
Block a user