Patch level : 10.0
Files correlati : lv0.exe Ricompilazione Demo : [ ] Commento : Corretto problema di eliminazione righe contratto senza articolo git-svn-id: svn://10.65.10.50/branches/R_10_00@22501 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
dc91a5c341
commit
d132aa9af8
157
lv/lv0400.cpp
157
lv/lv0400.cpp
@ -429,91 +429,94 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
|
||||
{
|
||||
TSheet_field& ss = (TSheet_field&)o;
|
||||
TToken_string& row = ss.row(ss.selected());
|
||||
const TString codart = row.get(ss.cid2index(S_CODART));
|
||||
const long dotin = row.get_long(ss.cid2index(S_DOTIN));
|
||||
if (dotin > 0)
|
||||
const TString80 codart = row.get(ss.cid2index(S_CODART));
|
||||
if (codart.full())
|
||||
{
|
||||
warning_box("Impossibile cancellare l'articolo %s perchè ha una dotazione iniziale non nulla", (const char*) codart);
|
||||
return false;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
const TDate oggi(TODAY);
|
||||
const int danno = oggi.year() - 1;
|
||||
const int aanno = oggi.year() + 1;
|
||||
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 = ini_get_string(CONFIG_DITTA, "lv", "FatDif");
|
||||
//controllo articolo in buoni di consegna
|
||||
const TString8 tipoela = ini_get_string(CONFIG_DITTA, "lv", "FatDif");
|
||||
|
||||
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];
|
||||
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";
|
||||
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);
|
||||
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;
|
||||
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 ritiro
|
||||
const TString4 codnumbr = ini_get_string(CONFIG_DITTA, "lv", "NUM_RIT", NULL, 0);
|
||||
const TString4 tipodocbr = ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_RIT", NULL, 0);
|
||||
const char statofbr = cache().get("%TIP", tipodocbr, "S2").mid(1,1)[0];
|
||||
|
||||
query.cut(0);
|
||||
query << "USE RDOC KEY 5\n"
|
||||
<< "SELECT (DOC.TIPODOC=\"" << tipodocbr << "\")&&(DOC.STATO<\"" << statofbr << "\")\n"
|
||||
<< "JOIN DOC INTO PROVV=PROVV ANNO=ANNO CODNUM=CODNUM NDOC=NDOC\n"
|
||||
<< "FROM CODART=\"" << codart << "\" ANNO=" << danno << "CODNUM=\"" << codnumbr << "\"\n"
|
||||
<< "TO CODART=\"" << codart << "\" ANNO=" << danno << "CODNUM=\"" << codnumbr << "\"\n";
|
||||
|
||||
TISAM_recordset brit(query);
|
||||
|
||||
if(brit.items() > 0)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
//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 (!noyes_box("Si desidera veramente cancellare l'articolo %s",(const char*) codart))
|
||||
return false;
|
||||
}
|
||||
|
||||
//controllo articolo in buoni di ritiro
|
||||
const TString4 codnumbr = ini_get_string(CONFIG_DITTA, "lv", "NUM_RIT", NULL, 0);
|
||||
const TString4 tipodocbr = ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_RIT", NULL, 0);
|
||||
const char statofbr = cache().get("%TIP", tipodocbr, "S2").mid(1,1)[0];
|
||||
|
||||
query.cut(0);
|
||||
query << "USE RDOC KEY 5\n"
|
||||
<< "SELECT (DOC.TIPODOC=\"" << tipodocbr << "\")&&(DOC.STATO<\"" << statofbr << "\")\n"
|
||||
<< "JOIN DOC INTO PROVV=PROVV ANNO=ANNO CODNUM=CODNUM NDOC=NDOC\n"
|
||||
<< "FROM CODART=\"" << codart << "\" ANNO=" << danno << "CODNUM=\"" << codnumbr << "\"\n"
|
||||
<< "TO CODART=\"" << codart << "\" ANNO=" << danno << "CODNUM=\"" << codnumbr << "\"\n";
|
||||
|
||||
TISAM_recordset brit(query);
|
||||
|
||||
if(brit.items() > 0)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
//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;
|
||||
}
|
||||
|
||||
if (e == se_leave || e == se_notify_modify)
|
||||
|
Loading…
x
Reference in New Issue
Block a user