From bb79968dc698252f9254a89794e05742af025b4b Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 2 Mar 2012 10:53:11 +0000 Subject: [PATCH] Patch level : 10.0 Files correlati : lv0.exe Ricompilazione Demo : [ ] Commento : Migliorate segnalazioni in cancellazione righe contratto con articoli ancora da evadere git-svn-id: svn://10.65.10.50/branches/R_10_00@22595 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv0400.cpp | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/lv/lv0400.cpp b/lv/lv0400.cpp index b7824546e..efc6179b4 100755 --- a/lv/lv0400.cpp +++ b/lv/lv0400.cpp @@ -355,6 +355,13 @@ void TContratti_msk::on_idle() } } +static const TString& doc_rif(const TRecordset& rdoc) +{ + TString& tmp = get_tmp_string(); + tmp << rdoc.get(RDOC_CODNUM) << ' ' << rdoc.get(RDOC_ANNO) << '/' << rdoc.get(RDOC_NDOC); + return tmp; +} + //ON_FIELD_EVENT: definizione del metodo che setta i comportamenti dei vari campi della mashera bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly) { @@ -434,10 +441,7 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly { const long dotin = row.get_long(ss.cid2index(S_DOTIN)); if (dotin > 0) - { - warning_box("Impossibile cancellare l'articolo %s perchè ha una dotazione iniziale non nulla", (const char*) codart); - return false; - } + return error_box("Impossibile cancellare l'articolo %s perchè ha una dotazione iniziale non nulla", (const char*) codart); const TDate oggi(TODAY); const int danno = oggi.year() - 1; @@ -459,13 +463,13 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly TISAM_recordset bcon(query); - if(bcon.items() > 0) + if(bcon.move_first()) { TString str; str << "Non è possibile cancellare dal contratto l'articolo " << codart - << "in quanto è presente su " << bcon.items() << " ancora da fatturare"; - warning_box(str); - return false; + << "in quanto è presente su " << bcon.items() << " buoni di consegna ancora da fatturare\n" + << doc_rif(bcon); + return error_box(str); } //controllo articolo in buoni di ritiro @@ -482,13 +486,13 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly TISAM_recordset brit(query); - if(brit.items() > 0) + if(brit.move_first()) { TString str; str << "Non è possibile cancellare dal contratto l'articolo " << codart - << "in quanto è presente su " << brit.items() << " ancora da evadere"; - warning_box(str); - return false; + << "in quanto è presente su " << brit.items() << " buoni di ritiro ancora da evadere\n" + << doc_rif(brit); + return error_box(str); } //controllo articolo in buoni di prelievo @@ -504,14 +508,13 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly << "TO CODART=\"" << codart << "\" ANNO=" << danno << "CODNUM=\"" << codnumbp << "\"\n"; TISAM_recordset bpre(query); - - if(bpre.items() > 0) + if(bpre.move_first()) { TString str; str << "Non è possibile cancellare dal contratto l'articolo " << codart - << "in quanto è presente su " << bpre.items() << " ancora da evadere"; - warning_box(str); - return false; + << "in quanto è presente su " << bpre.items() << " buoni di prelievo ancora da evadere\n" + << doc_rif(bpre); + return error_box(str); } if (!noyes_box("Si desidera veramente cancellare l'articolo %s",(const char*) codart))