Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :

Stampa cartellini Tetractis


git-svn-id: svn://10.65.10.50/branches/R_10_00@22220 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2011-06-07 07:25:00 +00:00
parent fef96a1388
commit b931c8f9bd

View File

@ -540,6 +540,7 @@ void TCrea_cartellini::riempi_max(TArray & carrelli, TArray & precs)
rec.put(PACKLIST_QTA, max_qta);
rec.put(PACKLIST_CONF, max_pacchi);
c->perc() = UNO;
rec.put(PACKLIST_PERCOCC, CENTO);
p.qta() -= max_qta;
p.pacchi() -= max_pacchi;
}
@ -595,6 +596,8 @@ void TCrea_cartellini::resto_max(TArray & carrelli, TArray & precs)
p.prec2rec(rec);
rec.put(PACKLIST_QTA, p.qta());
rec.put(PACKLIST_CONF, p.pacchi());
real pr = perc * CENTO; pr.round(2);
rec.put(PACKLIST_PERCOCC, pr);
c->perc() += perc;
p.qta() = ZERO;
p.pacchi() = ZERO;
@ -605,6 +608,9 @@ void TCrea_cartellini::resto_max(TArray & carrelli, TArray & precs)
void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int level)
{
const int items = precs.items();
int ncarrello = 0;
TString key; key << doc().get(DOC_TIPOCF) << doc().get_long(DOC_CODCF); // verificare
const bool separa_articoli = cache().get("&LV020", key).get_bool(ARTSEP);
for(int r = 0; r < items; r++)
{
@ -612,11 +618,13 @@ void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int lev
if (p.prec() <= level && p.pacchi() > ZERO)
{
int ncarrello = 0;
int ncarrelli = carrelli.items();
if (level > 1)
ncarrello = 0;
const real qta = p.get_qta_nor();
const real pacchi = p.get_pacchi_nor();
const real max_pacchi = p.get_pacchi_max();
const int tipoart = separa_articoli ? atoi(cache().get("&LV047", p.codart(), TPARTICOLO)) : 0;
if (pacchi <= ZERO || max_pacchi <= ZERO)
break;
@ -624,15 +632,19 @@ void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int lev
real perc = pacchi / max_pacchi;
perc.round(4);
if (p.pacchi() >= pacchi)
if (level == 1 || p.pacchi() >= pacchi)
{
for (ncarrello = 0; ncarrello < ncarrelli; ncarrello++)
if (level > 1)
{
TCarrello * cc = (TCarrello *) carrelli.objptr(ncarrello);
real cperc = cc->perc();
for (ncarrello = 0; ncarrello < ncarrelli; ncarrello++)
{
TCarrello * cc = (TCarrello *) carrelli.objptr(ncarrello);
real cperc = cc->perc();
const int tipoartcc = separa_articoli ? atoi(cache().get("&LV047", cc->row(1).get(PACKLIST_CODART), TPARTICOLO)) : 0;
if (UNO - cperc >= perc)
break;
if (tipoart == tipoartcc && UNO - cperc >= perc)
break;
}
}
while (p.pacchi() > pacchi)
{
@ -650,7 +662,9 @@ void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int lev
p.prec2rec(rec);
rec.put(PACKLIST_QTA, qta);
rec.put(PACKLIST_CONF, pacchi);
c->perc() = perc;
real pr = perc * CENTO; pr.round(2);
rec.put(PACKLIST_PERCOCC, pr);
c->perc() += perc;
p.qta() -= qta;
p.pacchi() -= pacchi;
}
@ -670,7 +684,9 @@ void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int lev
rec.put(PACKLIST_QTA, p.qta());
rec.put(PACKLIST_CONF, p.pacchi());
perc = p.pacchi() / max_pacchi;
c->perc() = perc;
c->perc() += perc;
real pr = perc * CENTO; pr.round(2);
rec.put(PACKLIST_PERCOCC, pr);
p.qta() = ZERO;
p.pacchi() = ZERO;
}
@ -681,6 +697,8 @@ void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int lev
void TCrea_cartellini::riempi_resti(TArray & carrelli, TArray & precs)
{
const int items = precs.items();
TString key; key << doc().get(DOC_TIPOCF) << doc().get_long(DOC_CODCF); // verificare
const bool separa_articoli = cache().get("&LV020", key).get_bool(ARTSEP);
for(int r = 0; r < items; r++)
{
@ -693,6 +711,7 @@ void TCrea_cartellini::riempi_resti(TArray & carrelli, TArray & precs)
const int ncarrelli = carrelli.items();
real qta = p.qta();
real pacchi = p.pacchi();
const int tipoart = separa_articoli ? atoi(cache().get("&LV047", p.codart(), TPARTICOLO)) : 0;
if (pacchi <= ZERO || max_pacchi <= ZERO)
break;
@ -705,8 +724,9 @@ void TCrea_cartellini::riempi_resti(TArray & carrelli, TArray & precs)
{
TCarrello * cc = (TCarrello *) carrelli.objptr(i);
real cperc = cc->perc();
const int tipoartcc = separa_articoli ? atoi(cache().get("&LV047", cc->row(1).get(PACKLIST_CODART), TPARTICOLO)) : 0;
if (UNO - cperc >= UNO / max_pacchi)
if (tipoart == tipoartcc && UNO - cperc >= UNO / max_pacchi)
{
c = (TCarrello *) carrelli.objptr(i);
break;
@ -738,6 +758,8 @@ void TCrea_cartellini::riempi_resti(TArray & carrelli, TArray & precs)
p.prec2rec(rec);
rec.put(PACKLIST_QTA, qta);
rec.put(PACKLIST_CONF, pacchi);
real pr = perc * CENTO; pr.round(2);
rec.put(PACKLIST_PERCOCC, pr);
c->perc() += perc;
p.qta() -= qta;
p.pacchi() -= pacchi;