Patch level : 712

Files correlati     : crpa0
Ricompilazione Demo : [ ]
Commento            :
Forzato l'utente amministratore in assenza di utente sulla riga di comando


git-svn-id: svn://10.65.10.50/trunk@15364 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2007-05-25 10:56:49 +00:00
parent 221e6c5989
commit eb07cc378f

View File

@ -1,4 +1,5 @@
#include <applicat.h>
#include <dongle.h>
#include <execp.h>
#include <tabutil.h>
#include <utility.h>
@ -72,10 +73,17 @@ protected:
public:
void write_sqlinsert();
void write_sqldelete();
TIni2Sql() {}
TIni2Sql();
virtual ~TIni2Sql() {}
};
TIni2Sql::TIni2Sql()
{
if (user().blank())
user() = dongle().administrator();
}
// restituisce un riferimento all' applicazione
inline TIni2Sql& app() { return (TIni2Sql&) main_app();}
@ -326,34 +334,33 @@ bool TIni2Sql::search_costo_ricavo(TBill& conto, const TRiga_documento& r)
conto.set(gr,co,so);
if (!conto.ok()) // se il conto non c'e' guarda la categoria acquisti/vendite
{
TTable *t = is_cli ? new TTable("CRA") : new TTable("CAA");
t->put("CODTAB",_anamag->get(is_cli ? ANAMAG_CATCONV : ANAMAG_CATCONA));
if (t->read() == NOERR)
const TString16 catcon = _anamag->get(is_cli ? ANAMAG_CATCONV : ANAMAG_CATCONA);
const TRectype& cat = cache().get(is_cli ? "CRA" : "CAA", catcon);
if (!cat.empty())
{
gr = atoi(t->get("S1"));
co = atoi(t->get("S2"));
so = atol(t->get("S3"));
gr = cat.get_int("S1");
co = cat.get_int("S2");
so = cat.get_long("S3");
conto.set(gr,co,so);
}
}
if (conto.ok()) break;
if (conto.ok())
break;
}
else
if (tok == "GM" || tok == "SM" || tok == "RF")
{
if (skip_art_related) continue;
const bool is_fis = tok == "RF";
TTable * tab = is_fis ? new TTable("RFA") : new TTable("GMC");
TString16 codtab(_anamag->get(is_fis ? ANAMAG_RAGGFIS : ANAMAG_GRMERC));
TString16 codtab = _anamag->get(is_fis ? ANAMAG_RAGGFIS : ANAMAG_GRMERC);
if (tok == "GM" && codtab.len() > 3)
codtab.cut(3); // gli ultimi 2 si riferiscono al sottogruppo.
tab->put("CODTAB",codtab);
if (tab->read() == NOERR)
const TRectype& tab = cache().get(is_fis ? "RFA" : "GMC", codtab);
if (!tab.empty())
{
gr = tab->get_int(is_cli ? "I3" : "I0");
co = tab->get_int(is_cli ? "I4" : "I1");
so = tab->get_long(is_cli ? "I5" : "I2");
gr = tab.get_int(is_cli ? "I3" : "I0");
co = tab.get_int(is_cli ? "I4" : "I1");
so = tab.get_long(is_cli ? "I5" : "I2");
conto.set(gr,co,so);
}
if (conto.ok()) break;
@ -362,24 +369,25 @@ bool TIni2Sql::search_costo_ricavo(TBill& conto, const TRiga_documento& r)
if (tok == "CV" || tok == "CC")
{
const bool is_cve = tok == "CV";
if (is_cve && !is_cli) continue; // se e' un fornitore salta questa condizione
TTable* t = is_cve ? new TTable("CVE") : new TTable("CCO");
TString16 cod(is_cve ? r.doc().get(DOC_CATVEN) : EMPTY_STRING);
if (is_cve && !is_cli)
continue; // se e' un fornitore salta questa condizione
TString16 cod = is_cve ? r.doc().get(DOC_CATVEN) : EMPTY_STRING;
if (cod.empty())
{
if (skip_clifo) continue; // se non aveva trovato il cliente salta al prossimo
cod = _clifo->lfile(LF_CFVEN).get(is_cve ? CFV_CATVEN : CFV_CODCATC);
}
t->put("CODTAB",cod);
if (t->read() == NOERR)
const TRectype& t = cache().get(is_cve ? "CVE" : "CCO", cod);
if (!t.empty())
{
const bool x =(is_cve || is_cli);
gr = t->get_int(x ? "I3" : "I0");
co = t->get_int(x ? "I4" : "I1");
so = t->get_long(x ? "I5": "I2");
gr = t.get_int(x ? "I3" : "I0");
co = t.get_int(x ? "I4" : "I1");
so = t.get_long(x ? "I5": "I2");
conto.set(gr,co,so);
}
if (conto.ok()) break;
if (conto.ok())
break;
}
}
break; // case 'M'
@ -387,13 +395,12 @@ bool TIni2Sql::search_costo_ricavo(TBill& conto, const TRiga_documento& r)
case 'P': // righe prestazione
case 'S': // righe spese
{
TTable* tab = t == 'P' ? new TTable("PRS") : new TTable("SPP");
tab->put("CODTAB",r.get(RDOC_CODART));
if (tab->read()==NOERR)
const TRectype& tab = cache().get(t == 'P' ? "PRS" : "SPP", r.get(RDOC_CODART));
if (!tab.empty())
{
gr = tab->get_int(is_cli ? "I0" : "I3");
co = tab->get_int(is_cli ? "I1" : "I4");
so = tab->get_long(is_cli ? "I2" : "I5");
gr = tab.get_int(is_cli ? "I0" : "I3");
co = tab.get_int(is_cli ? "I1" : "I4");
so = tab.get_long(is_cli ? "I2" : "I5");
conto.set(gr,co,so);
if (!is_cli && !conto.ok())
{
@ -853,8 +860,8 @@ bool TIni2Sql::search_conto_cespite(TBill& conto, const TRiga_documento& r)
}
TEsercizi_contabili esercizi;
int esc = esercizi.date2esc(r.doc().get_date(DOC_DATADOC));
TString16 str;
str.format("%04d", esc);
TString16 str; str.format("%04d", esc);
TTable tabccb("CCB");
tabccb.put("CODTAB", str);
tabccb.read();
@ -1151,6 +1158,6 @@ void TIni2Sql::main_loop()
int main(int argc, char** argv)
{
TIni2Sql a;
a.run(argc, argv, "Trasferimento dati da EuroCampo");
a.run(argc, argv, TR("Trasferimento dati da EuroCampo"));
return 0;
}