Patch level :

Files correlati     : ve1
Ricompilazione Demo : [ ]
Commento            :
Corretta gestione conferma e-mail


git-svn-id: svn://10.65.10.50/trunk@20415 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2010-05-03 11:19:29 +00:00
parent b4aeec6e56
commit f34e8ca09a
5 changed files with 25 additions and 23 deletions

View File

@ -950,7 +950,7 @@ protected:
virtual bool get_next_pdf(int anno, long ditta, const char* codnum, long numdoc, long codcf, TFilename& pdf) const; virtual bool get_next_pdf(int anno, long ditta, const char* codnum, long numdoc, long codcf, TFilename& pdf) const;
const TString& get_mail_address() const; const TString& get_mail_address() const;
virtual bool get_next_mail(TToken_string& to, TToken_string& cc, TToken_string& ccn, virtual bool get_next_mail(TToken_string& to, TToken_string& cc, TToken_string& ccn,
TString& subj, TString& text, TToken_string& attach, bool& ui) const ; TString& subj, TString& text, TToken_string& attach, short& ui) const ;
void print_extra_copies(TReport_doc& report, const TRecordset& doc, TReport_book& book) const; void print_extra_copies(TReport_doc& report, const TRecordset& doc, TReport_book& book) const;
public: public:
@ -984,7 +984,7 @@ const TString& TReport_doc_app::get_mail_address() const
} }
bool TReport_doc_app::get_next_mail(TToken_string& to, TToken_string& cc, TToken_string& ccn, bool TReport_doc_app::get_next_mail(TToken_string& to, TToken_string& cc, TToken_string& ccn,
TString& subj, TString& text, TToken_string& attach, bool& ui) const TString& subj, TString& text, TToken_string& attach, short& ui) const
{ {
bool ok = TApplication::get_next_mail(to, cc, ccn, subj, text, attach, ui); bool ok = TApplication::get_next_mail(to, cc, ccn, subj, text, attach, ui);
@ -999,7 +999,9 @@ bool TReport_doc_app::get_next_mail(TToken_string& to, TToken_string& cc, TToken
if (subj.blank()) if (subj.blank())
subj = doc.tipo().descrizione(); subj = doc.tipo().descrizione();
text << TR("Invio documento ") << subj; text << TR("Invio documento ") << subj;
ui = false; if (to.full())
ui &= ~0x1; // No user interface
ui |= 0x2; // Query receipt
} }
} }
return ok; return ok;

View File

@ -74,9 +74,9 @@ class TCache_articoli;
class TSmart_card; class TSmart_card;
bool is_sconto_not_zero(const char * exp); bool is_real_discount(const TString& exp);
bool scontoexpr2perc(const char * exp, bool signal , TString & goodexp, real & val_perc ); bool scontoexpr2perc(const char* exp, bool signal , TString& goodexp, real & val_perc );
real prezzo_scontato(const real& prezzo, const char * sconto); real prezzo_scontato(const real& prezzo, const TString& sconto);
bool ora_hndl(TMask_field& field, KEY key); bool ora_hndl(TMask_field& field, KEY key);
bool totdoc_hndl(TMask_field& field, KEY key); bool totdoc_hndl(TMask_field& field, KEY key);

View File

@ -159,9 +159,12 @@ real TSpesa_prest::prezzo() const
return r; return r;
} }
bool is_sconto_not_zero(const char * exp) bool is_real_discount(const TString& exp)
{ {
TString good; if (exp.blank())
return false;
TString80 good;
real perc; real perc;
return scontoexpr2perc(exp, false , good, perc) && perc != UNO; return scontoexpr2perc(exp, false , good, perc) && perc != UNO;
@ -257,16 +260,15 @@ bool scontoexpr2perc(const char * exp, bool signal , TString & goodexp, real & v
return valid; return valid;
} }
real prezzo_scontato(const real& prezzo, const char * sconto) real prezzo_scontato(const real& prezzo, const TString& sconto)
{ {
real scontato = prezzo; if (sconto.full())
if (sconto && *sconto)
{ {
TString80 exp; TString80 exp;
real val_sconto; real val_sconto;
scontoexpr2perc(sconto, FALSE , exp, val_sconto); if (scontoexpr2perc(sconto, false , exp, val_sconto) && val_sconto != UNO)
scontato *= val_sconto; return prezzo * val_sconto;
} }
return scontato; return prezzo;
} }

View File

@ -444,29 +444,27 @@ real TRiga_documento::prezzo(bool scontato, bool lordo, int ndec) const
if (doc().tipo().calcolo_lordo()) if (doc().tipo().calcolo_lordo())
{ {
prezzo = get_real(RDOC_PREZZOL); prezzo = get_real(RDOC_PREZZOL);
if (prezzo == ZERO) if (prezzo.is_zero())
{ {
prezzo = get_real("PREZZO"); prezzo = get_real(RDOC_PREZZO);
if (scontato) if (scontato)
prezzo = prezzo_scontato(prezzo, get("SCONTO")); prezzo = prezzo_scontato(prezzo, get(RDOC_SCONTO));
if (lordo) if (lordo)
prezzo = iva().lordo(prezzo, ndec); prezzo = iva().lordo(prezzo, ndec);
} }
else else
{ {
if (scontato) if (scontato)
prezzo = prezzo_scontato(prezzo, get("SCONTO")); prezzo = prezzo_scontato(prezzo, get(RDOC_SCONTO));
if (!lordo) if (!lordo)
iva().scorpora(prezzo, ndec); iva().scorpora(prezzo, ndec);
} }
} }
else else
{ {
prezzo = get_real("PREZZO"); prezzo = get_real(RDOC_PREZZO);
if (scontato) if (scontato)
prezzo = prezzo_scontato(prezzo, get("SCONTO")); prezzo = prezzo_scontato(prezzo, get(RDOC_SCONTO));
// prezzo.round(ndec);
if (lordo) if (lordo)
prezzo = iva().lordo(prezzo, ndec); prezzo = iva().lordo(prezzo, ndec);
} }

View File

@ -848,7 +848,7 @@ void TDocumento::set_riga_sconto()
{ {
const TString80 sconto(get(DOC_SCONTOPERC)); const TString80 sconto(get(DOC_SCONTOPERC));
if (sconto.blank() || !is_sconto_not_zero(sconto)) if (!is_real_discount(sconto))
{ {
if(_sconto != NULL) if(_sconto != NULL)
delete _sconto; delete _sconto;