Patch level : 10.0 patch ???

Files correlati     : lv3
Ricompilazione Demo : [ ]
Commento            :
OGGI HANNO EVASO DUE BUONI RI PRELIEVO CONTEMPORANEAMENTE E SONO STATI EVASI CON LO STESSO BUONO DI CONSEGNA


git-svn-id: svn://10.65.10.50/trunk@20289 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2010-03-29 15:53:52 +00:00
parent 9d9bc446eb
commit f63c0ea944
2 changed files with 53 additions and 24 deletions

View File

@ -26,7 +26,7 @@ class TEvasione_msk: public TAutomask
{ {
TDocumento _buonori; TDocumento _buonori;
int _ndoc; //int _ndoc;
int _autoselect; int _autoselect;
TString4 _tpev; TString4 _tpev;
@ -357,7 +357,7 @@ void TEvasione_msk::genera_documento()
TDate adata = datagen; TDate adata = datagen;
adata.addmonth(); adata.addmonth();
if(_ndoc == 0) /*if(_ndoc == 0)
{ {
TString query2; TString query2;
query2 << "USE DOC\n" query2 << "USE DOC\n"
@ -366,7 +366,7 @@ void TEvasione_msk::genera_documento()
TISAM_recordset bolle(query2); TISAM_recordset bolle(query2);
if (bolle.move_last()) if (bolle.move_last())
_ndoc = bolle.get(DOC_NDOC).as_int(); _ndoc = bolle.get(DOC_NDOC).as_int();
} }*/
TString query1 = "USE LVRCONSPLAN KEY 3\n"; TString query1 = "USE LVRCONSPLAN KEY 3\n";
query1 << "FROM CODCF=" << codcf << " CODCONT=" << codcont << " DTCONS=#DADATA\n"; query1 << "FROM CODCF=" << codcf << " CODCONT=" << codcont << " DTCONS=#DADATA\n";
@ -462,7 +462,7 @@ void TEvasione_msk::genera_documento()
} }
//preparo la testata del documento //preparo la testata del documento
TDocumento doc('D', kdoc.anno(), codnum, ++_ndoc); TDocumento doc('D', kdoc.anno(), codnum, 0);
doc.put(DOC_TIPODOC, tipodoc); doc.put(DOC_TIPODOC, tipodoc);
doc.put(DOC_STATO, stato); doc.put(DOC_STATO, stato);
doc.put(DOC_DATADOC, databolla); doc.put(DOC_DATADOC, databolla);
@ -609,10 +609,6 @@ void TEvasione_msk::genera_documento()
rdoc.put(RDOC_CODMAG, magazzino); rdoc.put(RDOC_CODMAG, magazzino);
rdoc.put(RDOC_CODMAGC, magazzinoc); rdoc.put(RDOC_CODMAGC, magazzinoc);
//salvo i riferimenti
TDoc_key rifbcon(datagen.year(), codnum, _ndoc);
rbpre.set_rifbcon(rifbcon);
} }
//salva la bolla solo se ha almeno una riga //salva la bolla solo se ha almeno una riga
@ -623,13 +619,32 @@ void TEvasione_msk::genera_documento()
orderkey.add(RDOC_CODART); orderkey.add(RDOC_CODART);
doc.sort_rows(orderkey); doc.sort_rows(orderkey);
err = doc.write(); err = doc.write();
for (int i = 1; i <= bpre.rows(); i++)
{
TRiga_documento& row = bpre[i];
TBuono_prelievo_row rbpre(row);
//nella bolla ci vanno solo le righe evase e non associate
if (!rbpre.evaso())
continue;
TDoc_key kbuono = rbpre.rifbcon();
if (kbuono.full())
continue;
//salvo i riferimenti
TDoc_key rifbcon(datagen.year(), codnum, doc.get_long(DOC_NDOC));
rbpre.set_rifbcon(rifbcon);
}
if(controlla()) if(controlla())
{ {
const TString4 stato = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0), "S2").mid(2,1); const TString4 stato = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0), "S2").mid(2,1);
bpre.put(DOC_STATO, stato); bpre.put(DOC_STATO, stato);
bpre.rewrite();
set(F_STATO, stato); set(F_STATO, stato);
} }
bpre.rewrite();
} }
if (err == NOERR) if (err == NOERR)
@ -638,7 +653,7 @@ void TEvasione_msk::genera_documento()
{ {
//stampa automatica //stampa automatica
TString80 str; TString80 str;
str << "ve1 -2 " << codnum << ' ' << datagen.year() << " D " << _ndoc << " S D"; str << "ve1 -2 " << codnum << ' ' << datagen.year() << " D " << doc.get_long(DOC_NDOC) << " S D";
TExternal_app stampa(str); TExternal_app stampa(str);
stampa.run(); stampa.run();
} }
@ -1294,7 +1309,7 @@ TEvasione_msk::TEvasione_msk():TAutomask("lv3200a")
disable(DLG_SAVEREC); disable(DLG_SAVEREC);
disable(DLG_CANCEL); disable(DLG_CANCEL);
_ndoc = 0; //_ndoc = 0;
} }
///////////////////////////// /////////////////////////////

View File

@ -184,7 +184,7 @@ TQuantita_riga* TRighe_array::quantita(TString& codart, TDate& data, TString& ca
//Classe TEvasione_ter_msk //Classe TEvasione_ter_msk
class TEvasione_ter_msk: public TAutomask class TEvasione_ter_msk: public TAutomask
{ {
int _ndoc; //int _ndoc;
int _autoselect; int _autoselect;
TString4 _tpev; TString4 _tpev;
TAssoc_array _pacchi; TAssoc_array _pacchi;
@ -323,7 +323,7 @@ void TEvasione_ter_msk::genera_buono()
TDate adata = datagen; TDate adata = datagen;
adata.addmonth(); adata.addmonth();
//se _ndoc non è inizializzato, lo inizializzo all'ultimo ndoc utilizzato /*//se _ndoc non è inizializzato, lo inizializzo all'ultimo ndoc utilizzato
if(_ndoc == 0) if(_ndoc == 0)
{ {
TString query2; TString query2;
@ -333,7 +333,7 @@ void TEvasione_ter_msk::genera_buono()
TISAM_recordset bolle(query2); TISAM_recordset bolle(query2);
bolle.move_last(); bolle.move_last();
_ndoc = bolle.get(DOC_NDOC).as_int(); _ndoc = bolle.get(DOC_NDOC).as_int();
} }*/
//recupero i dati di interesse dal planning //recupero i dati di interesse dal planning
TString query1 = "USE LVRCONSPLAN KEY 3\n"; TString query1 = "USE LVRCONSPLAN KEY 3\n";
@ -429,7 +429,7 @@ void TEvasione_ter_msk::genera_buono()
} }
//preparo la testata del documento //preparo la testata del documento
TDocumento doc('D', kdoc.anno(), codnum, ++_ndoc); TDocumento doc('D', kdoc.anno(), codnum, 0);
doc.put(DOC_TIPODOC, tipodoc); doc.put(DOC_TIPODOC, tipodoc);
doc.put(DOC_STATO, stato); doc.put(DOC_STATO, stato);
@ -583,10 +583,6 @@ void TEvasione_ter_msk::genera_buono()
rdoc.put(RDOC_CODMAG, magazzino); rdoc.put(RDOC_CODMAG, magazzino);
rdoc.put(RDOC_CODMAGC, magazzinoc); rdoc.put(RDOC_CODMAGC, magazzinoc);
//salvo i riferimenti
TDoc_key rifbcon(datagen.year(), codnum, _ndoc);
rbpre.set_rifbcon(rifbcon);
} }
//salva la bolla solo se ha almeno una riga //salva la bolla solo se ha almeno una riga
@ -597,13 +593,31 @@ void TEvasione_ter_msk::genera_buono()
orderkey.add(RDOC_CODART); orderkey.add(RDOC_CODART);
doc.sort_rows(orderkey); doc.sort_rows(orderkey);
err = doc.write(); err = doc.write();
for (int i = 1; i <= bpre.rows(); i++)
{
TRiga_documento& row = bpre[i];
TBuono_prelievo_row rbpre(row);
//nella bolla ci vanno solo le righe evase e non associate
if (!rbpre.evaso())
continue;
TDoc_key kbuono = rbpre.rifbcon();
if (kbuono.full())
continue;
//salvo i riferimenti
TDoc_key rifbcon(datagen.year(), codnum, doc.get_long(DOC_NDOC));
rbpre.set_rifbcon(rifbcon);
}
if(controlla()) if(controlla())
{ {
const TString4 stato = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0), "S2").mid(2,1); const TString4 stato = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0), "S2").mid(2,1);
bpre.put(DOC_STATO, stato); bpre.put(DOC_STATO, stato);
bpre.rewrite();
} }
bpre.rewrite();
} }
if (err == NOERR && yesno_box(TR("Il buono di consegna è stato generato correttamente; si desidera stamaprlo?"))) if (err == NOERR && yesno_box(TR("Il buono di consegna è stato generato correttamente; si desidera stamaprlo?")))
@ -623,7 +637,7 @@ void TEvasione_ter_msk::genera_buono()
outf << endl; outf << endl;
outf << "[33]" << endl; // Transaction body outf << "[33]" << endl; // Transaction body
outf << "Doc(0)="; outf << "Doc(0)=";
outf << "D|" << datagen.year() << '|' << codnum << '|' << _ndoc << endl; outf << "D|" << datagen.year() << '|' << codnum << '|' << doc.get_long(DOC_NDOC) << endl;
} }
if (tmp.exist()) if (tmp.exist())
@ -1430,7 +1444,7 @@ TEvasione_ter_msk::TEvasione_ter_msk():TAutomask("lv3400a")
const TRectype& tpdoc = cache().get("%NUM", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0)); const TRectype& tpdoc = cache().get("%NUM", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0));
set(F_TDESCR, tpdoc.get("S0")); set(F_TDESCR, tpdoc.get("S0"));
_ndoc = 0; //_ndoc = 0;
TDate data(TODAY); TDate data(TODAY);
TEsercizi_contabili es; TEsercizi_contabili es;