Patch level :10.0

Files correlati     :lv2.exe
Ricompilazione Demo : [ ]
Commento            :
Gestito il raggruppamento dei campi dell elaborazione


git-svn-id: svn://10.65.10.50/trunk@18669 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
rajitgill 2009-04-06 16:01:40 +00:00
parent 139babd5da
commit c7085452ce
2 changed files with 19 additions and 7 deletions

View File

@ -21,6 +21,7 @@ class TFatturazione_lavanderie:public TFatturazione_bolle
{ {
TDate _data_elab; TDate _data_elab;
protected: protected:
virtual void add_rows(TRiga_documento & rout, TRiga_documento & rin); virtual void add_rows(TRiga_documento & rout, TRiga_documento & rin);
virtual void create_row(TDocumento& doc_out, const TRiga_documento & rin); virtual void create_row(TDocumento& doc_out, const TRiga_documento & rin);
@ -30,6 +31,7 @@ protected:
virtual bool da_raggruppare(const TRiga_documento & rin); virtual bool da_raggruppare(const TRiga_documento & rin);
virtual bool doc_raggruppabili(const TDocumento& doc_in, const TDocumento& doc_out, TToken_string& campi) const ; virtual bool doc_raggruppabili(const TDocumento& doc_in, const TDocumento& doc_out, TToken_string& campi) const ;
virtual bool doc_raggruppabile(const TDocumento & doc) const { return true; } virtual bool doc_raggruppabile(const TDocumento & doc) const { return true; }
virtual void campi_raggruppamento_righe(TToken_string& campi_riga) const;
virtual bool gestione_riferimenti() const { return true; } virtual bool gestione_riferimenti() const { return true; }
virtual bool riferimenti_in_testa() const { return true; } virtual bool riferimenti_in_testa() const { return true; }
virtual TRiga_documento& find_or_create_row(TDocumento& doc_out, const TRiga_documento & rin,const char lavtype); virtual TRiga_documento& find_or_create_row(TDocumento& doc_out, const TRiga_documento & rin,const char lavtype);
@ -237,18 +239,25 @@ void TFatturazione_lavanderie::add_rows(TRiga_documento & rout, TRiga_documento
} */ } */
} }
void TFatturazione_lavanderie::campi_raggruppamento_righe(TToken_string& campi_riga) const
{
TFatturazione_bolle::campi_raggruppamento_righe(campi_riga);
campi_riga.add("LVTYPE");
}
TRiga_documento& TFatturazione_lavanderie::find_or_create_row(TDocumento& doc_out, const TRiga_documento & rin,const char lavtype) TRiga_documento& TFatturazione_lavanderie::find_or_create_row(TDocumento& doc_out, const TRiga_documento & rin,const char lavtype)
{ {
TToken_string campi_riga;
campi_raggruppamento_righe(campi_riga);
const TString80 codart=rin.get(RDOC_CODARTMAG); const TString80 codart=rin.get(RDOC_CODARTMAG);
int r; int r;
for (r=doc_out.physical_rows();r>0;r--) for (r=doc_out.physical_rows();r>0;r--)
{ {
const char tipo=doc_out[r].get_char("LVTYPE"); const char tipo=doc_out[r].get_char("LVTYPE");
const TString& cod=doc_out[r].get(RDOC_CODARTMAG); const TString& cod=doc_out[r].get(RDOC_CODARTMAG);
bool ok = (cod==codart && tipo==lavtype); bool ok =doc_out[r].raggruppabile(rin, campi_riga);
// if (ok)
// ok = doc_out[r].raggruppabile(rin, _campi);
if (ok) if (ok)
break; break;
@ -276,7 +285,7 @@ void TFatturazione_lavanderie::create_row(TDocumento& doc_out, const TRiga_docum
const long clifo = rin.doc().get_long(DOC_CODCF); const long clifo = rin.doc().get_long(DOC_CODCF);
const int indsped = rin.doc().get_int(DOC_CODINDSP); const int indsped = rin.doc().get_int(DOC_CODINDSP);
TLaundry_contract contr(clifo, indsped, _data_elab); TLaundry_contract contr(clifo, indsped, _data_elab);
const TString80 codart=rin.get(RDOC_CODARTMAG); const TString80 codart=rin.get(RDOC_CODARTMAG);
const real qta=rin.get_real(RDOC_QTA); const real qta=rin.get_real(RDOC_QTA);
const real qta1=rin.get_real(RDOC_QTAGG1); const real qta1=rin.get_real(RDOC_QTAGG1);
@ -284,6 +293,9 @@ void TFatturazione_lavanderie::create_row(TDocumento& doc_out, const TRiga_docum
const int tipoprezzo=ini_get_int(CONFIG_DITTA, "lv", "TipoPr"); const int tipoprezzo=ini_get_int(CONFIG_DITTA, "lv", "TipoPr");
real prezzo=rin.get_real(RDOC_PREZZO); real prezzo=rin.get_real(RDOC_PREZZO);
if (contr.get_bool(LVCONDV_FATTSOSP))
return;
if (tipoprezzo == 0) if (tipoprezzo == 0)
{ {
if (rcont.empty()) if (rcont.empty())

View File

@ -2,8 +2,8 @@
#define __LVCONDV_H #define __LVCONDV_H
#define LVCONDV_CODCONT "CODCONT" #define LVCONDV_CODCONT "CODCONT"
// #define LVCONDV_STATUS "STATUS" // #define LVCONDV_STATUS "STATUS"
#define LVCONDV_PROPOSTA "PROPOSTA" #define LVCONDV_PROPOSTA "PROPOSTA"
#define LVCONDV_CODCF "CODCF" #define LVCONDV_CODCF "CODCF"
#define LVCONDV_DATAIN "DATAIN" #define LVCONDV_DATAIN "DATAIN"
#define LVCONDV_DATASC "DATASC" #define LVCONDV_DATASC "DATASC"