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_QTA, max_qta);
rec.put(PACKLIST_CONF, max_pacchi); rec.put(PACKLIST_CONF, max_pacchi);
c->perc() = UNO; c->perc() = UNO;
rec.put(PACKLIST_PERCOCC, CENTO);
p.qta() -= max_qta; p.qta() -= max_qta;
p.pacchi() -= max_pacchi; p.pacchi() -= max_pacchi;
} }
@ -595,6 +596,8 @@ void TCrea_cartellini::resto_max(TArray & carrelli, TArray & precs)
p.prec2rec(rec); p.prec2rec(rec);
rec.put(PACKLIST_QTA, p.qta()); rec.put(PACKLIST_QTA, p.qta());
rec.put(PACKLIST_CONF, p.pacchi()); rec.put(PACKLIST_CONF, p.pacchi());
real pr = perc * CENTO; pr.round(2);
rec.put(PACKLIST_PERCOCC, pr);
c->perc() += perc; c->perc() += perc;
p.qta() = ZERO; p.qta() = ZERO;
p.pacchi() = 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) void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int level)
{ {
const int items = precs.items(); 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++) 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) if (p.prec() <= level && p.pacchi() > ZERO)
{ {
int ncarrello = 0;
int ncarrelli = carrelli.items(); int ncarrelli = carrelli.items();
if (level > 1)
ncarrello = 0;
const real qta = p.get_qta_nor(); const real qta = p.get_qta_nor();
const real pacchi = p.get_pacchi_nor(); const real pacchi = p.get_pacchi_nor();
const real max_pacchi = p.get_pacchi_max(); 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) if (pacchi <= ZERO || max_pacchi <= ZERO)
break; break;
@ -624,16 +632,20 @@ void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int lev
real perc = pacchi / max_pacchi; real perc = pacchi / max_pacchi;
perc.round(4); perc.round(4);
if (p.pacchi() >= pacchi) if (level == 1 || p.pacchi() >= pacchi)
{
if (level > 1)
{ {
for (ncarrello = 0; ncarrello < ncarrelli; ncarrello++) for (ncarrello = 0; ncarrello < ncarrelli; ncarrello++)
{ {
TCarrello * cc = (TCarrello *) carrelli.objptr(ncarrello); TCarrello * cc = (TCarrello *) carrelli.objptr(ncarrello);
real cperc = cc->perc(); 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) if (tipoart == tipoartcc && UNO - cperc >= perc)
break; break;
} }
}
while (p.pacchi() > pacchi) while (p.pacchi() > pacchi)
{ {
TCarrello * c = (TCarrello *) carrelli.objptr(ncarrello++); TCarrello * c = (TCarrello *) carrelli.objptr(ncarrello++);
@ -650,7 +662,9 @@ void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int lev
p.prec2rec(rec); p.prec2rec(rec);
rec.put(PACKLIST_QTA, qta); rec.put(PACKLIST_QTA, qta);
rec.put(PACKLIST_CONF, pacchi); 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.qta() -= qta;
p.pacchi() -= pacchi; 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_QTA, p.qta());
rec.put(PACKLIST_CONF, p.pacchi()); rec.put(PACKLIST_CONF, p.pacchi());
perc = p.pacchi() / max_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.qta() = ZERO;
p.pacchi() = 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) void TCrea_cartellini::riempi_resti(TArray & carrelli, TArray & precs)
{ {
const int items = precs.items(); 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++) 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(); const int ncarrelli = carrelli.items();
real qta = p.qta(); real qta = p.qta();
real pacchi = p.pacchi(); real pacchi = p.pacchi();
const int tipoart = separa_articoli ? atoi(cache().get("&LV047", p.codart(), TPARTICOLO)) : 0;
if (pacchi <= ZERO || max_pacchi <= ZERO) if (pacchi <= ZERO || max_pacchi <= ZERO)
break; break;
@ -705,8 +724,9 @@ void TCrea_cartellini::riempi_resti(TArray & carrelli, TArray & precs)
{ {
TCarrello * cc = (TCarrello *) carrelli.objptr(i); TCarrello * cc = (TCarrello *) carrelli.objptr(i);
real cperc = cc->perc(); 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); c = (TCarrello *) carrelli.objptr(i);
break; break;
@ -738,6 +758,8 @@ void TCrea_cartellini::riempi_resti(TArray & carrelli, TArray & precs)
p.prec2rec(rec); p.prec2rec(rec);
rec.put(PACKLIST_QTA, qta); rec.put(PACKLIST_QTA, qta);
rec.put(PACKLIST_CONF, pacchi); rec.put(PACKLIST_CONF, pacchi);
real pr = perc * CENTO; pr.round(2);
rec.put(PACKLIST_PERCOCC, pr);
c->perc() += perc; c->perc() += perc;
p.qta() -= qta; p.qta() -= qta;
p.pacchi() -= pacchi; p.pacchi() -= pacchi;