Patch level :
Files correlati : lv2.exe lvtbcau.msk Ricompilazione Demo : [ ] Commento : Migliorata gestione prezzi nulli in sede di fatturazione git-svn-id: svn://10.65.10.50/branches/R_10_00@22476 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3015907da9
commit
7c4edb6946
@ -502,8 +502,7 @@ int TFatturazione_lavanderie::write_fatt_ragg(const bool solotot)
|
||||
kl.sort();
|
||||
FOR_EACH_ARRAY_ROW(kl, r, key)
|
||||
{
|
||||
TDocumento * d = (TDocumento *)_doc_grouped.objptr(*key);
|
||||
|
||||
TDocumento* d = (TDocumento*)_doc_grouped.objptr(*key);
|
||||
if (d != NULL && !solotot)
|
||||
d->write();
|
||||
}
|
||||
@ -2080,8 +2079,8 @@ void TFatturazione_lav_app::main_loop()
|
||||
if (!controlli_preliminari())
|
||||
{
|
||||
TString str;
|
||||
str << "Prima di poter eseguire la fatturazione è necessario correggre tutti gli errori segnalati. "
|
||||
<< "Si prega di controllare i dati di configurazione";
|
||||
str << "Prima di poter eseguire la fatturazione è necessario correggere tutti gli errori segnalati.\n"
|
||||
<< "Si prega di controllare i dati di configurazione.";
|
||||
warning_box(str);
|
||||
return;
|
||||
}
|
||||
@ -2401,7 +2400,7 @@ void TFatturazione_lav_app::main_loop()
|
||||
if (codart.full())
|
||||
{
|
||||
const TRectype & rcont = contr.row(codart);
|
||||
TArticolo_lavanderie& art = cached_article_laundry(codart, 'C', clifo, use_indsp ? indsped : 0);
|
||||
const TArticolo_lavanderie& art = cached_article_laundry(codart, 'C', clifo, use_indsp ? indsped : 0);
|
||||
//estraggo il record corrispondente su LF_CLIFOGIAC
|
||||
const TRecmag_lavanderie& rec = art.find_rec(annoes);
|
||||
|
||||
@ -2427,20 +2426,27 @@ void TFatturazione_lav_app::main_loop()
|
||||
}
|
||||
if (prezzo_da_contratto)
|
||||
{
|
||||
if (rcont.get_real(LVRCONDV_PREZZO) == ZERO)
|
||||
// Segnalo prezzo nullo solo se il contratto non è ad importo fisso (07/11/2011)
|
||||
if (rcont.get_real(LVRCONDV_PREZZO).is_zero() && contr.get_real(LVCONDV_IMPFIX).is_zero())
|
||||
{
|
||||
TString msg;
|
||||
msg << str << " Prezzo zero";
|
||||
msg << str << " Prezzo zero sul contratto";
|
||||
_log->log(0, msg);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((*doc)[r].get_real(RDOC_PREZZO) == ZERO)
|
||||
const TRiga_documento& rdoc = (*doc)[r];
|
||||
if (rdoc.get_real(RDOC_PREZZO).is_zero()) // Prezzo nullo sulla bolla
|
||||
{
|
||||
TString msg;
|
||||
msg << str << " Prezzo zero";
|
||||
_log->log(0, msg);
|
||||
const TString8 causale = rdoc.get(RDOC_CODAGG1);
|
||||
const TCausale_lavanderie& cau = cached_causale_lavanderie(causale);
|
||||
if (!cau.ignora_prezzo_zero()) // Segnalo anomalia solo se la causale lo prevede (07/11/2011)
|
||||
{
|
||||
TString msg;
|
||||
msg << str << " Prezzo zero sulla bolla";
|
||||
_log->log(0, msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2504,17 +2510,22 @@ void TFatturazione_lav_app::main_loop()
|
||||
numdocgen += elab.write_fatt_ragg(_solototali);
|
||||
|
||||
TString str;
|
||||
const TString16 parolapl = _solototali ? "generate " : "elaborate ";
|
||||
const TString16 parolasi = _solototali ? "generata " : "elaborata ";
|
||||
const char* const parolapl = _solototali ? "generate" : "elaborate";
|
||||
const char* const parolasi = _solototali ? "generata" : "elaborata";
|
||||
|
||||
if (numdocgen > 1 || numdocgen == 0)
|
||||
str << "Sono state " << parolapl << numdocgen << " fatture";
|
||||
else
|
||||
str << "E' stata " << parolasi << numdocgen << " fattura";
|
||||
message_box(str);
|
||||
switch (numdocgen)
|
||||
{
|
||||
case 0: str << "Non e' stata " << parolasi << " alcuna fattura"; break;
|
||||
case 1: str << "E' stata " << parolasi << " una fattura"; break;
|
||||
default: str << "Sono state " << parolapl << ' ' << numdocgen << " fatture"; break;
|
||||
}
|
||||
if (numdocgen <= 0)
|
||||
warning_box(str);
|
||||
else
|
||||
message_box(str);
|
||||
|
||||
message_box(TR("Elaborazione terminata"));
|
||||
str = "Clienti Danneggati Articoli danneggiati";
|
||||
str = TR("Clienti Danneggati Articoli danneggiati");
|
||||
_log->log(0, str);
|
||||
str.format(" %5d %5d", elab.cli_damn(), elab.art_damn());
|
||||
_log->log(0, str);
|
||||
@ -2523,7 +2534,7 @@ void TFatturazione_lav_app::main_loop()
|
||||
str.format(" %5d", numdocgen);
|
||||
str << totimp.stringa(17) << imposta.stringa(16) << totdoc.stringa(15) << spese.stringa(17);
|
||||
_log->log(0, str);
|
||||
str = "Numero fatture scartate";
|
||||
str = TR("Numero fatture scartate");
|
||||
_log->log(0, str);
|
||||
str.format(" %5d", numdocscart);
|
||||
_log->log(0, str);
|
||||
@ -2535,6 +2546,6 @@ void TFatturazione_lav_app::main_loop()
|
||||
int lv2500(int argc, char *argv[])
|
||||
{
|
||||
TFatturazione_lav_app a;
|
||||
a.run (argc, argv, "Fatturazione lavanderie");
|
||||
a.run (argc, argv, TR("Fatturazione lavanderie"));
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -752,7 +752,7 @@ bool TAcquisizione_lavanderie_app::elabora_file(const TString& file, TLog_report
|
||||
{
|
||||
TString str;
|
||||
str << "Attenzione! Il cliente " << codcf << " per l'articolo " << codart << " ha una dotazione di "
|
||||
<< dotod << " pezzi, e ne sono stati ritirati " << qta << " (" << qta - dotod << " in più).";
|
||||
<< dotod << " pezzi, e ne sono stati ritirati " << qta << " (" << real(qta - dotod) << " in più).";
|
||||
warning_box(str);
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ class TPacchi_contati: public TObject
|
||||
TToken_string _codpacchi;
|
||||
|
||||
public:
|
||||
const real qta() const;
|
||||
const real& qta() const;
|
||||
const TString& um() const;
|
||||
const int npacchi() const;
|
||||
const TToken_string& codpacchi() const;
|
||||
@ -37,7 +37,7 @@ public:
|
||||
};
|
||||
|
||||
//QTA: metodo che restituisce la quantita
|
||||
const real TPacchi_contati::qta() const
|
||||
const real& TPacchi_contati::qta() const
|
||||
{
|
||||
return _qta;
|
||||
}
|
||||
@ -300,7 +300,7 @@ void TInventario_ter_msk::inventario_da_terminale()
|
||||
if (codpacco.full())
|
||||
{
|
||||
//se posso instanzio la riga pacco
|
||||
TRiga_pacco rp(codpacco);
|
||||
const TRiga_pacco rp(codpacco);
|
||||
|
||||
if (rp.empty())
|
||||
{
|
||||
|
10
lv/lvlib.cpp
10
lv/lvlib.cpp
@ -1370,17 +1370,15 @@ void TRiga_pacco::set_movmag(const long movmag)
|
||||
}
|
||||
|
||||
//IS_ANNULATO: metodo che restituisce "true" se il campo annullato sul record attuale è 'S'
|
||||
bool TRiga_pacco::is_annullato()
|
||||
bool TRiga_pacco::is_annullato() const
|
||||
{
|
||||
if(get(PACCHI_ANNULLATO)[0] == 'S')
|
||||
return true;
|
||||
return false;
|
||||
return get_char(PACCHI_ANNULLATO) == 'S';
|
||||
}
|
||||
|
||||
//IS_ASSOCIATO: metodo che restitusce "true" se il campo cliente è valorizzato
|
||||
bool TRiga_pacco::is_associato()
|
||||
bool TRiga_pacco::is_associato() const
|
||||
{
|
||||
return get_int(PACCHI_CODCF) && 1;
|
||||
return get_long(PACCHI_CODCF) > 0;
|
||||
}
|
||||
//Metodi costruttori
|
||||
TRiga_pacco::TRiga_pacco(const TRectype& rec)
|
||||
|
15
lv/lvlib.h
15
lv/lvlib.h
@ -177,11 +177,12 @@ public:
|
||||
const TString& codice() const {return get("CODTAB");}
|
||||
const TString& descr() const {return get("S0");}
|
||||
const TString& caucol() const {return get("S4");}
|
||||
const bool is_ritiro() const {return get_bool("B0");}
|
||||
const bool is_consegna() const {return get_bool("B1");}
|
||||
const bool is_reso() const {return get_bool("B2");}
|
||||
const bool is_rotto() const {return get_bool("B3");}
|
||||
const bool movcong() const {return !get_bool("B4");}
|
||||
bool is_ritiro() const {return get_bool("B0");}
|
||||
bool is_consegna() const {return get_bool("B1");}
|
||||
bool is_reso() const {return get_bool("B2");}
|
||||
bool is_rotto() const {return get_bool("B3");}
|
||||
bool movcong() const {return !get_bool("B4");}
|
||||
bool ignora_prezzo_zero() const {return get_bool("B5");}
|
||||
//metodi che restituiscono le causali di magazzino associate
|
||||
const TCausale_magazzino& causale_ritiro() const {return cached_causale_magazzino(caurit());}
|
||||
const TCausale_magazzino& causale_consegna() const {return cached_causale_magazzino(caucon());}
|
||||
@ -300,8 +301,8 @@ public:
|
||||
void set_rigabolla(const int anno, const char* codnum, const long ndoc, const long idriga);
|
||||
void set_movmag(const long movmag);
|
||||
|
||||
bool is_annullato();
|
||||
bool is_associato();
|
||||
bool is_annullato() const;
|
||||
bool is_associato() const;
|
||||
|
||||
TRiga_pacco(const TRectype& rec);
|
||||
TRiga_pacco(const TRiga_pacco& rpacco);
|
||||
|
@ -26,8 +26,6 @@
|
||||
#define F_CONTO 125
|
||||
#define F_SOTTOC 126
|
||||
#define F_DESCR 127
|
||||
#define F_IGNORA_ZERO 128
|
||||
|
||||
#define R_CON 16
|
||||
//#define F_STAMPA_BOLLA 117
|
||||
//#define F_CALC_IMPORTO 118
|
||||
//#define F_CONTR_DOTAZIONE 119
|
@ -341,6 +341,16 @@ BEGIN
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 80 3
|
||||
BEGIN
|
||||
PROMPT 1 19 "@bFatturazione"
|
||||
END
|
||||
|
||||
BOOLEAN F_IGNORA_ZERO
|
||||
BEGIN
|
||||
PROMPT 2 20 "Non segnalare prezzo a zero sulla bolla"
|
||||
FIELD B5
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user