diff --git a/include/tabmod.cpp b/include/tabmod.cpp index b05c46f97..bcda40de3 100755 --- a/include/tabmod.cpp +++ b/include/tabmod.cpp @@ -256,26 +256,39 @@ const char* TModule_table::description() load_module_description(); return _description; } +static bool find_relapp(TString& app, const char * para, const char * tabname) +{ + TString8 var; + var << "Edit_" << tabname; + + app = ini_get_string(CONFIG_GENERAL, para, var); + if (app.empty()) + { + var.cut(0) << "Edit_" << LF_TABMOD; + app = ini_get_string(CONFIG_GENERAL, para, var); + } + return app.full(); +} bool TModule_table::get_relapp(TString& app) const { TString8 para = _module; + if (_customer > 0L) para.format("%s%06ld", (const char*)_module, _customer); - para.lower(); - TConfig ini(CONFIG_GENERAL, para); - - TString8 var; - var << "Edit_" << _tabname; - app = ini.get(var); - if (app.empty()) - { - var.cut(0) << "Edit_" << LF_TABMOD; - app = ini.get(var); - if (app.empty()) - app << _module << "0 -0"; - app << " &" << _tabname; - } - return app.not_empty(); + para.lower(); + + bool ok = ::find_relapp(app, para, _tabname); + + for (int i = 0; !ok && i <= 9; i++) + { + para = _module; + para << i; + ok = ::find_relapp(app, para, _tabname); + } + if (!ok) + app << _module << "0 -0"; + app << " &" << _tabname; + return true; } diff --git a/ve/vetbscc.uml b/ve/vetbscc.uml index 61d46864f..4a21fc013 100755 --- a/ve/vetbscc.uml +++ b/ve/vetbscc.uml @@ -23,6 +23,8 @@ BEGIN ITEM "AL|Alluminio" ITEM "CA|Carta" ITEM "PL|Plastica" + ITEM "LE|Legno" + ITEM "VE|Vetro" END NUMBER SCC_CODICE 2 @@ -32,7 +34,7 @@ BEGIN KEY 1 USE &SCC FLAGS "Z" - INPUT CODTAB[1,2] SCC_CATEGORIA + INPUT CODTAB[1,2] SCC_CATEGORIA SELECT INPUT CODTAB[3,4] SCC_CODICE DISPLAY "Categoria" CODTAB[1,2] DISPLAY "Codice@8" CODTAB[3,4]