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:
parent
221e6c5989
commit
eb07cc378f
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user