Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :

Stampa cartellini Tetractis


git-svn-id: svn://10.65.10.50/branches/R_10_00@22219 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2011-06-06 19:20:29 +00:00
parent c1b5d15f8e
commit fef96a1388

View File

@ -270,8 +270,10 @@ const char * TPrecedenza::key_carrello(int num) const
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)
{ {
TString key; key << tipocf << codcf; // verificare TString8 key; key << tipocf << codcf; // verificare
const bool separa_articoli = cache().get("&LV020", key).get_bool(ARTSEP); const bool separa_articoli = cache().get("&LV020", key).get_bool(ARTSEP);
const bool sacchi = cache().get("&LV020", key, TPIMBALLO) == "S";
_tipoart = separa_articoli ? atoi(cache().get("&LV047", codart, TPARTICOLO)) : 0; _tipoart = separa_articoli ? atoi(cache().get("&LV047", codart, TPARTICOLO)) : 0;
if (__contract == NULL) if (__contract == NULL)
@ -284,7 +286,7 @@ TPrecedenza::TPrecedenza(const char * codart, int anno, char provv, const char *
_prec = 0; _prec = 0;
_prec = rec.get_int(LVRCONDV_PRECEDENZA); _prec = rec.get_int(LVRCONDV_PRECEDENZA);
if (_prec == 0) if (_prec == 0)
_prec = atoi(cache().get("&LV047", _codart, PRECEDENZA)); _prec = sacchi ? 10 : atoi(cache().get("&LV047", _codart, PRECEDENZA));
} }
const char * TPrecedenza::contr_field_max() const const char * TPrecedenza::contr_field_max() const
@ -460,7 +462,7 @@ void TPrecedenza::prec2rec(TRectype & rec) const
void TPrecedenza::print_on(ostream& out) const void TPrecedenza::print_on(ostream& out) const
{ {
out << _tipoart << _prec << ';' << _codart << ';' << _anno << ';' << _provv << ';' << _codnum << ';' << _ndoc << ';' << _idriga << ';' << _nrow << ';' << _qta << ';' << _pacchi << ';' << _tipocf << ';' << _codcf; out << _tipoart << ';' << _prec << ';' << _codart << ';' << _anno << ';' << _provv << ';' << _codnum << ';' << _ndoc << ';' << _idriga << ';' << _nrow << ';' << _qta << ';' << _pacchi << ';' << _tipocf << ';' << _codcf;
} }
int sort_prec(const TObject** o1, const TObject** o2) int sort_prec(const TObject** o1, const TObject** o2)
@ -507,7 +509,7 @@ void TCrea_cartellini::crea_precedenze(ofstream & outfile, TArray & precs)
precs.sort(sort_prec); precs.sort(sort_prec);
const int prec_nrows = precs.items(); const int prec_nrows = precs.items();
outfile << "Precedenze\nPrecedenza;Articolo;Anno;;Numerazione;Numero;ID Riga;Numero riga;Quantità;Pacchi;Cliente\n"; outfile << "Precedenze\nTipo;Precedenza;Articolo;Anno;;Numerazione;Numero;ID Riga;Numero riga;Quantità;Pacchi;Cliente\n";
for (int r = 0; r < prec_nrows; r++) for (int r = 0; r < prec_nrows; r++)
outfile << precs[r] << '\n'; outfile << precs[r] << '\n';
} }
@ -634,11 +636,14 @@ void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int lev
} }
while (p.pacchi() > pacchi) while (p.pacchi() > pacchi)
{ {
TCarrello * c = ncarrello < ncarrelli ? (TCarrello *) carrelli.objptr(ncarrello) : new TCarrello(p.key_carrello(ncarrello + 1)); TCarrello * c = (TCarrello *) carrelli.objptr(ncarrello++);
ncarrello++; if (c == NULL)
c->destroy_rows(); {
c = new TCarrello(p.key_carrello(ncarrello));
carrelli.add(c); carrelli.add(c);
c->destroy_rows();
}
TRectype & rec = c->row(c->rows() + 1, true); TRectype & rec = c->row(c->rows() + 1, true);
@ -650,10 +655,14 @@ void TCrea_cartellini::riempi_normale(TArray & carrelli, TArray & precs, int lev
p.pacchi() -= pacchi; p.pacchi() -= pacchi;
} }
TCarrello * c = ncarrello < ncarrelli ? (TCarrello *) carrelli.objptr(ncarrello) : new TCarrello(p.key_carrello(ncarrello + 1)); TCarrello * c = (TCarrello *) carrelli.objptr(ncarrello++);
c->destroy_rows(); if (c == NULL)
{
c = new TCarrello(p.key_carrello(ncarrello));
carrelli.add(c); carrelli.add(c);
c->destroy_rows();
}
TRectype & rec = c->row(c->rows() + 1, true); TRectype & rec = c->row(c->rows() + 1, true);
@ -754,14 +763,16 @@ void TCrea_cartellini::crea_carrelli(TArray & precs)
riempi_resti(carrelli, precs); riempi_resti(carrelli, precs);
} }
for (int c = 0; c < carrelli.items(); c++) _contnum = carrelli.items();
for (int c = 0; c < _contnum; c++)
{ {
TCarrello & carrello = (TCarrello &) carrelli[c]; TCarrello & carrello = (TCarrello &) carrelli[c];
carrello.write(true); carrello.write(true);
} }
for (int c = carrelli.items() + 1 ; ; c++) for (int c = _contnum + 1 ; ; c++)
{ {
TCarrello carrello(((TPrecedenza &) precs[0]).key_carrello(c)); TCarrello carrello(((TPrecedenza &) precs[0]).key_carrello(c));
@ -775,7 +786,6 @@ void TCrea_cartellini::crea_carrelli(TArray & precs)
else else
break; break;
} }
_contnum = carrelli.items();
} }
void TCrea_cartellini::stampa() void TCrea_cartellini::stampa()