Patch level : 10.0 patch 549

Files correlati     : lv0
Ricompilazione Demo : [ ]
Commento            :
Se tento di cancellare un articolo in contratto e questo articolo è presente in una bolla da fatturare o in un buono di ritiro o prelievo ancora da associare non deve potermelo far fare


git-svn-id: svn://10.65.10.50/trunk@19788 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-12-15 17:36:40 +00:00
parent 253bd82eb1
commit ad483c3045

View File

@ -281,6 +281,59 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
warning_box("Impossibile cancellare l'articolo %s perchè ha una dotazione iniziale non nulla", (const char*) codart);
return false;
}
const TDate oggi(TODAY);
const int danno = oggi.year() - 1;
const int aanno = oggi.year() + 1;
//controllo articolo in buoni di consegna
const TString8 tipoela = "FAT1"; //in realtà dal 16/12/2009 andrà letto da configurazione
const TString4 codnumbc = ini_get_string(CONFIG_DITTA, "lv", "NUM_GEN");
const TString4 tipodocbc = ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_GEN");
const char statofbc = cache().get("%ELD", tipoela, "S4").left(0)[0];
TString query;
query << "USE RDOC KEY 5\n"
<< "SELECT (DOC.TIPODOC=\"" << tipodocbc << "\")&&(DOC.STATO<\"" << statofbc << "\")\n"
<< "JOIN DOC INTO PROVV=PROVV ANNO=ANNO CODNUM=CODNUM NDOC=NDOC\n"
<< "FROM CODART=\"" << codart << "\" ANNO=" << danno << "CODNUM=\"" << codnumbc << "\"\n"
<< "TO CODART=\"" << codart << "\" ANNO=" << danno << "CODNUM=\"" << codnumbc << "\"\n";
TISAM_recordset bcon(query);
if(bcon.items() > 0)
{
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;
}
//controllo articolo in buoni di prelievo
const TString4 codnumbp = ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0);
const TString4 tipodocbp = ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0);
const char statofbp = cache().get("%TIP", tipodocbp, "S2").mid(2,1)[0];
query.cut(0);
query << "USE RDOC KEY 5\n"
<< "SELECT (DOC.TIPODOC=\"" << tipodocbp << "\")&&(DOC.STATO<\"" << statofbp << "\")\n"
<< "JOIN DOC INTO PROVV=PROVV ANNO=ANNO CODNUM=CODNUM NDOC=NDOC\n"
<< "FROM CODART=\"" << codart << "\" ANNO=" << danno << "CODNUM=\"" << codnumbp << "\"\n"
<< "TO CODART=\"" << codart << "\" ANNO=" << danno << "CODNUM=\"" << codnumbp << "\"\n";
TISAM_recordset bpre(query);
if(bpre.items() > 0)
{
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;
}
if (!yesno_box("Si desidera veramente cancellare l'articolo %s",(const char*) codart))
return false;
}