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;
int _ndoc;
//int _ndoc;
int _autoselect;
TString4 _tpev;
@ -357,7 +357,7 @@ void TEvasione_msk::genera_documento()
TDate adata = datagen;
adata.addmonth();
if(_ndoc == 0)
/*if(_ndoc == 0)
{
TString query2;
query2 << "USE DOC\n"
@ -366,7 +366,7 @@ void TEvasione_msk::genera_documento()
TISAM_recordset bolle(query2);
if (bolle.move_last())
_ndoc = bolle.get(DOC_NDOC).as_int();
}
}*/
TString query1 = "USE LVRCONSPLAN KEY 3\n";
query1 << "FROM CODCF=" << codcf << " CODCONT=" << codcont << " DTCONS=#DADATA\n";
@ -462,7 +462,7 @@ void TEvasione_msk::genera_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_STATO, stato);
doc.put(DOC_DATADOC, databolla);
@ -609,10 +609,6 @@ void TEvasione_msk::genera_documento()
rdoc.put(RDOC_CODMAG, magazzino);
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
@ -623,13 +619,32 @@ void TEvasione_msk::genera_documento()
orderkey.add(RDOC_CODART);
doc.sort_rows(orderkey);
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())
{
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.rewrite();
set(F_STATO, stato);
}
bpre.rewrite();
}
if (err == NOERR)
@ -638,7 +653,7 @@ void TEvasione_msk::genera_documento()
{
//stampa automatica
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);
stampa.run();
}
@ -1294,7 +1309,7 @@ TEvasione_msk::TEvasione_msk():TAutomask("lv3200a")
disable(DLG_SAVEREC);
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
class TEvasione_ter_msk: public TAutomask
{
int _ndoc;
//int _ndoc;
int _autoselect;
TString4 _tpev;
TAssoc_array _pacchi;
@ -323,7 +323,7 @@ void TEvasione_ter_msk::genera_buono()
TDate adata = datagen;
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)
{
TString query2;
@ -333,7 +333,7 @@ void TEvasione_ter_msk::genera_buono()
TISAM_recordset bolle(query2);
bolle.move_last();
_ndoc = bolle.get(DOC_NDOC).as_int();
}
}*/
//recupero i dati di interesse dal planning
TString query1 = "USE LVRCONSPLAN KEY 3\n";
@ -429,7 +429,7 @@ void TEvasione_ter_msk::genera_buono()
}
//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_STATO, stato);
@ -583,10 +583,6 @@ void TEvasione_ter_msk::genera_buono()
rdoc.put(RDOC_CODMAG, magazzino);
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
@ -597,13 +593,31 @@ void TEvasione_ter_msk::genera_buono()
orderkey.add(RDOC_CODART);
doc.sort_rows(orderkey);
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())
{
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.rewrite();
bpre.put(DOC_STATO, stato);
}
bpre.rewrite();
}
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 << "[33]" << endl; // Transaction body
outf << "Doc(0)=";
outf << "D|" << datagen.year() << '|' << codnum << '|' << _ndoc << endl;
outf << "D|" << datagen.year() << '|' << codnum << '|' << doc.get_long(DOC_NDOC) << endl;
}
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));
set(F_TDESCR, tpdoc.get("S0"));
_ndoc = 0;
//_ndoc = 0;
TDate data(TODAY);
TEsercizi_contabili es;