Patch level : 10.0 286

Files correlati     : ve0.exe
Ricompilazione Demo : [ ]
Commento            :

Preventivi/incarichi (Dinamica)


git-svn-id: svn://10.65.10.50/trunk@18751 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2009-04-21 14:54:16 +00:00
parent 0f1d173f0c
commit 9244038ce3
3 changed files with 18 additions and 16 deletions

View File

@ -578,13 +578,13 @@ bool TElaborazione_esterna::elabora(TLista_documenti& doc_in, TLista_documenti&
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
TCopia_documento::TCopia_documento(const char* cod) TCopia_documento::TCopia_documento(const char* cod)
: TElaborazione(cod), _preserve_original_row(false) : TElaborazione(cod), _preserve_original_rif(false)
{ } { }
bool TCopia_documento::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out, bool TCopia_documento::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
const TDate& data_elab, bool /*interattivo*/) const TDate& data_elab, bool /*interattivo*/)
{ {
CHECK(doc_in.items() == doc_out.items(), "Si deve specificare un numero uguale di documenti in entrata ed in uscita"); // CHECK(doc_in.items() == doc_out.items(), "Si deve specificare un numero uguale di documenti in entrata ed in uscita");
pre_process_input(doc_in); pre_process_input(doc_in);
for (int d = 0; d < doc_in.items(); d++) for (int d = 0; d < doc_in.items(); d++)
@ -599,9 +599,11 @@ bool TCopia_documento::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
TDocumento& doc_dest = doc_out[d]; TDocumento& doc_dest = doc_out[d];
doc_dest.copy_contents(doc_src); doc_dest.copy_contents(doc_src);
// Scancello tutti gli inutili riferimenti al documento origine // Scancello tutti gli inutili riferimenti al documento origine
for (int r = doc_dest.physical_rows(); r > 0; r--) if (!_preserve_original_rif)
doc_dest[r].reset_original_rdoc_key(); for (int r = doc_dest.physical_rows(); r > 0; r--)
doc_dest[r].reset_original_rdoc_key();
if (data_elab.ok()) if (data_elab.ok())
doc_dest.put(DOC_DATADOC, data_elab); doc_dest.put(DOC_DATADOC, data_elab);

View File

@ -516,15 +516,15 @@ public:
class TCopia_documento : public TElaborazione // velib04 class TCopia_documento : public TElaborazione // velib04
{ {
bool _preserve_original_row; bool _preserve_original_rif;
public: public:
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out, virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
const TDate& data_elab, bool interattivo = false); const TDate& data_elab, bool interattivo = false);
void preserve_original_row(bool on = true) { _preserve_original_row = on;} void preserve_original_rif(bool on = true) { _preserve_original_rif = on;}
TCopia_documento(const char* cod); TCopia_documento(const char* cod);
TCopia_documento(const TRectype& rec) : TElaborazione(rec), _preserve_original_row(false) { } TCopia_documento(const TRectype& rec) : TElaborazione(rec), _preserve_original_rif(false) { }
virtual ~TCopia_documento() { } virtual ~TCopia_documento() { }
}; };

View File

@ -2763,19 +2763,19 @@ bool gen_livelli_handler(TMask_field& f, KEY key )
const TString & name = str->get(i); const TString & name = str->get(i);
if (name.starts_with("PROG")) if (name.starts_with("PROG"))
{ {
TTable lv(format("LV%1d", livello + 1)); TTable mat(format("VE%1d", livello + 1));
const int chars = atoi(name.after("PROG")); const int chars = atoi(name.after("PROG"));
lv.put("CODTAB", code); mat.put("CODTAB", code);
if (lv.read(_isequal) != NOERR) if (mat.read(_isequal) != NOERR)
{ {
lv.zero(); mat.zero();
lv.put("CODTAB", code); mat.put("CODTAB", code);
lv.write(); mat.write();
} }
const int prog = lv.get_int("I0") + 1; const int prog = mat.get_int("I0") + 1;
lv.put("I0", prog); mat.put("I0", prog);
lv.rewrite(); mat.rewrite();
TString s; s << prog; s.lpad(chars, '0'); TString s; s << prog; s.lpad(chars, '0');
code << s; code << s;
} }