Patch level : 10.0 patch 521

Files correlati     : lv3
Ricompilazione Demo : [ ]
Commento            :
7) Nell'evasione dei pacchi da barcode, se seleziono un pacco la seconda volta mi deve avvisare se voglio toglierlo dalla bolla con una segnalazione; ora lo toglie e non dice niente

8) Se scrivo un pacco insestente mi dice "si desidera sommare un pacco a una riga gia' evasa?", ma non esiste il pacco e non ci sono righe evase

9) Ho evaso una riga di 30 con 6 confezioni da 5 e mi ha messo il flag di evaso - perfetto
Poi ho aggiunto una confezione da 5 e fa 35, il flag di evaso è rimasto - perfetto
Ma se tolgo l'ultima confezione mi ha tolto anche il flag di evaso, ma 30 su 30 e' comunque evaso. Da li non si accorge più che tutto il documento è evaso quando ho evaso anche le altre righe


git-svn-id: svn://10.65.10.50/trunk@19641 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2009-11-17 09:47:03 +00:00
parent fdc9f46eda
commit 54534f8369

View File

@ -804,15 +804,22 @@ void TEvasione_msk::evadi_da_barcode()
if (scodart == codart)
{
int qtadacon = riga->get_int(sheet.cid2index(S_DACONS));
int pacchi = riga->get_int(pospa); pacchi -= 1;
int qtacon = riga->get_int(posco); qtacon -= qtapacco;
if (yesno_box(TR("ATTENZIONE: il pacco risulta già conteggato; si desidera annularlo?")))
{
int qtadacon = riga->get_int(sheet.cid2index(S_DACONS));
int pacchi = riga->get_int(pospa); pacchi -= 1;
int qtacon = riga->get_int(posco); qtacon -= qtapacco;
riga->add(pacchi, pospa);
riga->add(qtacon, posco);
riga->add(pacchi, pospa);
riga->add(qtacon, posco);
if(qtacon <= qtadacon && sevaso == 'X')
riga->add("", sheet.cid2index(S_EVASO));
if(qtacon < qtadacon && sevaso == 'X')
riga->add("", sheet.cid2index(S_EVASO));
break;
}
else
break;
}
}
}
@ -822,57 +829,69 @@ void TEvasione_msk::evadi_da_barcode()
bool trovato = false;
//cerco la prima riga non evasa di quell'articolo
FOR_EACH_SHEET_ROW(sheet, r, riga)
{
const TString80 scodart = riga->get(sheet.cid2index(S_CODART));
const char sevaso = riga->get_char(sheet.cid2index(S_EVASO));
if (scodart == codart && sevaso != 'X')
{
int qtadacon = riga->get_int(sheet.cid2index(S_DACONS));
int pacchi = riga->get_int(pospa); pacchi += 1;
int qtacon = riga->get_int(posco); qtacon += qtapacco;
riga->add(pacchi, pospa);
riga->add(qtacon, posco);
FOR_EACH_SHEET_ROW(sheet, r, riga)
{
const TString80 scodart = riga->get(sheet.cid2index(S_CODART));
if (scodart == codart)
trovato = true;
}
if (qtacon > qtadacon)
{
warning_box(TR("ATTENZIONE: si sta consegnando un quantitativo maggiore al dovuto"));
riga->add('X', sheet.cid2index(S_EVASO));
if(trovato)
{
trovato = false;
FOR_EACH_SHEET_ROW(sheet, r, riga)
{
const TString80 scodart = riga->get(sheet.cid2index(S_CODART));
const char sevaso = riga->get_char(sheet.cid2index(S_EVASO));
if (scodart == codart && sevaso != 'X')
{
int qtadacon = riga->get_int(sheet.cid2index(S_DACONS));
int pacchi = riga->get_int(pospa); pacchi += 1;
int qtacon = riga->get_int(posco); qtacon += qtapacco;
riga->add(pacchi, pospa);
riga->add(qtacon, posco);
if (qtacon > qtadacon)
{
warning_box(TR("ATTENZIONE: si sta consegnando un quantitativo maggiore al dovuto"));
riga->add('X', sheet.cid2index(S_EVASO));
}
if (qtacon == qtadacon)
riga->add('X', sheet.cid2index(S_EVASO));
trovato = true;
_pacchi.add(codpacco, kdoc);
}
if (qtacon == qtadacon)
riga->add('X', sheet.cid2index(S_EVASO));
trovato = true;
_pacchi.add(codpacco, kdoc);
}
}
if (!trovato)
{
if(yesno_box(TR("Si desidera provare a sommare il pacco a una riga già evasa?")))
{
FOR_EACH_SHEET_ROW(sheet, r, riga)
{
const TString80 scodart = riga->get(sheet.cid2index(S_CODART));
if (scodart == codart)
{
int pacchi = riga->get_int(pospa); pacchi += 1;
int qtacon = riga->get_int(posco); qtacon += qtapacco;
if (!trovato)
{
if(yesno_box(TR("Si desidera provare a sommare il pacco a una riga già evasa?")))
{
FOR_EACH_SHEET_ROW(sheet, r, riga)
{
const TString80 scodart = riga->get(sheet.cid2index(S_CODART));
if (scodart == codart)
{
int pacchi = riga->get_int(pospa); pacchi += 1;
int qtacon = riga->get_int(posco); qtacon += qtapacco;
riga->add(pacchi, pospa);
riga->add(qtacon, posco);
riga->add(pacchi, pospa);
riga->add(qtacon, posco);
trovato = true;
_pacchi.add(codpacco, kdoc);
trovato = true;
_pacchi.add(codpacco, kdoc);
}
}
}
}
}
if (!trovato)
warning_box(TR("Non è stato possibile sommare il pacco a nessuna riga del buono"));
if (!trovato)
warning_box(TR("Non è stato possibile sommare il pacco a nessuna riga del buono"));
}
}
}
}