Patch level : 10.0

Files correlati     : lv0
Ricompilazione Demo : [ ]
Commento            :
Corretto collegamento (gestione/nuovo) delle tabelle di modulo


git-svn-id: svn://10.65.10.50/trunk@17135 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2008-08-29 10:35:54 +00:00
parent 436d70a0c6
commit af4e9f02a8
4 changed files with 23 additions and 13 deletions

View File

@ -12,6 +12,7 @@
#include <recarray.h> #include <recarray.h>
#include <relation.h> #include <relation.h>
#include <scanner.h> #include <scanner.h>
#include <tabmod.h>
#include <utility.h> #include <utility.h>
#include <tabutil.h> #include <tabutil.h>
#include <varrec.h> #include <varrec.h>
@ -4013,15 +4014,21 @@ bool TRectype::get_relapp(TString& app) const
if (*_tab) if (*_tab)
{ {
TString4 cod(_tab); TString4 cod(_tab);
if (num() == LF_TABCOM) switch (num())
cod.insert("%"); {
else case LF_TABCOM: cod.insert("%"); break;
if (num() == LF_TABGEN) case LF_TABGEN: cod.insert("^"); break;
cod.insert("#"); case LF_TABMOD:
{
TModule_table mod(_tab);
return mod.get_relapp(app);
}
break;
default : break;
}
return ::get_tabapp(cod, app); return ::get_tabapp(cod, app);
} }
else return ::get_relapp(num(), app);
return ::get_relapp(num(), app);
} }
bool TRectype::edit(int logicnum, const char* alternate_key_fields, const char* hint) const bool TRectype::edit(int logicnum, const char* alternate_key_fields, const char* hint) const

View File

@ -49,7 +49,8 @@ bool TTable_module_application::user_create()
if (argc() < 3) if (argc() < 3)
return false; return false;
TString4 tabname = argv(2); TString4 tabname;
tabname.strncpy(argv(2), 4);
tabname.upper(); tabname.upper();
if (tabname[0] != '&') if (tabname[0] != '&')
tabname.insert("&"); // Forza la tabella di modulo tabname.insert("&"); // Forza la tabella di modulo

View File

@ -1360,19 +1360,20 @@ void TCursor::filter(
case LF_TABGEN: case LF_TABGEN:
case LF_TABCOM: case LF_TABCOM:
case LF_TAB: case LF_TAB:
if (!real::is_natural(file().name())) // E' veramente una tabella o è un file normale?
{ {
const TTable& f = (const TTable&)file(); // kf = kto = file().name();
// kf = kto = f.name(); const TString4 k = file().name();
const TString4 k = f.name();
kf.overwrite(k, 0); kf.overwrite(k, 0);
kto.overwrite(k, 0); kto.overwrite(k, 0);
}; };
break; break;
case LF_TABMOD: case LF_TABMOD:
if (!real::is_natural(file().name())) // E' veramente una tabella di modulo o è un file normale?
{ {
const TModule_table& t = (TModule_table&)file(); const TModule_table& t = (TModule_table&)file();
TString16 k; TString16 k;
k.format("%2s%6ld%3s", (const char*)t.module(), t.customer(), (const char*)t.name()); k.format("%2s%6ld%3s", t.module(), t.customer(), t.name());
kf.overwrite(k, 0); kf.overwrite(k, 0);
kto.overwrite(k, 0); kto.overwrite(k, 0);
} }

View File

@ -257,6 +257,7 @@ bool TModule_table::get_relapp(TString& app) const
app = ini.get(var); app = ini.get(var);
if (app.empty()) if (app.empty())
app << _module << "0 -0"; app << _module << "0 -0";
app << " &" << _tabname;
} }
return app.not_empty(); return app.not_empty();
} }