Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Stampa cartellini git-svn-id: svn://10.65.10.50/branches/R_10_00@22318 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
cbc1777e20
commit
8d6359c591
@ -252,6 +252,8 @@ public:
|
|||||||
const char * contr_field_nor() const;
|
const char * contr_field_nor() const;
|
||||||
const char * field_nor() const;
|
const char * field_nor() const;
|
||||||
void prec2rec(TRectype & rec) const;
|
void prec2rec(TRectype & rec) const;
|
||||||
|
static const real pezzixpacco(const char *codart);
|
||||||
|
const real pezzixpacco() const { return pezzixpacco(_codart);}
|
||||||
|
|
||||||
virtual void print_on(ostream& out) const;
|
virtual void print_on(ostream& out) const;
|
||||||
|
|
||||||
@ -267,6 +269,16 @@ const char * TPrecedenza::key_carrello(int num) const
|
|||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const real TPrecedenza::pezzixpacco(const char * codart)
|
||||||
|
{
|
||||||
|
real pppacco = cached_article(codart).get_real(ANAMAG_PPCOLLO);
|
||||||
|
|
||||||
|
if (pppacco == ZERO)
|
||||||
|
pppacco = cached_article(codart).get_real(ANAMAG_PPCONF);
|
||||||
|
|
||||||
|
return pppacco == ZERO ? UNO : pppacco;
|
||||||
|
}
|
||||||
|
|
||||||
TPrecedenza::TPrecedenza(const char * codart, int anno, char provv, const char * codnum, long ndoc, int idriga, int nrow, real & qta, real & pacchi, char tipocf, long codcf) :
|
TPrecedenza::TPrecedenza(const char * codart, int anno, char provv, const char * codnum, long ndoc, int idriga, int nrow, real & qta, real & pacchi, char tipocf, long codcf) :
|
||||||
_codart(codart), _anno(anno), _provv(provv), _codnum(codnum), _ndoc(ndoc), _idriga(idriga), _nrow(nrow), _qta(qta), _pacchi(pacchi), _tipocf(tipocf), _codcf(codcf)
|
_codart(codart), _anno(anno), _provv(provv), _codnum(codnum), _ndoc(ndoc), _idriga(idriga), _nrow(nrow), _qta(qta), _pacchi(pacchi), _tipocf(tipocf), _codcf(codcf)
|
||||||
{
|
{
|
||||||
@ -394,13 +406,10 @@ real TPrecedenza::get_qta_max() const
|
|||||||
real TPrecedenza::get_pacchi_max() const
|
real TPrecedenza::get_pacchi_max() const
|
||||||
{
|
{
|
||||||
real pacchi = get_qta_max();
|
real pacchi = get_qta_max();
|
||||||
real pppacco = cached_article(_codart).get(ANAMAG_PPCONF);
|
real pppacco = pezzixpacco();
|
||||||
|
|
||||||
if (pppacco > 0)
|
|
||||||
{
|
|
||||||
pacchi /= pppacco;
|
pacchi /= pppacco;
|
||||||
pacchi.floor();
|
pacchi.floor();
|
||||||
}
|
|
||||||
return pacchi;
|
return pacchi;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -418,13 +427,10 @@ real TPrecedenza::get_qta_nor() const
|
|||||||
real TPrecedenza::get_pacchi_nor() const
|
real TPrecedenza::get_pacchi_nor() const
|
||||||
{
|
{
|
||||||
real pacchi = get_qta_nor();
|
real pacchi = get_qta_nor();
|
||||||
real pppacco = cached_article(_codart).get(ANAMAG_PPCONF);
|
real pppacco = pezzixpacco();
|
||||||
|
|
||||||
if (pppacco > 0)
|
|
||||||
{
|
|
||||||
pacchi /= pppacco;
|
pacchi /= pppacco;
|
||||||
pacchi.floor();
|
pacchi.floor();
|
||||||
}
|
|
||||||
return pacchi;
|
return pacchi;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -495,11 +501,12 @@ void TCrea_cartellini::crea_precedenze(ofstream & outfile, TArray & precs)
|
|||||||
const TString codart = row.get(RDOC_CODART);
|
const TString codart = row.get(RDOC_CODART);
|
||||||
const TString caus = row.get(RDOC_CODAGG1);
|
const TString caus = row.get(RDOC_CODAGG1);
|
||||||
real pacchi = qta; // se non
|
real pacchi = qta; // se non
|
||||||
real pppacco = cached_article(codart).get(ANAMAG_PPCONF);
|
real pppacco = TPrecedenza::pezzixpacco(codart);
|
||||||
|
|
||||||
if (pppacco > 0)
|
|
||||||
pacchi /= pppacco;
|
pacchi /= pppacco;
|
||||||
pppacco.floor();
|
real intpacchi = pacchi;
|
||||||
|
if (intpacchi.floor() != pacchi)
|
||||||
|
pacchi.ceil();
|
||||||
int nrow = row.get_int(RDOC_NRIGA);
|
int nrow = row.get_int(RDOC_NRIGA);
|
||||||
int idriga = row.get_int(RDOC_IDRIGA);
|
int idriga = row.get_int(RDOC_IDRIGA);
|
||||||
|
|
||||||
@ -678,6 +685,15 @@ void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int lev
|
|||||||
c->destroy_rows();
|
c->destroy_rows();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const real pppacco = p.pezzixpacco();
|
||||||
|
real resto = ZERO;
|
||||||
|
|
||||||
|
if (p.pacchi() > UNO && p.qta() != p.pacchi() * pppacco)
|
||||||
|
{
|
||||||
|
p.pacchi() -= UNO;
|
||||||
|
resto = p.qta() - p.pacchi() * pppacco;
|
||||||
|
p.qta() = p.pacchi() * pppacco;
|
||||||
|
}
|
||||||
TRectype & rec = c->row(c->rows() + 1, true);
|
TRectype & rec = c->row(c->rows() + 1, true);
|
||||||
|
|
||||||
p.prec2rec(rec);
|
p.prec2rec(rec);
|
||||||
@ -689,6 +705,16 @@ void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int lev
|
|||||||
rec.put(PACKLIST_PERCOCC, pr);
|
rec.put(PACKLIST_PERCOCC, pr);
|
||||||
p.qta() = ZERO;
|
p.qta() = ZERO;
|
||||||
p.pacchi() = ZERO;
|
p.pacchi() = ZERO;
|
||||||
|
if (resto != ZERO)
|
||||||
|
{
|
||||||
|
TRectype & rec = c->row(c->rows() + 1, true);
|
||||||
|
|
||||||
|
p.prec2rec(rec);
|
||||||
|
rec.put(PACKLIST_QTA, resto);
|
||||||
|
rec.put(PACKLIST_CONF, UNO);
|
||||||
|
real pr = CENTO / max_pacchi ; pr.round(2);
|
||||||
|
rec.put(PACKLIST_PERCOCC, pr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -741,6 +767,9 @@ void TCrea_cartellini::riempi_resti(TArray & carrelli, TArray & precs)
|
|||||||
carrelli.add(c);
|
carrelli.add(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const real pppacco = p.pezzixpacco();
|
||||||
|
real resto = ZERO;
|
||||||
|
|
||||||
if (UNO - c->perc() < perc)
|
if (UNO - c->perc() < perc)
|
||||||
{
|
{
|
||||||
perc = UNO - c->perc();
|
perc = UNO - c->perc();
|
||||||
@ -748,11 +777,16 @@ void TCrea_cartellini::riempi_resti(TArray & carrelli, TArray & precs)
|
|||||||
perc = pacchi / max_pacchi;
|
perc = pacchi / max_pacchi;
|
||||||
perc.round(4);
|
perc.round(4);
|
||||||
qta = pacchi;
|
qta = pacchi;
|
||||||
real pppacco = cached_article(p.codart()).get(ANAMAG_PPCONF);
|
|
||||||
|
|
||||||
if (pppacco > 0)
|
|
||||||
qta *= pppacco;
|
qta *= pppacco;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
if (pacchi > UNO && qta != pacchi * pppacco)
|
||||||
|
{
|
||||||
|
pacchi -= UNO;
|
||||||
|
resto = qta - pacchi * pppacco;
|
||||||
|
qta = pacchi * pppacco;
|
||||||
|
}
|
||||||
TRectype & rec = c->row(c->rows() + 1, true);
|
TRectype & rec = c->row(c->rows() + 1, true);
|
||||||
|
|
||||||
p.prec2rec(rec);
|
p.prec2rec(rec);
|
||||||
@ -763,6 +797,18 @@ void TCrea_cartellini::riempi_resti(TArray & carrelli, TArray & precs)
|
|||||||
c->perc() += perc;
|
c->perc() += perc;
|
||||||
p.qta() -= qta;
|
p.qta() -= qta;
|
||||||
p.pacchi() -= pacchi;
|
p.pacchi() -= pacchi;
|
||||||
|
if (resto != ZERO)
|
||||||
|
{
|
||||||
|
TRectype & rec = c->row(c->rows() + 1, true);
|
||||||
|
|
||||||
|
p.prec2rec(rec);
|
||||||
|
rec.put(PACKLIST_QTA, resto);
|
||||||
|
rec.put(PACKLIST_CONF, UNO);
|
||||||
|
real pr = CENTO / max_pacchi ; pr.round(2);
|
||||||
|
rec.put(PACKLIST_PERCOCC, pr);
|
||||||
|
p.qta() = ZERO;
|
||||||
|
p.pacchi() = ZERO;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -814,7 +860,7 @@ void TCrea_cartellini::stampa()
|
|||||||
{
|
{
|
||||||
TString key; key << _doc->get(DOC_TIPOCF) << _doc->get_long(DOC_CODCF);
|
TString key; key << _doc->get(DOC_TIPOCF) << _doc->get_long(DOC_CODCF);
|
||||||
const TString4 tpimballo = cache().get("&LV020", key, TPIMBALLO);
|
const TString4 tpimballo = cache().get("&LV020", key, TPIMBALLO);
|
||||||
TFilename name("pl1048100"); name << tpimballo; name.ext("rep");
|
TFilename name("pl1048100"); name << tpimballo; name.trim(); name.ext("rep");
|
||||||
|
|
||||||
if (!name.custom_path())
|
if (!name.custom_path())
|
||||||
name = "pl1048100";
|
name = "pl1048100";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user