Patch level : 10.0 286
Files correlati : pe0.exe Ricompilazione Demo : [ ] Commento : Preventivi/incarichi (Dinamica) git-svn-id: svn://10.65.10.50/trunk@18734 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
bbbdff79d4
commit
1ffc386788
@ -41,7 +41,7 @@ public:
|
|||||||
virtual void user_set_row_handler(TMask& rm, short field, int index);
|
virtual void user_set_row_handler(TMask& rm, short field, int index);
|
||||||
|
|
||||||
virtual TVariable_mask * riga_mask(int numriga);
|
virtual TVariable_mask * riga_mask(int numriga);
|
||||||
virtual void doc2mask(bool reload_clifo = true, bool update = true);
|
virtual void doc2mask(bool reload_clifo = true, bool force_load = false, bool update = true);
|
||||||
|
|
||||||
TGestione_preventivo_msk(const char* tipodoc);
|
TGestione_preventivo_msk(const char* tipodoc);
|
||||||
};
|
};
|
||||||
@ -198,9 +198,9 @@ TVariable_mask * TGestione_preventivo_msk::riga_mask(int numriga)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TGestione_preventivo_msk::doc2mask(bool reload_clifo, bool update)
|
void TGestione_preventivo_msk::doc2mask(bool reload_clifo, bool force_load, bool update)
|
||||||
{
|
{
|
||||||
TDocumento_mask::doc2mask(reload_clifo, false);
|
TDocumento_mask::doc2mask(reload_clifo, force_load, false);
|
||||||
|
|
||||||
TSheet_field& s = sfield(F_SHEET);
|
TSheet_field& s = sfield(F_SHEET);
|
||||||
const int righe = s.items();
|
const int righe = s.items();
|
||||||
|
@ -939,7 +939,7 @@ public:
|
|||||||
TCond_vendita & condv() const;
|
TCond_vendita & condv() const;
|
||||||
|
|
||||||
void occ2mask();
|
void occ2mask();
|
||||||
void cli2mask();
|
void cli2mask(bool force_load = false);
|
||||||
virtual void doc2mask(bool reload_clifo = true, bool force_load = false, bool update = true);
|
virtual void doc2mask(bool reload_clifo = true, bool force_load = false, bool update = true);
|
||||||
void mask2doc();
|
void mask2doc();
|
||||||
|
|
||||||
|
@ -578,16 +578,24 @@ 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)
|
: TElaborazione(cod), _preserve_original_row(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);
|
||||||
for (int d = 0; d < doc_in.items(); d++)
|
for (int d = 0; d < doc_in.items(); d++)
|
||||||
{
|
{
|
||||||
const TDocumento& doc_src = doc_in[d];
|
const TDocumento& doc_src = doc_in[d];
|
||||||
|
if (doc_out.items() <= d)
|
||||||
|
{
|
||||||
|
doc_out.add(new TDocumento('D', doc_src.get_int(DOC_ANNO), codice_numerazione_finale(), 0L));
|
||||||
|
doc_out[d].put(DOC_TIPODOC, tipo_finale());
|
||||||
|
doc_out[d].put(DOC_STATO, stato_finale());
|
||||||
|
}
|
||||||
TDocumento& doc_dest = doc_out[d];
|
TDocumento& doc_dest = doc_out[d];
|
||||||
|
|
||||||
doc_dest.copy_contents(doc_src);
|
doc_dest.copy_contents(doc_src);
|
||||||
@ -598,5 +606,8 @@ bool TCopia_documento::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
|
|||||||
if (data_elab.ok())
|
if (data_elab.ok())
|
||||||
doc_dest.put(DOC_DATADOC, data_elab);
|
doc_dest.put(DOC_DATADOC, data_elab);
|
||||||
}
|
}
|
||||||
|
post_process_input(doc_in);
|
||||||
|
post_process_output(doc_out);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
11
ve/velib04.h
11
ve/velib04.h
@ -155,6 +155,9 @@ class TElaborazione : public TRectype // velib04
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
int read(const char* cod);
|
int read(const char* cod);
|
||||||
|
virtual void pre_process_input(TLista_documenti& doc_in) {}
|
||||||
|
virtual void post_process_input(TLista_documenti& doc_out) {}
|
||||||
|
virtual void post_process_output(TLista_documenti& doc_out) {}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum { _max_tipi_doc_elab = 10 };
|
enum { _max_tipi_doc_elab = 10 };
|
||||||
@ -252,9 +255,6 @@ protected:
|
|||||||
virtual void create_row(TDocumento& doc_out, const TRiga_documento & rin);
|
virtual void create_row(TDocumento& doc_out, const TRiga_documento & rin);
|
||||||
virtual const TString & get_tipo_out(const TDocumento & doc_out) { return get("S8"); }
|
virtual const TString & get_tipo_out(const TDocumento & doc_out) { return get("S8"); }
|
||||||
bool change_clifo() { return get_bool("B14"); }
|
bool change_clifo() { return get_bool("B14"); }
|
||||||
virtual void pre_process_input(TLista_documenti& doc_in) {}
|
|
||||||
virtual void post_process_input(TLista_documenti& doc_out) {}
|
|
||||||
virtual void post_process_output(TLista_documenti& doc_out) {}
|
|
||||||
virtual bool da_raggruppare(const TRiga_documento & rin) { return true; }
|
virtual bool da_raggruppare(const TRiga_documento & rin) { return true; }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -516,12 +516,15 @@ public:
|
|||||||
|
|
||||||
class TCopia_documento : public TElaborazione // velib04
|
class TCopia_documento : public TElaborazione // velib04
|
||||||
{
|
{
|
||||||
|
bool _preserve_original_row;
|
||||||
|
|
||||||
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;}
|
||||||
|
|
||||||
TCopia_documento(const char* cod);
|
TCopia_documento(const char* cod);
|
||||||
TCopia_documento(const TRectype& rec) : TElaborazione(rec) { }
|
TCopia_documento(const TRectype& rec) : TElaborazione(rec), _preserve_original_row(false) { }
|
||||||
virtual ~TCopia_documento() { }
|
virtual ~TCopia_documento() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1392,6 +1392,7 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
|||||||
mov_rec.put(MOV_DANNO, doc.get(DOC_ANNO));
|
mov_rec.put(MOV_DANNO, doc.get(DOC_ANNO));
|
||||||
mov_rec.put(MOV_DCODNUM, doc.get(DOC_CODNUM));
|
mov_rec.put(MOV_DCODNUM, doc.get(DOC_CODNUM));
|
||||||
mov_rec.put(MOV_DNDOC, doc.get(DOC_NDOC));
|
mov_rec.put(MOV_DNDOC, doc.get(DOC_NDOC));
|
||||||
|
mov_rec.put(MOV_LIQDIFF, doc.get(DOC_LIQDIFF));
|
||||||
|
|
||||||
return _error;
|
return _error;
|
||||||
}
|
}
|
||||||
@ -1567,6 +1568,8 @@ error_type TContabilizzazione::compile_head_mov_re(TDocumento& doc)
|
|||||||
mov_rec.put(MOV_DANNO, doc.get(DOC_ANNO));
|
mov_rec.put(MOV_DANNO, doc.get(DOC_ANNO));
|
||||||
mov_rec.put(MOV_DCODNUM, doc.get(DOC_CODNUM));
|
mov_rec.put(MOV_DCODNUM, doc.get(DOC_CODNUM));
|
||||||
mov_rec.put(MOV_DNDOC, doc.get(DOC_NDOC));
|
mov_rec.put(MOV_DNDOC, doc.get(DOC_NDOC));
|
||||||
|
mov_rec.put(MOV_LIQDIFF, doc.get(DOC_LIQDIFF));
|
||||||
|
|
||||||
|
|
||||||
return _error;
|
return _error;
|
||||||
}
|
}
|
||||||
@ -4211,6 +4214,7 @@ bool TContabilizzazione::elabora(TLista_documenti& doc_in, TLista_documenti& doc
|
|||||||
p.links().add("Movimento Prima Nota |b|w", 0);
|
p.links().add("Movimento Prima Nota |b|w", 0);
|
||||||
p.links().add("Movimento Analitico |r|w", 1);
|
p.links().add("Movimento Analitico |r|w", 1);
|
||||||
p.setlinkhandler(link_handler);
|
p.setlinkhandler(link_handler);
|
||||||
|
pre_process_input(doc_in);
|
||||||
_viswin = new TViswin(NULL, TR("Contabilizzazione documenti"), false, true, true);
|
_viswin = new TViswin(NULL, TR("Contabilizzazione documenti"), false, true, true);
|
||||||
if (!exporting())
|
if (!exporting())
|
||||||
_viswin->open_modal();
|
_viswin->open_modal();
|
||||||
@ -4354,7 +4358,10 @@ bool TContabilizzazione::elabora(TLista_documenti& doc_in, TLista_documenti& doc
|
|||||||
}
|
}
|
||||||
delete _viswin; _viswin = NULL;
|
delete _viswin; _viswin = NULL;
|
||||||
|
|
||||||
return _can_write; // Se non ha riscontrato errori per nessun documento, _can_write = true
|
post_process_input(doc_in);
|
||||||
|
post_process_output(doc_out);
|
||||||
|
|
||||||
|
return _can_write; // Se non ha riscontrato errori per nessun documento, _can_write = true
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TContabilizzazione::call_exe(const TDocumento& doc, const TMovimentoPN& movimento) const
|
bool TContabilizzazione::call_exe(const TDocumento& doc, const TMovimentoPN& movimento) const
|
||||||
|
@ -705,6 +705,7 @@ bool TGenerazione_effetti::elabora(TLista_documenti& doc_in, TLista_documenti& d
|
|||||||
_error = no_error;
|
_error = no_error;
|
||||||
_total_bills = 0L;
|
_total_bills = 0L;
|
||||||
|
|
||||||
|
pre_process_input(doc_in);
|
||||||
const int items = doc_in.items(); // Numero dei documenti in questa elaborazione
|
const int items = doc_in.items(); // Numero dei documenti in questa elaborazione
|
||||||
for (int i = 0; i < items ; i++) // Scorriamo tutti i documenti nella lista
|
for (int i = 0; i < items ; i++) // Scorriamo tutti i documenti nella lista
|
||||||
{
|
{
|
||||||
@ -717,6 +718,8 @@ bool TGenerazione_effetti::elabora(TLista_documenti& doc_in, TLista_documenti& d
|
|||||||
if (!good())
|
if (!good())
|
||||||
display_error(doc);
|
display_error(doc);
|
||||||
}
|
}
|
||||||
|
post_process_input(doc_in);
|
||||||
|
post_process_output(doc_out);
|
||||||
|
|
||||||
return _can_write;
|
return _can_write;
|
||||||
}
|
}
|
||||||
|
@ -330,6 +330,8 @@ bool TConsegna_ordini::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
|
|||||||
TConsegna_mask m(header_code, ordina_per_codice(), get_bool("B3"));
|
TConsegna_mask m(header_code, ordina_per_codice(), get_bool("B3"));
|
||||||
|
|
||||||
const int items_max = items_in > items_out ? items_in : items_out;
|
const int items_max = items_in > items_out ? items_in : items_out;
|
||||||
|
|
||||||
|
pre_process_input(doc_in);
|
||||||
for (int d = 0; d < items_max && ok; d++)
|
for (int d = 0; d < items_max && ok; d++)
|
||||||
{
|
{
|
||||||
TDocumento& indoc = doc_in[d < items_in ? d : 0];
|
TDocumento& indoc = doc_in[d < items_in ? d : 0];
|
||||||
@ -705,6 +707,8 @@ bool TConsegna_ordini::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
|
|||||||
{
|
{
|
||||||
indoc.stato(stato_finale_doc_iniziale()[0]);
|
indoc.stato(stato_finale_doc_iniziale()[0]);
|
||||||
}
|
}
|
||||||
|
post_process_input(doc_in);
|
||||||
|
post_process_output(doc_out);
|
||||||
}
|
}
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
@ -169,6 +169,7 @@ bool TConsuntivazione_produzione::elabora(TLista_documenti& doc_in, TLista_docum
|
|||||||
TLocalisamfile rilevazioni(LF_RILPROD);
|
TLocalisamfile rilevazioni(LF_RILPROD);
|
||||||
TRectype& ril = rilevazioni.curr();
|
TRectype& ril = rilevazioni.curr();
|
||||||
|
|
||||||
|
pre_process_input(doc_in);
|
||||||
if (doc_out.items() == 0)
|
if (doc_out.items() == 0)
|
||||||
{
|
{
|
||||||
TDocumento d('D', data_elab.year(), codice_numerazione_finale(), 0L);
|
TDocumento d('D', data_elab.year(), codice_numerazione_finale(), 0L);
|
||||||
@ -299,5 +300,7 @@ bool TConsuntivazione_produzione::elabora(TLista_documenti& doc_in, TLista_docum
|
|||||||
|
|
||||||
book.add(log);
|
book.add(log);
|
||||||
book.preview();
|
book.preview();
|
||||||
return done;
|
post_process_input(doc_in);
|
||||||
|
post_process_output(doc_out);
|
||||||
|
return done;
|
||||||
}
|
}
|
@ -719,10 +719,12 @@ bool TContabilizzazione_analitica::elabora(TLista_documenti& doc_in, TLista_docu
|
|||||||
{
|
{
|
||||||
const TImporto zero;
|
const TImporto zero;
|
||||||
TPrinter& p = printer();
|
TPrinter& p = printer();
|
||||||
p.links().add("Movimento Analitico |r|w", 0);
|
|
||||||
p.setlinkhandler(link_handler_ana);
|
|
||||||
TViswin v(NULL, TR("Contabilizzazione documenti in analitica"), false, true, true);
|
TViswin v(NULL, TR("Contabilizzazione documenti in analitica"), false, true, true);
|
||||||
|
|
||||||
|
|
||||||
|
p.links().add("Movimento Analitico |r|w", 0);
|
||||||
|
p.setlinkhandler(link_handler_ana);
|
||||||
|
pre_process_input(doc_in);
|
||||||
v.open_modal();
|
v.open_modal();
|
||||||
for (int i = 0; i < doc_in.items(); i++)
|
for (int i = 0; i < doc_in.items(); i++)
|
||||||
{
|
{
|
||||||
@ -737,6 +739,8 @@ bool TContabilizzazione_analitica::elabora(TLista_documenti& doc_in, TLista_docu
|
|||||||
if (v.run() == K_CTRL+'S') // Ho premuto Stampa
|
if (v.run() == K_CTRL+'S') // Ho premuto Stampa
|
||||||
p.print_txt(v.text());
|
p.print_txt(v.text());
|
||||||
|
|
||||||
|
post_process_input(doc_in);
|
||||||
|
post_process_output(doc_out);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,20 +60,6 @@ bool TOriginal_row_mask::on_key(KEY key)
|
|||||||
// TColor_rule
|
// TColor_rule
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
class TColor_rule : public TExpr_documento
|
|
||||||
{
|
|
||||||
COLOR _back, _fore, _def_back, _def_fore;
|
|
||||||
TString _desc, _key;
|
|
||||||
|
|
||||||
public:
|
|
||||||
const TString& description() const { return _desc; }
|
|
||||||
const TString& key() const { return _key; }
|
|
||||||
void default_colors(COLOR& back, COLOR& fore) const { back = _def_back; fore = _def_fore; }
|
|
||||||
void colors(COLOR& back, COLOR& fore) const { back = _back; fore = _fore; }
|
|
||||||
void set_colors(COLOR back, COLOR fore) { _back = back; _fore = fore; }
|
|
||||||
|
|
||||||
TColor_rule(const char* desc, const char* expr, TTypeexp type, COLOR back, COLOR fore);
|
|
||||||
};
|
|
||||||
|
|
||||||
TColor_rule::TColor_rule(const char* desc, const char* expr, TTypeexp type, COLOR back, COLOR fore)
|
TColor_rule::TColor_rule(const char* desc, const char* expr, TTypeexp type, COLOR back, COLOR fore)
|
||||||
: TExpr_documento(expr, type), _back(back), _fore(fore), _def_back(back), _def_fore(fore)
|
: TExpr_documento(expr, type), _back(back), _fore(fore), _def_back(back), _def_fore(fore)
|
||||||
@ -1016,7 +1002,7 @@ void TDocumento_mask::reset_masks(const TString& tipo_doc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TDocumento_mask::doc2mask(bool reload_clifo, bool force_load)
|
void TDocumento_mask::doc2mask(bool reload_clifo, bool force_load, bool update)
|
||||||
{
|
{
|
||||||
TSheet_field& s = sfield(F_SHEET);
|
TSheet_field& s = sfield(F_SHEET);
|
||||||
s.destroy( );
|
s.destroy( );
|
||||||
@ -1054,7 +1040,8 @@ void TDocumento_mask::doc2mask(bool reload_clifo, bool force_load)
|
|||||||
|
|
||||||
reset_masks(get(F_TIPODOC));
|
reset_masks(get(F_TIPODOC));
|
||||||
//aggiorna i colori delle righe e forza l'update dello sheet
|
//aggiorna i colori delle righe e forza l'update dello sheet
|
||||||
highlight();
|
if (update)
|
||||||
|
highlight();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TDocumento_mask::mask2doc()
|
void TDocumento_mask::mask2doc()
|
||||||
|
@ -1717,6 +1717,7 @@ bool codart_handler(TMask_field& f, KEY key )
|
|||||||
{
|
{
|
||||||
TDocumento & doc = mask.doc();
|
TDocumento & doc = mask.doc();
|
||||||
TRiga_documento & curr_row = doc[current_doc_row];
|
TRiga_documento & curr_row = doc[current_doc_row];
|
||||||
|
const int start_level = curr_row.get_int(RDOC_LEVEL);
|
||||||
|
|
||||||
sh.update_row(current_doc_row - 1);
|
sh.update_row(current_doc_row - 1);
|
||||||
curr_row.autosave(sh);
|
curr_row.autosave(sh);
|
||||||
@ -1754,6 +1755,8 @@ bool codart_handler(TMask_field& f, KEY key )
|
|||||||
new_row.put(RDOC_UMQTA, r.um());
|
new_row.put(RDOC_UMQTA, r.um());
|
||||||
new_row.put(RDOC_GENERATA, "X");
|
new_row.put(RDOC_GENERATA, "X");
|
||||||
new_row.put(RDOC_QTA, r.val() /* * qta_fin */);
|
new_row.put(RDOC_QTA, r.val() /* * qta_fin */);
|
||||||
|
const int level = start_level + r.livello();
|
||||||
|
new_row.put(RDOC_LEVEL, level);
|
||||||
new_row.autoload(sh);
|
new_row.autoload(sh);
|
||||||
sh.check_row(row);
|
sh.check_row(row);
|
||||||
new_row.autosave(sh); // Da sheet a rdoc
|
new_row.autosave(sh); // Da sheet a rdoc
|
||||||
@ -2788,7 +2791,7 @@ bool gen_livelli_handler(TMask_field& f, KEY key )
|
|||||||
{
|
{
|
||||||
TFieldref fld(name.after("34."), LF_RIGHEDOC);
|
TFieldref fld(name.after("34."), LF_RIGHEDOC);
|
||||||
|
|
||||||
code << fld.read(d);
|
code << fld.read(r);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (name.starts_with("47."))
|
if (name.starts_with("47."))
|
||||||
|
@ -66,7 +66,6 @@
|
|||||||
#define FR_DATACONS 130
|
#define FR_DATACONS 130
|
||||||
#define FR_CODARTMAG 131
|
#define FR_CODARTMAG 131
|
||||||
#define FR_CHECKED 132
|
#define FR_CHECKED 132
|
||||||
#define FR_CHECKED 132
|
|
||||||
#define FR_RITIRO 133 // Lavanderie
|
#define FR_RITIRO 133 // Lavanderie
|
||||||
#define FR_QTAGG1 133
|
#define FR_QTAGG1 133
|
||||||
#define FR_QTAGG2 134
|
#define FR_QTAGG2 134
|
||||||
|
Loading…
x
Reference in New Issue
Block a user