Patch level : 10.0 patch 511

Files correlati     : lv2
Ricompilazione Demo : [ ]
Commento            :
D. Acquisizione dati da conta pezzi
1)  1-Ignora  2-Somma  3-Sostituisci

2) Se alla fine dico no generazione interrotta e non terminata

3) Creare un file output.old /output1.old per ognuno di quelli presi vuoto

5) Finita la generazione delle bolle mi rimane appesa l’ultima bolla fatta (da accordi forzo la chiusura del programma)

6)Buoni di ritiro che numero ha dato?

7) Messaggio con numero di documenti generati


git-svn-id: svn://10.65.10.50/trunk@19620 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-11-13 10:26:47 +00:00
parent b6326ad764
commit 3eca115437

View File

@ -2,6 +2,7 @@
#include <automask.h>
#include <reputils.h>
#include <reprint.h>
#include <urldefid.h>
#include <utility.h>
#include "lvlib.h"
@ -613,16 +614,15 @@ bool TAcquisizione_lavanderie_app::elabora_file(const TString& file, TLog_report
str << "ATTENZIONE: è già presente un conteggio per il cliente " << codcf << " sull'articolo " << codart << "\n"
<< "Quantità conteggio attuale: " << qta << " Quantità conteggio precedente: " << qc->get_pezzi() << "\n"
<< "Si desidera sommare le quantità?\n"
<< "Premendo SI le quatità verranno sommate;\n"
<< "Premendo NO il conteggio precedente verrà sostituito con quello attuale\n"
<< "Premendo ANNULLA verrà mantenuto il conteggio precedente";
<< "(SI -> Somma NO -> Ignora Conteggio ANNULLA -> Sosituisci il conteggio precedente)\n";
KEY k = yesnocancel_box(str);
switch (k)
{
case K_YES: qc->add_pezzi(qta); qc->add_rotti(rotti); break; //sommo le quantità
case K_NO: qc->set_pezzi(qta); qc->set_rotti(rotti); break; //sostituisco le quantità
default: break; //lascio tutto com'è
case K_NO: break; //lascio tutto com'è
default: qc->set_pezzi(qta); qc->set_rotti(rotti); break; //sostituisco le quantità
}
}
else
@ -681,16 +681,15 @@ void TAcquisizione_lavanderie_app::controlla_documenti(TLog_report& rep, TArtico
str << "ATTENZIONE: è già presente un buono di ritiro per il cliente " << codcf << " sull'articolo " << codart << "\n"
<< "Quantità conteggio: " << quantita->get_pezzi() << " Quantità buono di ritiro: " << rdoc.get_int(RDOC_QTAGG1) << "\n"
<< "Si desidera sommare le quantità?\n"
<< "Premendo SI le quatità verranno sommate;"
<< "Premendo NO la quantità sul buono verrà sostitiuita con quella conteggiata;"
<< "Premendo ANNULLA il buono non verrà modificato";
<< "(SI -> Somma NO -> Ignora Conteggio ANNULLA -> Modifica Buono)\n";
KEY k = yesnocancel_box(str);
switch (k)
{
case K_YES: quantita->add_pezzi(rdoc.get_int(RDOC_QTAGG1)); quantita->add_rotti(rdoc.get_int(RDOC_QTA)); break; //sommo le quantità
case K_NO: break; //sostituisco le quantità
default: quantita->set_pezzi(rdoc.get_int(RDOC_QTAGG1)); quantita->set_rotti(rdoc.get_int(RDOC_QTA)); break; //lascio tutto com'è
case K_NO: quantita->set_pezzi(rdoc.get_int(RDOC_QTAGG1)); quantita->set_rotti(rdoc.get_int(RDOC_QTA)); break; //lascio tutto com'è
default: break; //sostituisco le quantità
}
break;
}
@ -789,8 +788,21 @@ void TAcquisizione_lavanderie_app::sposta_file(const TString& file)
TFilename filedest = path;
filedest.add(strname);
//se la ciopia è andata a buon fine, creo un file .old vuoto e cancello il file .dat
if (fcopy(fileori, filedest))
{
TFilename fileold;
fileold = fileori.path();
TString strn = fileori.name_only();
strn << ".old";
fileold.add(strn);
fclose(fopen(fileold, "w"));
fileori.fremove();
}
}
//TRANSFER: metodo che scorre i campi nome e, se sono pieni, richiama il metodo
@ -863,14 +875,32 @@ bool TAcquisizione_lavanderie_app::transfer()
{
controlla_documenti(logrep, articoli, documenti);
TString str;
str << "Sono stati ricevuti " << nrighe << " record, di cui " << nrighe - nrsalt << " sono stati elaborati correttamente"
<< " e " << nrsalt << " ignorati.\nSi desidera procedere con la generazione dei buoni di ritiro?";
bool genera = false;
if (nrsalt == 0 || yesno_box(str))
if (nrsalt > 0)
{
TString str;
str << "Sono stati ricevuti " << nrighe << " record, di cui " << nrighe - nrsalt << " sono stati elaborati correttamente"
<< " e " << nrsalt << " ignorati.\nSi desidera procedere con la generazione dei buoni di ritiro?";
if (yesno_box(str))
genera = true;
}
if (nrsalt == 0 || genera)
{
genera_documenti(logrep, documenti);
//diagnostica
TString str;
if (documenti.items() > 1)
str << "Sono stati generati " << documenti.items() << " buoni di ritiro.";
else
str << "E' stato generato " << documenti.items() << " buono di ritiro.";
message_box(str);
FOR_EACH_SHEET_ROW(sheet, r1, row1)
{
if(row1->full())
@ -902,7 +932,7 @@ bool TAcquisizione_lavanderie_app::transfer()
}
if (_auto == "A")
_msk->send_key(K_SPACE, DLG_CANCEL);
_msk->send_key(K_SPACE, DLG_QUIT);
else
{
TReport_book buc;
@ -910,7 +940,11 @@ bool TAcquisizione_lavanderie_app::transfer()
if (buc.pages() > 0)
buc.preview();
else
message_box(TR("Generazione terminata"));
if (genera)
message_box(TR("Generazione terminata"));
else
message_box(TR("Generazione interrotta"));
_msk->send_key(K_SPACE, DLG_QUIT);
}
}