Corretta gestione DNINST
git-svn-id: svn://10.65.10.50/branches/R_10_00@22849 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
2c144f4dac
commit
5f21b8706a
@ -144,25 +144,24 @@ public:
|
|||||||
|
|
||||||
bool TForm_printer::create()
|
bool TForm_printer::create()
|
||||||
{
|
{
|
||||||
TString16 cod_prof;
|
|
||||||
TApplication::create();
|
TApplication::create();
|
||||||
|
|
||||||
if (argc() < 3)
|
if (argc() < 3)
|
||||||
return error_box("Specificare il nome del profilo di stampa");
|
return error_box("Specificare il nome del profilo di stampa");
|
||||||
|
|
||||||
TFilename form(argv(2)); form.ext("frm");form.upper();
|
TFilename form(argv(2)); form.ext("frm"); form.lower();
|
||||||
long code=0;
|
long code=0;
|
||||||
if (argc() == 4)
|
if (argc() == 4)
|
||||||
code = atol(argv(3));
|
code = atol(argv(3));
|
||||||
if (!fexist(form))
|
if (!fexist(form))
|
||||||
return error_box(FR("Il profilo %s non esiste"), (const char*)form);
|
return cantread_box(form);
|
||||||
form.ext("");
|
form.ext("");
|
||||||
_tabcom = new TLocalisamfile(LF_TABCOM);
|
_tabcom = new TLocalisamfile(LF_TABCOM);
|
||||||
cod_prof.format("%05ld",code);
|
TString8 cod_prof; cod_prof.format("%05ld",code);
|
||||||
TTab_form f(form, (code != 0) ? cod_prof : "");
|
TTab_form f(form, (code != 0) ? cod_prof : "");
|
||||||
f.print();
|
f.print();
|
||||||
stop_run();
|
stop_run();
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TForm_printer::destroy()
|
bool TForm_printer::destroy()
|
||||||
|
@ -152,7 +152,7 @@ ENDPAGE
|
|||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
|
||||||
PAGE "Informazioni" -1 -1 60 10
|
PAGE "Informazioni" -1 -1 62 10
|
||||||
|
|
||||||
NUMBER F_NUMBER 5
|
NUMBER F_NUMBER 5
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -253,12 +253,12 @@ END
|
|||||||
|
|
||||||
DATE F_ATACCESS
|
DATE F_ATACCESS
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 28 6 "Ultimo aggiornamento "
|
PROMPT 27 6 "Ultimo aggiornamento "
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_ATYEAR 4
|
NUMBER F_ATYEAR 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 7 "Numero versione "
|
PROMPT 1 8 "Anno "
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
74
ba/bacnv.cpp
74
ba/bacnv.cpp
@ -2239,6 +2239,8 @@ void TConversione_archivi::convert_conai_anamag()
|
|||||||
|
|
||||||
void TConversione_archivi::convert_conai_rdoc()
|
void TConversione_archivi::convert_conai_rdoc()
|
||||||
{
|
{
|
||||||
|
TFast_isamfile f(LF_RIGHEDOC);
|
||||||
|
|
||||||
//deve considerare tutte le righe documento che abbiano almeno uno tra codagg1 e codagg2 compilato
|
//deve considerare tutte le righe documento che abbiano almeno uno tra codagg1 e codagg2 compilato
|
||||||
TString query;
|
TString query;
|
||||||
query << "USE RDOC\n";
|
query << "USE RDOC\n";
|
||||||
@ -2246,7 +2248,7 @@ void TConversione_archivi::convert_conai_rdoc()
|
|||||||
TISAM_recordset righedoc(query);
|
TISAM_recordset righedoc(query);
|
||||||
const long righedoc_items = righedoc.items();
|
const long righedoc_items = righedoc.items();
|
||||||
|
|
||||||
TProgind pi(righedoc_items, "Ricostruzione righe documento...", false);
|
TProgind pi(righedoc_items, TR("Ricostruzione righe documento..."), false);
|
||||||
|
|
||||||
//ci vuole un TVariable_rectype perchè il TRectype non ha campi virtuali!
|
//ci vuole un TVariable_rectype perchè il TRectype non ha campi virtuali!
|
||||||
TVariable_rectype rdoc(LF_RIGHEDOC);
|
TVariable_rectype rdoc(LF_RIGHEDOC);
|
||||||
@ -2257,36 +2259,54 @@ void TConversione_archivi::convert_conai_rdoc()
|
|||||||
if (!pi.addstatus(1))
|
if (!pi.addstatus(1))
|
||||||
break;
|
break;
|
||||||
rdoc = righedoc.cursor()->curr();
|
rdoc = righedoc.cursor()->curr();
|
||||||
TString4 codagg2 = rdoc.get(RDOC_CODAGG2);
|
|
||||||
TString4 codagg1 = rdoc.get(RDOC_CODAGG1);
|
|
||||||
//se codagg2 non è 4 caratteri o è cazzato (<4) oppure non c'entra un cavolo (>4); quindi deve considerare..
|
|
||||||
//..codagg1; se codagg1 è lungo 2 va bene lui
|
|
||||||
if (codagg2.len() < 4 && codagg1.len() == 2)
|
|
||||||
{
|
|
||||||
codagg2 = codagg1;
|
|
||||||
codagg2 << "99";
|
|
||||||
}
|
|
||||||
//per prima cosa sistema i codici categoria
|
|
||||||
//quale è la classe conai? (plastica,carta,vetro,ecc.??)
|
|
||||||
const TCONAI_class cc = conai_str2class(codagg2);
|
|
||||||
//come si chiama il campo virtuale su rdoc in cui anrà inserito il codice categoria?
|
|
||||||
const char* csn = conai_sottocat_name(cc);
|
|
||||||
//noto il campo di destinazione ci mette il codice corretto
|
|
||||||
rdoc.put(csn, codagg2);
|
|
||||||
rdoc.zero(RDOC_CODAGG1);
|
|
||||||
rdoc.zero(RDOC_CODAGG2);
|
|
||||||
|
|
||||||
//adesso tocca ai pesi conai
|
TString4 codagg1 = rdoc.get(RDOC_CODAGG1);
|
||||||
real qtagg1 = rdoc.get_real(RDOC_QTAGG1);
|
TString4 codagg2 = rdoc.get(RDOC_CODAGG2);
|
||||||
//la classe è sempre quella di prima;il campo virtuale no
|
if (codagg1.full() || codagg2.full())
|
||||||
const char* cpn = conai_peso_name(cc);
|
{
|
||||||
//noto il campo di destinazione ci mette il peso conai
|
//se codagg2 non è 4 caratteri o è cazzato (<4) oppure non c'entra un cavolo (>4); quindi deve considerare..
|
||||||
rdoc.put(cpn, qtagg1);
|
//..codagg1; se codagg1 è lungo 2 va bene lui
|
||||||
rdoc.zero(RDOC_QTAGG1);
|
if (codagg2.len() < 4 && codagg1.len() == 2)
|
||||||
|
{
|
||||||
|
codagg2 = codagg1;
|
||||||
|
codagg2 << "99";
|
||||||
|
}
|
||||||
|
//per prima cosa sistema i codici categoria
|
||||||
|
//quale è la classe conai? (plastica,carta,vetro,ecc.??)
|
||||||
|
const TCONAI_class cc = conai_str2class(codagg2);
|
||||||
|
//come si chiama il campo virtuale su rdoc in cui anrà inserito il codice categoria?
|
||||||
|
const char* csn = conai_sottocat_name(cc);
|
||||||
|
//noto il campo di destinazione ci mette il codice corretto
|
||||||
|
rdoc.put(csn, codagg2);
|
||||||
|
rdoc.zero(RDOC_CODAGG1);
|
||||||
|
rdoc.zero(RDOC_CODAGG2);
|
||||||
|
|
||||||
|
//adesso tocca ai pesi conai
|
||||||
|
const real qtagg1 = rdoc.get_real(RDOC_QTAGG1);
|
||||||
|
if (!qtagg1.is_zero())
|
||||||
|
{
|
||||||
|
//la classe è sempre quella di prima;il campo virtuale no
|
||||||
|
const char* cpn = conai_peso_name(cc);
|
||||||
|
//noto il campo di destinazione ci mette il peso conai
|
||||||
|
rdoc.put(cpn, qtagg1);
|
||||||
|
rdoc.zero(RDOC_QTAGG1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const real qtagg3 = rdoc.get(RDOC_QTAGG3);
|
||||||
|
if (!qtagg3.is_zero())
|
||||||
|
{
|
||||||
|
rdoc.put("NUMFOGLI", qtagg3);
|
||||||
|
rdoc.zero(RDOC_QTAGG3);
|
||||||
|
}
|
||||||
|
|
||||||
//scrittura finale del record
|
//scrittura finale del record
|
||||||
TLocalisamfile f(LF_RIGHEDOC);
|
|
||||||
int err = rdoc.rewrite(f);
|
int err = rdoc.rewrite(f);
|
||||||
|
if (err != NOERR)
|
||||||
|
{
|
||||||
|
cantwrite_box(f.description());
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user