Patch level :10.0 256
Files correlati :lv2.exe Ricompilazione Demo : [ ] Commento Primo commit della fatturazioine git-svn-id: svn://10.65.10.50/trunk@18489 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
cadf5145fb
commit
7f79dffe43
@ -11,7 +11,8 @@ int main(int argc, char** argv)
|
|||||||
case 1: lv2200(argc, argv); break; //manipolazione e stampa del planning
|
case 1: lv2200(argc, argv); break; //manipolazione e stampa del planning
|
||||||
case 2: lv2300(argc, argv); break; //Stampa Giri Giornaliero/Settimanale
|
case 2: lv2300(argc, argv); break; //Stampa Giri Giornaliero/Settimanale
|
||||||
case 3: lv2400(argc, argv); break; //generazione automatica bolle di consegna
|
case 3: lv2400(argc, argv); break; //generazione automatica bolle di consegna
|
||||||
case 4: lv2600(argc, argv); break; //acquisizione bolle di rientro
|
case 4: lv2500(argc, argv); break;
|
||||||
|
case 5: lv2600(argc, argv); break; //acquisizione bolle di rientro
|
||||||
case 6: lv2700(argc, argv); break; //Riepilogo Bolle di Lavanderie
|
case 6: lv2700(argc, argv); break; //Riepilogo Bolle di Lavanderie
|
||||||
case 7: lv2800(argc, argv); break; //Venduto Per Cliente nei 12 Mesi
|
case 7: lv2800(argc, argv); break; //Venduto Per Cliente nei 12 Mesi
|
||||||
default: lv2100(argc, argv); break; //generazione automatica del planning
|
default: lv2100(argc, argv); break; //generazione automatica del planning
|
||||||
|
116
lv/lv2500.cpp
116
lv/lv2500.cpp
@ -17,10 +17,13 @@
|
|||||||
|
|
||||||
class TFatturazione_lavanderie:public TFatturazione_bolle
|
class TFatturazione_lavanderie:public TFatturazione_bolle
|
||||||
{
|
{
|
||||||
|
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);
|
||||||
// void fat_lav(TRiga_documento & rin, int& qta, real& prezzo);
|
real fat_lav_pre(TRiga_documento & rin, const real& qta);
|
||||||
|
virtual void post_process(TDocumento & doc);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TFatturazione_lavanderie(const char* cod);
|
TFatturazione_lavanderie(const char* cod);
|
||||||
@ -35,40 +38,33 @@ TFatturazione_lavanderie::TFatturazione_lavanderie(const char* cod)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* void TFatturazione_lavanderie::fat_lav_pre(TRiga_documento & rin, int& qta)
|
real TFatturazione_lavanderie::fat_lav_pre(TRiga_documento & rin, const real& qta)
|
||||||
{
|
{
|
||||||
const TString80 codart=rin.get(RDOC_CODART);
|
const TString80 codart=rin.get(RDOC_CODART);
|
||||||
const long clifo=rin.get_long(RDOC_CLIFO);
|
const long clifo=rin.doc().get_long(DOC_CODCF);
|
||||||
const int indsped=rin.get_int(RDOC_CODINDSP);
|
const int indsped=rin.doc().get_int(DOC_CODINDSP);
|
||||||
|
const TString8 causale=rin.get(RDOC_CODAGG1);
|
||||||
|
|
||||||
|
real new_qta;
|
||||||
|
|
||||||
const TRectype& cau = cache().get("&CAU", causale);
|
const TRectype& cau = cache().get("&CAU", causale);
|
||||||
//movimento o meno la dotazione temporanea/odierna a seconda di cosa prevede la causale
|
//movimento o meno la dotazione temporanea/odierna a seconda di cosa prevede la causale
|
||||||
int sgn_con = 0;
|
|
||||||
if (cau.get_bool("B0"))
|
/* if (cau.get_bool("B0"))
|
||||||
{
|
{
|
||||||
const TCausale_magazzino& rit = cached_causale_magazzino(cau.get("S1"));
|
const TCausale_magazzino& rit = cached_causale_magazzino(cau.get("S1"));
|
||||||
if (codmagcoll.blank() && rit.has_default_mag())
|
int sgn_rit = rit.sgn(s_consmese);
|
||||||
{
|
|
||||||
codmagcoll = rit.default_mag();
|
}*/
|
||||||
coddepcoll = rit.default_dep();
|
|
||||||
}
|
|
||||||
sgn_rit = rit.sgn(s_consmese);
|
|
||||||
}
|
|
||||||
if (cau.get_bool("B1"))
|
if (cau.get_bool("B1"))
|
||||||
{
|
{
|
||||||
const TCausale_magazzino& con = cached_causale_magazzino(cau.get("S2"));
|
const TCausale_magazzino& con = cached_causale_magazzino(cau.get("S2"));
|
||||||
if (codmag.blank() && con.has_default_mag())
|
int sgn_con = con.sgn(s_consmese);
|
||||||
{
|
new_qta=sgn_con*qta;
|
||||||
codmag = con.default_mag();
|
|
||||||
coddep = con.default_dep();
|
|
||||||
}
|
|
||||||
sgn_con = con.sgn(s_consmese);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TFatturazione_msk msk;
|
TLaundry_contract contr(clifo,indsped,_data_elab);
|
||||||
TDate datafat=msk.get_date(F_DATAFAT);
|
|
||||||
|
|
||||||
TLaundry_contract contr(clifo,indsped,datafat);
|
|
||||||
const TRectype & rcont=contr.row(codart);
|
const TRectype & rcont=contr.row(codart);
|
||||||
|
|
||||||
const TString4 tipodot=rcont.get(LVRCONDV_NOLCIC);
|
const TString4 tipodot=rcont.get(LVRCONDV_NOLCIC);
|
||||||
@ -77,62 +73,55 @@ TFatturazione_lavanderie::TFatturazione_lavanderie(const char* cod)
|
|||||||
|
|
||||||
TArticolo_lavanderie artlav(codart,'C',clifo,indsped);
|
TArticolo_lavanderie artlav(codart,'C',clifo,indsped);
|
||||||
|
|
||||||
}
|
return new_qta;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TFatturazione_lavanderie::fat_lav_post(TRiga_documento & rin, t& qta)
|
void TFatturazione_lavanderie::post_process(TDocumento & doc)
|
||||||
{
|
{
|
||||||
const TString80 codart=rin.get(RDOC_CODART);
|
const int rows = doc.physical_rows();
|
||||||
const long clifo=rin.get_long(RDOC_CLIFO);
|
for (int i = 1; i <= rows; i++)
|
||||||
const int indsped=rin.get_int(RDOC_CODINDSP);
|
{
|
||||||
|
TRiga_documento& rout = doc[i];
|
||||||
|
const TString80 codart=rout.get(RDOC_CODART);
|
||||||
|
const long clifo=rout.doc().get_long(DOC_CODCF);
|
||||||
|
const int indsped=rout.doc().get_int(DOC_CODINDSP);
|
||||||
|
|
||||||
TFatturazione_msk msk;
|
TLaundry_contract contr(clifo,indsped,_data_elab);
|
||||||
TDate datafat=msk.get_date(F_DATAFAT);
|
|
||||||
|
|
||||||
TLaundry_contract contr(clifo,indsped,datafat);
|
|
||||||
const TRectype & rcont=contr.row(codart);
|
const TRectype & rcont=contr.row(codart);
|
||||||
|
|
||||||
const TString4 tipodot=rcont.get(LVRCONDV_NOLCIC);
|
const TString4 tipodot=rcont.get(LVRCONDV_NOLCIC);
|
||||||
const TString4 artcli=rcont.get(LVRCONDV_VCARTCLI);
|
const TString4 artcli=rcont.get(LVRCONDV_VCARTCLI);
|
||||||
const real dot;
|
real dot;
|
||||||
|
TArticolo_lavanderie artlav(codart,'C',clifo,indsped);
|
||||||
|
|
||||||
if (tipodot=="I")
|
if (tipodot=="I")
|
||||||
dot=artlav.get('DOTIN');
|
dot=artlav.get_real("DOTIN");
|
||||||
else
|
else
|
||||||
dot=artlav.get('DOTOD');
|
dot=artlav.get_real("DOTOD");
|
||||||
|
|
||||||
TArticolo_lavanderie artlav(codart,'C',clifo,indsped);
|
|
||||||
|
|
||||||
int tipoforf=rcont.get_int(LVRCONDV_TIPOFORF);
|
int tipoforf=rcont.get_int(LVRCONDV_TIPOFORF);
|
||||||
|
|
||||||
switch (tipoforf)
|
switch (tipoforf)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
|
||||||
qta=rin.get_int(RDOC_QTA);
|
|
||||||
prezzo=rin.get_real(RODC_PREZZO);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
{
|
rout.put(RDOC_PREZZO, rcont.get_real(LVRCONDV_PREZZO));
|
||||||
qta=rin.get_int(RDOC_QTA);
|
|
||||||
prezzo=rcont.get_real(LVRCONDV_PREZZO);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
qta=1;
|
rout.put(RDOC_QTA, UNO);
|
||||||
prezzo=rcont.get_real(LVRCONDV_IMPFISART);
|
rout.put(RDOC_PREZZO, rcont.get_real(LVRCONDV_IMPFISART));
|
||||||
// gestione in base codice per valore fisso ??? tolta la scelta dell'articolo o del cliente
|
// gestione in base codice per valore fisso ??? tolta la scelta dell'articolo o del cliente
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
{
|
{
|
||||||
int tipolist=contr.get_int(LVCONDV_TIPOLIST);
|
int tipolist=contr.get_int(LVCONDV_TIPOLIS);
|
||||||
|
|
||||||
if (tipolist==0)
|
if (tipolist==0)
|
||||||
prezzo=rcont.get_real(LVRCONDV_PREZZO);
|
rout.put(RDOC_PREZZO, rcont.get_real(LVRCONDV_PREZZO));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TString query;
|
TString query;
|
||||||
@ -144,43 +133,45 @@ void TFatturazione_lavanderie::fat_lav_post(TRiga_documento & rin, t& qta)
|
|||||||
recset.set_var("#CODART",clifo);
|
recset.set_var("#CODART",clifo);
|
||||||
recset.set_var("#UM",rcont.get(LVRCONDV_UM));
|
recset.set_var("#UM",rcont.get(LVRCONDV_UM));
|
||||||
|
|
||||||
prezzo=recset.get(UMART_PREZZO).as_real();
|
rout.put(RDOC_PREZZO,recset.get(UMART_PREZZO).as_real());
|
||||||
}
|
}
|
||||||
|
|
||||||
qta=dot;
|
rout.put(RDOC_QTA, dot);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
{
|
{
|
||||||
prezzo=rcont.get_real(LVRCONDV_PREZZO);
|
rout.put(RDOC_PREZZO, rcont.get_real(LVRCONDV_PREZZO));
|
||||||
|
const real cicl=rcont.get_real(LVRCONDV_MINCIC)*dot;
|
||||||
const real mincic=rcont.get_real(LVRCONDV_MINCIC);
|
const real qta=rout.get(RDOC_QTA);
|
||||||
|
rout.put(RDOC_QTA, cicl > qta ? cicl : qta);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
{
|
{
|
||||||
prezzo=rcont.get_real(LVRCONDV_VALCONV);
|
rout.put(RDOC_PREZZO, rcont.get_real(LVRCONDV_VALCONV));
|
||||||
|
rout.put(RDOC_QTA, dot*rcont.get_real(LVRCONDV_FORFPERCL));
|
||||||
qta=dot*prezzo;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
{
|
{
|
||||||
prezzo=rcont.get_real(LVRCONDV_VALCONV);
|
rout.put(RDOC_PREZZO, rcont.get_real(LVRCONDV_PREZZO));
|
||||||
|
|
||||||
qta=dot*;
|
rout.put(RDOC_QTA, dot);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} */
|
}
|
||||||
|
|
||||||
void TFatturazione_lavanderie::add_rows(TRiga_documento & rout, TRiga_documento & rin)
|
void TFatturazione_lavanderie::add_rows(TRiga_documento & rout, TRiga_documento & rin)
|
||||||
{
|
{
|
||||||
rout.add(RDOC_QTA, rin.get_real(RDOC_QTA));
|
const real qta=rin.get_real(RDOC_QTA);
|
||||||
|
|
||||||
|
rout.add(RDOC_QTA, fat_lav_pre(rin,qta) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void TFatturazione_lavanderie::create_row(TDocumento& doc_out, const TRiga_documento & rin)
|
void TFatturazione_lavanderie::create_row(TDocumento& doc_out, const TRiga_documento & rin)
|
||||||
@ -191,6 +182,7 @@ void TFatturazione_lavanderie::create_row(TDocumento& doc_out, const TRiga_docum
|
|||||||
bool TFatturazione_lavanderie::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
bool TFatturazione_lavanderie::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||||
const TDate& data_elab, bool interattivo)
|
const TDate& data_elab, bool interattivo)
|
||||||
{
|
{
|
||||||
|
_data_elab=data_elab;
|
||||||
bool ok=TFatturazione_bolle::elabora(doc_in, doc_out, data_elab, interattivo);
|
bool ok=TFatturazione_bolle::elabora(doc_in, doc_out, data_elab, interattivo);
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user