Patch level : 2.2 47
Files correlati : Ricompilazione Demo : [ ] Commento : Riportata la versione 22.1 patch 246 git-svn-id: svn://10.65.10.50/trunk@12818 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
995eccc418
commit
36d6a7f5e7
@ -269,8 +269,7 @@ TPicture_mask::TPicture_mask(const char* name, int dx, int dy,
|
|||||||
{
|
{
|
||||||
logoname = "logo";
|
logoname = "logo";
|
||||||
logoname << '.' << ext[i];
|
logoname << '.' << ext[i];
|
||||||
logoname.custom_path();
|
if (logoname.custom_path())
|
||||||
if (logoname.exist())
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
TImage logo(logoname);
|
TImage logo(logoname);
|
||||||
@ -864,7 +863,7 @@ bool TMenu_application::check_user()
|
|||||||
TMask m("ba0100a");
|
TMask m("ba0100a");
|
||||||
|
|
||||||
char hostname[256]; xvt_sys_get_host_name(hostname, sizeof(hostname));
|
char hostname[256]; xvt_sys_get_host_name(hostname, sizeof(hostname));
|
||||||
if (strcmp(hostname, "BATMOBILE") == 0 || strcmp(hostname, "ETABETA") == 0 ||
|
if (strcmp(hostname, "BATMOBILE") == 0 || strcmp(hostname, "ARCHIMEDE") == 0 ||
|
||||||
strcmp(hostname, "KIRK") == 0 || strcmp(hostname, "SPOCK") == 0 ||
|
strcmp(hostname, "KIRK") == 0 || strcmp(hostname, "SPOCK") == 0 ||
|
||||||
strcmp(hostname, "UHURA") == 0)
|
strcmp(hostname, "UHURA") == 0)
|
||||||
{
|
{
|
||||||
@ -1887,7 +1886,7 @@ int ba0100(int argc, char** argv)
|
|||||||
|
|
||||||
TFilename menu = (argc < 2) ? MEN_FILE : argv[1];
|
TFilename menu = (argc < 2) ? MEN_FILE : argv[1];
|
||||||
|
|
||||||
if (menu.exist())
|
if (menu.custom_path())
|
||||||
{
|
{
|
||||||
TMenu_application *ma = new TMenu_application(menu);
|
TMenu_application *ma = new TMenu_application(menu);
|
||||||
ma->run(argc, argv, TR("Menu Principale"));
|
ma->run(argc, argv, TR("Menu Principale"));
|
||||||
|
@ -168,8 +168,8 @@ void TMenuitem::create(const char* t)
|
|||||||
{
|
{
|
||||||
if (_action.find('.') < 0)
|
if (_action.find('.') < 0)
|
||||||
_action << ".men";
|
_action << ".men";
|
||||||
TFilename n = _action; n.custom_path();
|
TFilename n = _action;
|
||||||
if (n.exist())
|
if (n.custom_path())
|
||||||
menu().read(_action, _action);
|
menu().read(_action, _action);
|
||||||
else
|
else
|
||||||
_action.cut(0);
|
_action.cut(0);
|
||||||
@ -208,14 +208,15 @@ bool TMenuitem::enabled() const
|
|||||||
{
|
{
|
||||||
if (menu().is_dangerous(_action))
|
if (menu().is_dangerous(_action))
|
||||||
{
|
{
|
||||||
yes = FALSE;
|
yes = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const int endname = _action.find(' ');
|
const int endname = _action.find(' ');
|
||||||
TFilename name(endname > 0 ? _action.left(endname) : _action);
|
const TFilename name(endname > 0 ? _action.left(endname) : _action);
|
||||||
if (name.exist())
|
TFilename n = name;
|
||||||
yes = TRUE;
|
if (n.custom_path())
|
||||||
|
yes = true;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const char* ext[] = { "exe", "pif", "com", "bat", NULL };
|
const char* ext[] = { "exe", "pif", "com", "bat", NULL };
|
||||||
@ -223,8 +224,8 @@ bool TMenuitem::enabled() const
|
|||||||
|
|
||||||
for (e = 0; ext[e]; e++)
|
for (e = 0; ext[e]; e++)
|
||||||
{
|
{
|
||||||
name.ext(ext[e]);
|
n = name; n.ext(ext[e]);
|
||||||
if (name.exist())
|
if (n.custom_path())
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
yes = ext[e] != NULL;
|
yes = ext[e] != NULL;
|
||||||
|
@ -354,8 +354,7 @@ TObject* TMenulist_images::key2obj(const char* key)
|
|||||||
{
|
{
|
||||||
name = key;
|
name = key;
|
||||||
name << '.' << ext[i];
|
name << '.' << ext[i];
|
||||||
name.custom_path();
|
if (name.custom_path())
|
||||||
if (name.exist())
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,6 +191,8 @@ TReport_base_mask::TReport_base_mask(const char* name, TReport& rep)
|
|||||||
|
|
||||||
class TReport_field_mask : public TReport_base_mask
|
class TReport_field_mask : public TReport_base_mask
|
||||||
{
|
{
|
||||||
|
TReport_field& _rf;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void vedo_non_vedo();
|
void vedo_non_vedo();
|
||||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
@ -319,10 +321,12 @@ bool TReport_field_mask::on_field_event(TOperable_field& o, TField_event e, long
|
|||||||
case DLG_FINDREC:
|
case DLG_FINDREC:
|
||||||
if (e == fe_button)
|
if (e == fe_button)
|
||||||
{
|
{
|
||||||
TRecordset* rex = _report.recordset();
|
TRecordset* rex = _rf.section().recordset();
|
||||||
|
if (rex == NULL)
|
||||||
|
rex = _report.recordset();
|
||||||
if (rex != NULL && rex->columns() > 0)
|
if (rex != NULL && rex->columns() > 0)
|
||||||
{
|
{
|
||||||
TArray_sheet sheet(-1, -1, -1, 20, "Colonne Query", "Nome@16|Tipo@8|Dimensoni@R");
|
TArray_sheet sheet(-1, -1, -1, 20, TR("Colonne Query"), HR("Nome@16|Tipo@8|Dimensoni@R"));
|
||||||
TToken_string row;
|
TToken_string row;
|
||||||
for (size_t i = 0; i < rex->columns(); i++)
|
for (size_t i = 0; i < rex->columns(); i++)
|
||||||
{
|
{
|
||||||
@ -343,6 +347,19 @@ bool TReport_field_mask::on_field_event(TOperable_field& o, TField_event e, long
|
|||||||
{
|
{
|
||||||
row = sheet.row(-1);
|
row = sheet.row(-1);
|
||||||
set(F_SOURCE, row.get(0));
|
set(F_SOURCE, row.get(0));
|
||||||
|
|
||||||
|
char tipo = row.get_char(1);
|
||||||
|
int width = row.get_int(2);
|
||||||
|
switch (tipo)
|
||||||
|
{
|
||||||
|
case 'D':width = 10; break;
|
||||||
|
case 'L':tipo = 'S'; break;
|
||||||
|
case 'M':tipo = 'S'; width = 50; break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
const char str[2] = { tipo, '\0' };
|
||||||
|
set(F_TYPE, str);
|
||||||
|
set(F_DX, width);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -441,7 +458,7 @@ void TReport_field_mask::get_field(TReport_field& rf) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
TReport_field_mask::TReport_field_mask(TReport_field& rf)
|
TReport_field_mask::TReport_field_mask(TReport_field& rf)
|
||||||
: TReport_base_mask("ba8300b", rf.section().report())
|
: TReport_base_mask("ba8300b", rf.section().report()), _rf(rf)
|
||||||
{
|
{
|
||||||
set_field(rf);
|
set_field(rf);
|
||||||
}
|
}
|
||||||
|
@ -172,6 +172,9 @@ void TKlarkKent_app::main_loop()
|
|||||||
if (arr.items() == 0)
|
if (arr.items() == 0)
|
||||||
arr.add(EMPTY_STRING);
|
arr.add(EMPTY_STRING);
|
||||||
|
|
||||||
|
bool can_repeat = false;
|
||||||
|
do
|
||||||
|
{
|
||||||
TReport_book book;
|
TReport_book book;
|
||||||
FOR_EACH_ARRAY_ROW(arr, r, row)
|
FOR_EACH_ARRAY_ROW(arr, r, row)
|
||||||
{
|
{
|
||||||
@ -184,7 +187,9 @@ void TKlarkKent_app::main_loop()
|
|||||||
if (m.run() == K_ENTER)
|
if (m.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
report_name = m.get(F_REPORT);
|
report_name = m.get(F_REPORT);
|
||||||
|
report_name.ext("rep");
|
||||||
report_name.custom_path();
|
report_name.custom_path();
|
||||||
|
*row = report_name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,12 +205,22 @@ void TKlarkKent_app::main_loop()
|
|||||||
{
|
{
|
||||||
TReport rep;
|
TReport rep;
|
||||||
if (rep.load(report_name))
|
if (rep.load(report_name))
|
||||||
book.add(rep);
|
{
|
||||||
|
const bool ok = book.add(rep);
|
||||||
|
if (ok && arr.items() == 1) // Controlla se e' pensabile ripetere la stampa
|
||||||
|
{
|
||||||
|
TFilename msk = report_name;
|
||||||
|
msk.ext("msk");
|
||||||
|
can_repeat = msk.exist(); // Posso ripetere se ho una maschera collegata
|
||||||
|
}
|
||||||
|
else
|
||||||
|
can_repeat = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (book.pages() > 0)
|
if (book.pages() > 0)
|
||||||
book.print_or_preview();
|
book.print_or_preview();
|
||||||
|
} while (can_repeat);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ba8500(int argc, char* argv[])
|
int ba8500(int argc, char* argv[])
|
||||||
|
105
cg/cg5800b.uml
105
cg/cg5800b.uml
@ -92,126 +92,133 @@ END
|
|||||||
|
|
||||||
TEXT DLG_NULL
|
TEXT DLG_NULL
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 7 "______________________________________________________________________________"
|
PROMPT 33 7 "@bOp.Imponibili"
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
TEXT DLG_NULL
|
||||||
|
BEGIN
|
||||||
|
PROMPT 72 7 "@bImposte"
|
||||||
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(00) 18
|
CURRENCY FM_REGIMP(00) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "Non assegnati Op.Imponibili "
|
PROMPT 1 8 "Non assegnati "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(00) 18
|
CURRENCY FM_REGIVA(00) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 8 "Imposte "
|
PROMPT 51 8 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(01) 18
|
CURRENCY FM_REGIMP(01) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "VT2 Abruzzo Op.Imponibili "
|
PROMPT 1 9 "VT2 Abruzzo "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(01) 18
|
CURRENCY FM_REGIVA(01) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 9 "Imposte "
|
PROMPT 51 9 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(02) 18
|
CURRENCY FM_REGIMP(02) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "VT3 Basilicata Op.Imponibili "
|
PROMPT 1 10 "VT3 Basilicata "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(02) 18
|
CURRENCY FM_REGIVA(02) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 10 "Imposte "
|
PROMPT 51 10 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(03) 18
|
CURRENCY FM_REGIMP(03) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 11 "VT4 Bolzano Op.Imponibili "
|
PROMPT 1 11 "VT4 Bolzano "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(03) 18
|
CURRENCY FM_REGIVA(03) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 11 "Imposte "
|
PROMPT 51 11 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(04) 18
|
CURRENCY FM_REGIMP(04) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 12 "VT5 Calabria Op.Imponibili "
|
PROMPT 1 12 "VT5 Calabria "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(04) 18
|
CURRENCY FM_REGIVA(04) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 12 "Imposte "
|
PROMPT 51 12 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(05) 18
|
CURRENCY FM_REGIMP(05) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 13 "VT6 Campania Op.Imponibili "
|
PROMPT 1 13 "VT6 Campania "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(05) 18
|
CURRENCY FM_REGIVA(05) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 13 "Imposte "
|
PROMPT 51 13 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(06) 18
|
CURRENCY FM_REGIMP(06) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 14 "VT7 Emilia Rom.Op.Imponibili "
|
PROMPT 1 14 "VT7 Emilia Rom. "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(06) 18
|
CURRENCY FM_REGIVA(06) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 14 "Imposte "
|
PROMPT 51 14 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(07) 18
|
CURRENCY FM_REGIMP(07) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 15 "VT8 Friuli Op.Imponibili "
|
PROMPT 1 15 "VT8 Friuli "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(07) 18
|
CURRENCY FM_REGIVA(07) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 15 "Imposte "
|
PROMPT 51 15 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(08) 18
|
CURRENCY FM_REGIMP(08) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 16 "VT9 Lazio Op.Imponibili "
|
PROMPT 1 16 "VT9 Lazio "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(08) 18
|
CURRENCY FM_REGIVA(08) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 16 "Imposte "
|
PROMPT 51 16 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(09) 18
|
CURRENCY FM_REGIMP(09) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 17 "VT10 Liguria Op.Imponibili "
|
PROMPT 1 17 "VT10 Liguria "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(09) 18
|
CURRENCY FM_REGIVA(09) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 17 "Imposte "
|
PROMPT 51 17 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -289,126 +296,134 @@ END
|
|||||||
|
|
||||||
TEXT DLG_NULL
|
TEXT DLG_NULL
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 7 "______________________________________________________________________________"
|
PROMPT 33 7 "@bOp.Imponibili"
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
TEXT DLG_NULL
|
||||||
|
BEGIN
|
||||||
|
PROMPT 72 7 "@bImposte"
|
||||||
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(10) 18
|
CURRENCY FM_REGIMP(10) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "VT11 Lombardia Op.Imponibili "
|
PROMPT 1 8 "VT11 Lombardia "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(10) 18
|
CURRENCY FM_REGIVA(10) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 8 "Imposte "
|
PROMPT 51 8 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(11) 18
|
CURRENCY FM_REGIMP(11) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "VT12 Marche Op.Imponibili "
|
PROMPT 1 9 "VT12 Marche "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(11) 18
|
CURRENCY FM_REGIVA(11) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 9 "Imposte "
|
PROMPT 51 9 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(12) 18
|
CURRENCY FM_REGIMP(12) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "VT13 Molise Op.Imponibili "
|
PROMPT 1 10 "VT13 Molise "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(12) 18
|
CURRENCY FM_REGIVA(12) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 10 "Imposte "
|
PROMPT 51 10 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(13) 18
|
CURRENCY FM_REGIMP(13) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 11 "VT14 Piemonte Op.Imponibili "
|
PROMPT 1 11 "VT14 Piemonte "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(13) 18
|
CURRENCY FM_REGIVA(13) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 11 "Imposte "
|
PROMPT 51 11 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(14) 18
|
CURRENCY FM_REGIMP(14) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 12 "VT15 Puglia Op.Imponibili "
|
PROMPT 1 12 "VT15 Puglia "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(14) 18
|
CURRENCY FM_REGIVA(14) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 12 "Imposte "
|
PROMPT 51 12 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(15) 18
|
CURRENCY FM_REGIMP(15) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 13 "VT16 Sardegna Op.Imponibili "
|
PROMPT 1 13 "VT16 Sardegna "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(15) 18
|
CURRENCY FM_REGIVA(15) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 13 "Imposte "
|
PROMPT 51 13 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(16) 18
|
CURRENCY FM_REGIMP(16) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 14 "VT17 Sicilia Op.Imponibili "
|
PROMPT 1 14 "VT17 Sicilia "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(16) 18
|
CURRENCY FM_REGIVA(16) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 14 "Imposte "
|
PROMPT 51 14 " "
|
||||||
|
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(17) 18
|
CURRENCY FM_REGIMP(17) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 15 "VT18 Toscana Op.Imponibili "
|
PROMPT 1 15 "VT18 Toscana "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(17) 18
|
CURRENCY FM_REGIVA(17) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 15 "Imposte "
|
PROMPT 51 15 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(18) 18
|
CURRENCY FM_REGIMP(18) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 16 "VT19 Trento Op.Imponibili "
|
PROMPT 1 16 "VT19 Trento "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(18) 18
|
CURRENCY FM_REGIVA(18) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 16 "Imposte "
|
PROMPT 51 16 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(19) 18
|
CURRENCY FM_REGIMP(19) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 17 "VT20 Umbria Op.Imponibili "
|
PROMPT 1 17 "VT20 Umbria "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(19) 18
|
CURRENCY FM_REGIVA(19) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 17 "Imposte "
|
PROMPT 51 17 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -420,19 +435,19 @@ END
|
|||||||
|
|
||||||
CURRENCY FM_REGIVA(20) 18
|
CURRENCY FM_REGIVA(20) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 18 "Imposte "
|
PROMPT 51 18 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIMP(21) 18
|
CURRENCY FM_REGIMP(21) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 19 "VT21 Veneto Op.Imponibili "
|
PROMPT 1 19 "VT21 Veneto "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY FM_REGIVA(21) 18
|
CURRENCY FM_REGIVA(21) 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 19 "Imposte "
|
PROMPT 51 19 " "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -1,17 +1,13 @@
|
|||||||
|
|
||||||
<report libraries="cg5800a" name="ListaQuadroVTPriv" lpi="6">
|
<report libraries="cg5800a" name="cg5800ra" lpi="6">
|
||||||
<description>Lista privati per regione per quadro VT</description>
|
<description>Lista privati per regione per quadro VT</description>
|
||||||
<font face="Courier New" size="10" />
|
<font face="Courier New" size="10" />
|
||||||
<section type="Head">
|
<section type="Head" height="3">
|
||||||
<field type="Stringa" align="center" width="80" height="2" pattern="1">
|
<field type="Stringa" align="center" width="68" height="2" pattern="1">
|
||||||
<font face="Courier New" bold="1" size="14" />
|
<font face="Courier New" bold="1" size="12" />
|
||||||
<source>"Lista clienti privati per quadro IVA VT anno " + #ANNO</source>
|
<source>"Lista clienti privati per quadro IVA VT anno " + #ANNO</source>
|
||||||
</field>
|
</field>
|
||||||
<field border="3" y="2" type="Linea" width="80" height="0" pattern="1" />
|
<field border="3" y="2" type="Linea" width="68" height="0" pattern="1" />
|
||||||
<field y="3" type="Testo" width="16" pattern="1" text="N.Operazione" />
|
|
||||||
<field x="20" y="3" type="Testo" align="right" width="18" pattern="1" text="Imponibile" />
|
|
||||||
<field x="41" y="3" type="Testo" width="6" pattern="1" text="Cod." />
|
|
||||||
<field x="49" y="3" type="Testo" align="right" width="18" pattern="1" text="Imposta" />
|
|
||||||
</section>
|
</section>
|
||||||
<section type="Head" level="1" />
|
<section type="Head" level="1" />
|
||||||
<section type="Head" level="2" height="3">
|
<section type="Head" level="2" height="3">
|
||||||
@ -32,7 +28,7 @@
|
|||||||
</field>
|
</field>
|
||||||
<field border="1" y="2" type="Linea" width="40" height="0" pattern="1" />
|
<field border="1" y="2" type="Linea" width="40" height="0" pattern="1" />
|
||||||
</section>
|
</section>
|
||||||
<section type="Head" level="3" height="3">
|
<section type="Head" level="3" height="4">
|
||||||
<groupby>23.CODCF</groupby>
|
<groupby>23.CODCF</groupby>
|
||||||
<prescript description="H3 PRESCRIPT">0 "F3.101" !
|
<prescript description="H3 PRESCRIPT">0 "F3.101" !
|
||||||
0 "F3.102" !</prescript>
|
0 "F3.102" !</prescript>
|
||||||
@ -48,10 +44,14 @@
|
|||||||
<source>20.RAGSOC</source>
|
<source>20.RAGSOC</source>
|
||||||
</field>
|
</field>
|
||||||
<field border="1" y="2" type="Linea" width="68" height="0" pattern="1" />
|
<field border="1" y="2" type="Linea" width="68" height="0" pattern="1" />
|
||||||
|
<field x="1" y="2.25" type="Testo" width="16" pattern="1" text="N.Operazione" />
|
||||||
|
<field x="19" y="2.25" type="Testo" align="right" width="18" pattern="1" text="Imponibile" />
|
||||||
|
<field x="41" y="2.25" type="Testo" width="6" pattern="1" text="Cod." />
|
||||||
|
<field x="50" y="2.25" type="Testo" align="right" width="18" pattern="1" text="Imposta" />
|
||||||
</section>
|
</section>
|
||||||
<section type="Body" />
|
<section type="Body" />
|
||||||
<section type="Body" level="1">
|
<section type="Body" level="1">
|
||||||
<field type="Numero" align="right" width="6" pattern="1">
|
<field x="1" type="Numero" align="right" width="6" pattern="1">
|
||||||
<source>RMOVIVA.NUMREG</source>
|
<source>RMOVIVA.NUMREG</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="16" type="Valuta" align="right" width="20" pattern="1" text="###.###.###,@@">
|
<field x="16" type="Valuta" align="right" width="20" pattern="1" text="###.###.###,@@">
|
||||||
@ -61,16 +61,18 @@
|
|||||||
<field x="41" type="Stringa" width="4" pattern="1">
|
<field x="41" type="Stringa" width="4" pattern="1">
|
||||||
<source>RMOVIVA.CODIVA</source>
|
<source>RMOVIVA.CODIVA</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="49" type="Valuta" align="right" width="18" pattern="1" text="#########,@@">
|
<field x="49" type="Valuta" align="right" width="18" pattern="1" text="###.###.###,@@">
|
||||||
<source>RMOVIVA.IMPOSTA</source>
|
<source>RMOVIVA.IMPOSTA</source>
|
||||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F3.102</prescript>
|
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F3.102</prescript>
|
||||||
</field>
|
</field>
|
||||||
</section>
|
</section>
|
||||||
<section type="Foot" />
|
<section type="Foot" />
|
||||||
<section type="Foot" level="1">
|
<section type="Foot" level="1">
|
||||||
|
<field border="2" x="-0.38" y="0.5" type="Linea" width="68" height="0" pattern="1" />
|
||||||
|
<field border="2" x="-0.5" y="0.75" type="Linea" width="68" height="0" pattern="1" />
|
||||||
<field x="2" y="1" type="Testo" width="15" pattern="1" text="Totale generale" />
|
<field x="2" y="1" type="Testo" width="15" pattern="1" text="Totale generale" />
|
||||||
<field x="18" y="1" type="Valuta" align="right" width="18" id="301" pattern="1" text="###.###.###,@@" />
|
<field x="18" y="1" type="Valuta" align="right" width="18" id="301" pattern="1" text="###.###.###,@@" />
|
||||||
<field x="49" y="1" type="Valuta" align="right" width="18" id="302" pattern="1" text="###.###.###,@@">
|
<field x="50" y="1" type="Valuta" align="right" width="18" id="302" pattern="1" text="###.###.###,@@">
|
||||||
<prescript description="F1.302 PRESCRIPT">MESSAGE ADD,F1.302</prescript>
|
<prescript description="F1.302 PRESCRIPT">MESSAGE ADD,F1.302</prescript>
|
||||||
</field>
|
</field>
|
||||||
</section>
|
</section>
|
||||||
@ -79,8 +81,8 @@
|
|||||||
<field x="18" y="1" type="Valuta" align="right" width="18" id="201" pattern="1" text="###.###.###,@@">
|
<field x="18" y="1" type="Valuta" align="right" width="18" id="201" pattern="1" text="###.###.###,@@">
|
||||||
<prescript description="F2.201 PRESCRIPT">MESSAGE ADD,F1.301</prescript>
|
<prescript description="F2.201 PRESCRIPT">MESSAGE ADD,F1.301</prescript>
|
||||||
</field>
|
</field>
|
||||||
<field x="49" y="1" type="Valuta" align="right" width="18" id="202" pattern="1" text="###.###.###,@@">
|
<field x="50" y="1" type="Valuta" align="right" width="18" id="202" pattern="1" text="###.###.###,@@">
|
||||||
<prescript description="F2.202 PRESCRIPT">MESSAGE ADD,F1.202</prescript>
|
<prescript description="F2.202 PRESCRIPT">MESSAGE ADD,F1.302</prescript>
|
||||||
</field>
|
</field>
|
||||||
</section>
|
</section>
|
||||||
<section type="Foot" level="3">
|
<section type="Foot" level="3">
|
||||||
@ -88,7 +90,7 @@
|
|||||||
<field x="18" y="1" type="Valuta" align="right" width="18" id="101" pattern="1" text="###.###.###,@@">
|
<field x="18" y="1" type="Valuta" align="right" width="18" id="101" pattern="1" text="###.###.###,@@">
|
||||||
<prescript description="F3.101 PRESCRIPT">MESSAGE ADD,F2.201</prescript>
|
<prescript description="F3.101 PRESCRIPT">MESSAGE ADD,F2.201</prescript>
|
||||||
</field>
|
</field>
|
||||||
<field x="49" y="1" type="Valuta" align="right" width="18" id="102" pattern="1" text="###.###.###,@@">
|
<field x="50" y="1" type="Valuta" align="right" width="18" id="102" pattern="1" text="###.###.###,@@">
|
||||||
<prescript description="F3.102 PRESCRIPT">MESSAGE ADD,F2.202</prescript>
|
<prescript description="F3.102 PRESCRIPT">MESSAGE ADD,F2.202</prescript>
|
||||||
</field>
|
</field>
|
||||||
</section>
|
</section>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
[MAIN]
|
[MAIN]
|
||||||
DECSEP = ,
|
DECSEP = ,
|
||||||
FIELDSEP =
|
FIELDSEP =
|
||||||
RECORDSEP = \n
|
RECORDSEP =
|
||||||
RECORDSIZE = 0
|
RECORDSIZE = 250
|
||||||
SKIPLINES = 0
|
SKIPLINES = 0
|
||||||
TYPEFIELD = -1
|
TYPEFIELD = -1
|
||||||
TYPELEN = -1
|
TYPELEN = -1
|
||||||
@ -388,7 +388,6 @@ POSITION(3) = 15
|
|||||||
LENGTH(3) = 80
|
LENGTH(3) = 80
|
||||||
FIELD(3)=19->DESCR
|
FIELD(3)=19->DESCR
|
||||||
|
|
||||||
|
|
||||||
[OPZIONI]
|
[OPZIONI]
|
||||||
PERCORSO = C:\TEMP\
|
PERCORSO = C:\TEMP\
|
||||||
|
|
||||||
|
@ -258,7 +258,8 @@ bool TRecordset::save_as_silk(const char* path)
|
|||||||
for (unsigned int c = 0; c < columns(); c++)
|
for (unsigned int c = 0; c < columns(); c++)
|
||||||
{
|
{
|
||||||
const TRecordset_column_info& ci = column_info(c);
|
const TRecordset_column_info& ci = column_info(c);
|
||||||
const bool is_alpha = ci._type == _alfafld || ci._type == _charfld || ci._type == _memofld;
|
const bool is_alpha = ci._type == _alfafld || ci._type == _charfld ||
|
||||||
|
ci._type == _memofld || ci._type == _datefld;
|
||||||
|
|
||||||
out << "C;Y" << (n+2) << ";X" << (c+1) << ";K";
|
out << "C;Y" << (n+2) << ";X" << (c+1) << ";K";
|
||||||
if (is_alpha) out << '"';
|
if (is_alpha) out << '"';
|
||||||
@ -423,8 +424,9 @@ const TVariant& TRecordset::get(const char* column_name) const
|
|||||||
|
|
||||||
const TVariant& TRecordset::get_var(const char* name) const
|
const TVariant& TRecordset::get_var(const char* name) const
|
||||||
{
|
{
|
||||||
|
// Se mi accorgo che posso e voglio accedere ad un campo del recordset padre
|
||||||
if (_parentset != NULL && strncmp(name, "#PARENT.", 8) == 0)
|
if (_parentset != NULL && strncmp(name, "#PARENT.", 8) == 0)
|
||||||
return _parentset->get(name+8);
|
return _parentset->get(name+8); // Attenzione! E' giusto usare get() e non get_var()
|
||||||
|
|
||||||
const TVariant* var = (const TVariant*)_var.objptr(name);
|
const TVariant* var = (const TVariant*)_var.objptr(name);
|
||||||
return var != NULL ? *var : NULL_VARIANT;
|
return var != NULL ? *var : NULL_VARIANT;
|
||||||
|
@ -1808,8 +1808,6 @@ bool TReport_book::add(TReport& rep, bool progind)
|
|||||||
last_body_height = dy;
|
last_body_height = dy;
|
||||||
}
|
}
|
||||||
|
|
||||||
print_subsections(b);
|
|
||||||
|
|
||||||
if (column_delta > 0)
|
if (column_delta > 0)
|
||||||
_delta.x += column_delta;
|
_delta.x += column_delta;
|
||||||
else
|
else
|
||||||
@ -1818,6 +1816,9 @@ bool TReport_book::add(TReport& rep, bool progind)
|
|||||||
_delta.y += dy;
|
_delta.y += dy;
|
||||||
last_body_height = 0; // Non servirebbe strettamente
|
last_body_height = 0; // Non servirebbe strettamente
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Stampa eventuali sottosezioni
|
||||||
|
print_subsections(b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1571,6 +1571,8 @@ TBrowse_sheet::TBrowse_sheet(TCursor* cursor, const char* fields,
|
|||||||
|
|
||||||
TEditable_field* e = NULL;
|
TEditable_field* e = NULL;
|
||||||
short y = 0;
|
short y = 0;
|
||||||
|
bool first = true;
|
||||||
|
|
||||||
for (const char* i = ids.get(0); i; i = ids.get())
|
for (const char* i = ids.get(0); i; i = ids.get())
|
||||||
{
|
{
|
||||||
if (*i != '"' && strchr(i, '@') == NULL)
|
if (*i != '"' && strchr(i, '@') == NULL)
|
||||||
@ -1632,8 +1634,11 @@ TBrowse_sheet::TBrowse_sheet(TCursor* cursor, const char* fields,
|
|||||||
{
|
{
|
||||||
e->set_handler(browse_field_handler);
|
e->set_handler(browse_field_handler);
|
||||||
e->set(c.get());
|
e->set(c.get());
|
||||||
if (e->dlg() == f->dlg())
|
if (e->dlg() == f->dlg() || first)
|
||||||
|
{
|
||||||
first_focus(e->dlg());
|
first_focus(e->dlg());
|
||||||
|
first = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1991,9 +1991,7 @@ bool TMatResPlanning::load_gross_requirements()
|
|||||||
const TCodice_um um = riga.get(RDOC_UMQTA);
|
const TCodice_um um = riga.get(RDOC_UMQTA);
|
||||||
|
|
||||||
// GUY was Here, but it's Koki fault!
|
// GUY was Here, but it's Koki fault!
|
||||||
long codcli = 0;
|
const long codcli = is_production_article(art) ? doc.get_long(DOC_CODCF) : 0;
|
||||||
if (is_production_article(art))
|
|
||||||
codcli = doc.get_long(DOC_CODCF);
|
|
||||||
|
|
||||||
TPrice prz(riga.prezzo(TRUE,TRUE));
|
TPrice prz(riga.prezzo(TRUE,TRUE));
|
||||||
TQuantita q(art, um, qta);
|
TQuantita q(art, um, qta);
|
||||||
@ -2003,7 +2001,7 @@ bool TMatResPlanning::load_gross_requirements()
|
|||||||
if (line == NULL)
|
if (line == NULL)
|
||||||
{
|
{
|
||||||
// nuova linea
|
// nuova linea
|
||||||
line = _articles.find(art, liv, mag, "", imp, lin, codcli, TRUE);
|
line = _articles.find(art, liv, mag, "", imp, lin, codcli, true);
|
||||||
line->set_description(riga.get(RDOC_DESCR));
|
line->set_description(riga.get(RDOC_DESCR));
|
||||||
line->set_final_product();
|
line->set_final_product();
|
||||||
}
|
}
|
||||||
@ -2087,12 +2085,12 @@ bool TMatResPlanning::explode_articles()
|
|||||||
const TRiga_esplosione& riga = (const TRiga_esplosione&)boom[i];
|
const TRiga_esplosione& riga = (const TRiga_esplosione&)boom[i];
|
||||||
const TCodice_articolo& art = riga.articolo();
|
const TCodice_articolo& art = riga.articolo();
|
||||||
const TRectype& articolo=cache().get(LF_ANAMAG,art);
|
const TRectype& articolo=cache().get(LF_ANAMAG,art);
|
||||||
bool add=TRUE;
|
bool add=true;
|
||||||
if (!articolo.get(ANAMAG_CODART).blank())
|
if (!articolo.get(ANAMAG_CODART).blank())
|
||||||
{
|
{
|
||||||
const char reorder_type=articolo.get_char(ANAMAG_RIORDINO);
|
const char reorder_type=articolo.get_char(ANAMAG_RIORDINO);
|
||||||
if (reorder_type!='F' && reorder_type!=' ' && reorder_type!='\0') // e' a riordino
|
if (reorder_type!='F' && reorder_type!=' ' && reorder_type!='\0') // e' a riordino
|
||||||
add=FALSE;
|
add=false;
|
||||||
}
|
}
|
||||||
if (add)
|
if (add)
|
||||||
{
|
{
|
||||||
@ -2100,23 +2098,22 @@ bool TMatResPlanning::explode_articles()
|
|||||||
TString8 mag = line.codmagdep();
|
TString8 mag = line.codmagdep();
|
||||||
TString8 imp = line.codimp();
|
TString8 imp = line.codimp();
|
||||||
TString8 lin = line.codlin();
|
TString8 lin = line.codlin();
|
||||||
|
_artinfo.art2magimpline(art, mag, imp, lin);
|
||||||
|
|
||||||
// GUY was here with Koki
|
// GUY was here with Koki
|
||||||
long codcli = 0;
|
const long codcli = is_production_article(art) ? line.codclifor() : 0L;
|
||||||
if (is_production_article(art))
|
|
||||||
codcli = line.codclifor();
|
|
||||||
|
|
||||||
_artinfo.art2magimpline(art, mag, imp, lin);
|
TMRP_line* son = _articles.find(art, riga.giacenza(),mag, EMPTY_STRING, imp, lin, codcli);
|
||||||
TMRP_line* son = _articles.find(art, riga.giacenza(),mag, "", imp, lin, codcli);
|
|
||||||
if (son == NULL)
|
if (son == NULL)
|
||||||
{
|
{
|
||||||
son = _articles.find(art, riga.giacenza(), mag, "", imp, lin, codcli, TRUE);
|
son = _articles.find(art, riga.giacenza(), mag, EMPTY_STRING, imp, lin, codcli, true);
|
||||||
son->set_description(distinta.describe(art));
|
son->set_description(distinta.describe(art));
|
||||||
}
|
}
|
||||||
line.add_son(riga.val(), son);
|
const int son_depth = line.explosion_depth()+1;
|
||||||
if (riga.livello() > line.explosion_depth())
|
if (son_depth > son->explosion_depth())
|
||||||
line.set_explosion_depth(riga.livello());
|
son->set_explosion_depth(son_depth);
|
||||||
|
|
||||||
|
line.add_son(riga.val(), son);
|
||||||
distinta.describe(art);
|
distinta.describe(art);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2223,11 +2220,14 @@ bool TMatResPlanning::load_planned_orders()
|
|||||||
const TString8 mag = riga.get(RDOC_CODMAG);
|
const TString8 mag = riga.get(RDOC_CODMAG);
|
||||||
const TString8 imp = riga.get(RDOC_IMPIANTO);
|
const TString8 imp = riga.get(RDOC_IMPIANTO);
|
||||||
const TString8 lin = riga.get(RDOC_LINEA);
|
const TString8 lin = riga.get(RDOC_LINEA);
|
||||||
const long clifor = doc.get_long(DOC_CODCF);
|
|
||||||
TMRP_line* line = _articles.find(art, liv, mag, "", imp, lin, 0L);
|
// GUY was Here, but it's Koki fault!
|
||||||
|
const long codcli = is_production_article(art) ? doc.get_long(DOC_CODCF) : 0;
|
||||||
|
|
||||||
|
TMRP_line* line = _articles.find(art, liv, mag, "", imp, lin, codcli);
|
||||||
if (line == NULL)
|
if (line == NULL)
|
||||||
{
|
{
|
||||||
line = _articles.find(art, liv, mag, "", imp, lin, 0L, TRUE);
|
line = _articles.find(art, liv, mag, "", imp, lin, codcli, TRUE);
|
||||||
line->set_description(riga.get(RDOC_DESCR));
|
line->set_description(riga.get(RDOC_DESCR));
|
||||||
}
|
}
|
||||||
TPrice prz(riga.prezzo(TRUE,TRUE));
|
TPrice prz(riga.prezzo(TRUE,TRUE));
|
||||||
@ -2298,9 +2298,6 @@ bool TMatResPlanning::gross2net_logic(TMRP_line &curr_article, int bucket, bool
|
|||||||
|
|
||||||
// Verifico se esiste gia' un fabbisogno netto
|
// Verifico se esiste gia' un fabbisogno netto
|
||||||
real sm,tmpreal = -curr_article.net_requirement(bucket);
|
real sm,tmpreal = -curr_article.net_requirement(bucket);
|
||||||
#ifdef DBG
|
|
||||||
TString80 s;
|
|
||||||
#endif
|
|
||||||
if (tmpreal >= ZERO) // Devo calcolare il fabbisogno netto
|
if (tmpreal >= ZERO) // Devo calcolare il fabbisogno netto
|
||||||
{
|
{
|
||||||
tmpreal = curr_article.on_hand(bucket);
|
tmpreal = curr_article.on_hand(bucket);
|
||||||
@ -2715,7 +2712,7 @@ bool TMatResPlanning::print_risalita(const TMRP_line & line, const TDate &date,
|
|||||||
TPrinter& pr = printer();
|
TPrinter& pr = printer();
|
||||||
TDate todate(date);
|
TDate todate(date);
|
||||||
TDate fromdate = todate;
|
TDate fromdate = todate;
|
||||||
const bool isbuck0 = (round_date(fromdate) == 0);
|
const bool isbuck0 = round_date(fromdate) == 0;
|
||||||
round_date(todate,TRUE);
|
round_date(todate,TRUE);
|
||||||
int rows=0;
|
int rows=0;
|
||||||
//int extraleadtime = _mask->get_int(F_XTRA_LDTIME);
|
//int extraleadtime = _mask->get_int(F_XTRA_LDTIME);
|
||||||
@ -2877,6 +2874,8 @@ int TMatResPlanning::print_internal_ref(const TMRP_internalref &iref, int backle
|
|||||||
int TMatResPlanning::print_gross_ref(const TMRP_line& line, int bucket)
|
int TMatResPlanning::print_gross_ref(const TMRP_line& line, int bucket)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
// Guy: a cosa serve ????????????????????????????????????????????????
|
||||||
TPrinter& pr = printer();
|
TPrinter& pr = printer();
|
||||||
|
|
||||||
TToken_string dockey;
|
TToken_string dockey;
|
||||||
@ -2886,7 +2885,7 @@ return 0;
|
|||||||
TMRP_time doc_time;
|
TMRP_time doc_time;
|
||||||
line.lead_time(bucket,doc_time, TRUE);
|
line.lead_time(bucket,doc_time, TRUE);
|
||||||
TPrintrow r;
|
TPrintrow r;
|
||||||
//const TString & codnum = docref->codnumdoc();
|
|
||||||
TMRP_docref * docref = NULL;
|
TMRP_docref * docref = NULL;
|
||||||
TMRP_docrefs * gr_refs= line.record(bucket).requirements_refs();
|
TMRP_docrefs * gr_refs= line.record(bucket).requirements_refs();
|
||||||
int grref = gr_refs ? gr_refs->items() : 0;
|
int grref = gr_refs ? gr_refs->items() : 0;
|
||||||
@ -2986,11 +2985,23 @@ const TRectype* TMatResPlanning::irefs2rdoc(const TMRP_internalrefs& irefs) cons
|
|||||||
}
|
}
|
||||||
if (refs != NULL && refs->items() > 0)
|
if (refs != NULL && refs->items() > 0)
|
||||||
{
|
{
|
||||||
const TMRP_docref& docref = *refs->get_ref_ptr(0);
|
for (int j = refs->last(); j >= 0; j--)
|
||||||
|
{
|
||||||
|
const TMRP_docref& docref = *refs->get_ref_ptr(j);
|
||||||
|
if (docref.numrig() > 0)
|
||||||
rdoc = &docref.get_rdoc();
|
rdoc = &docref.get_rdoc();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Quin comincia la magia, perche' differente dalla risalita standard
|
||||||
|
if (rdoc == NULL)
|
||||||
|
{
|
||||||
|
const TMRP_internalrefs* inter = rec.internal_refs();
|
||||||
|
if (inter != NULL && inter->items() > 0)
|
||||||
|
rdoc = irefs2rdoc(*inter);
|
||||||
|
}
|
||||||
|
}
|
||||||
return rdoc;
|
return rdoc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3169,6 +3180,10 @@ bool TMatResPlanning::emit_orders()
|
|||||||
TMRP_line* line = find_risalita_line(riga); // ... cerco la riga di risalita
|
TMRP_line* line = find_risalita_line(riga); // ... cerco la riga di risalita
|
||||||
if (line != NULL)
|
if (line != NULL)
|
||||||
{
|
{
|
||||||
|
const int depth = line->explosion_depth()+1; // Profondita' esplosione (+1 per non avere zeri)
|
||||||
|
rdoc.put(RDOC_QTAGG5, depth); // Per ora memorizziamo in QTAGG5, scelto a caso
|
||||||
|
|
||||||
|
// Cerco la riga di risalita
|
||||||
for (int bucket = line->last_bucket(); bucket >= 0; bucket--)
|
for (int bucket = line->last_bucket(); bucket >= 0; bucket--)
|
||||||
{
|
{
|
||||||
const TRectype* dardoc = NULL;
|
const TRectype* dardoc = NULL;
|
||||||
@ -3187,7 +3202,6 @@ bool TMatResPlanning::emit_orders()
|
|||||||
if (dardoc != NULL)
|
if (dardoc != NULL)
|
||||||
{
|
{
|
||||||
rdoc.set_original_rdoc_key(*dardoc); // Imposto DAPROVV, DAANNO, DACODNUM, DANDOC, DAIDRIGA
|
rdoc.set_original_rdoc_key(*dardoc); // Imposto DAPROVV, DAANNO, DACODNUM, DANDOC, DAIDRIGA
|
||||||
rdoc.put(RDOC_QTAGG5, line->explosion_depth()); // Memorizzo la profondita' di esplosione
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,21 @@ Package=<4>
|
|||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "ps0920"=.\ps0920.dsp - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name AgaLib
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
Global:
|
Global:
|
||||||
|
|
||||||
Package=<5>
|
Package=<5>
|
||||||
|
@ -147,10 +147,20 @@ SOURCE=..\ps\ps0872200a.uml
|
|||||||
|
|
||||||
!IF "$(CFG)" == "ps0872 - Win32 Release"
|
!IF "$(CFG)" == "ps0872 - Win32 Release"
|
||||||
|
|
||||||
|
# Begin Custom Build - Compiling mask $(InputPath)...
|
||||||
|
TargetDir=D:\Release\Campo21
|
||||||
|
InputPath=..\ps\ps0872200a.uml
|
||||||
|
InputName=ps0872200a
|
||||||
|
|
||||||
|
"$(TargetDir)\$(InputName).msk" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||||
|
msk32 $(InputPath) $(TargetDir)\$(InputName).msk
|
||||||
|
|
||||||
|
# End Custom Build
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "ps0872 - Win32 Debug"
|
!ELSEIF "$(CFG)" == "ps0872 - Win32 Debug"
|
||||||
|
|
||||||
# Begin Custom Build - Compiling mask $(InputPath)
|
# Begin Custom Build - Compiling mask $(InputPath)...
|
||||||
TargetDir=\u\D_02_01\exed
|
TargetDir=\U\Luca\D_02_01\exed
|
||||||
InputPath=..\ps\ps0872200a.uml
|
InputPath=..\ps\ps0872200a.uml
|
||||||
InputName=ps0872200a
|
InputName=ps0872200a
|
||||||
|
|
||||||
|
171
projects/ps0920.dsp
Executable file
171
projects/ps0920.dsp
Executable file
@ -0,0 +1,171 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="ps0920" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||||
|
|
||||||
|
CFG=ps0920 - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "ps0920.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "ps0920.mak" CFG="ps0920 - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "ps0920 - Win32 Release" (based on "Win32 (x86) Application")
|
||||||
|
!MESSAGE "ps0920 - Win32 Debug" (based on "Win32 (x86) Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=xicl6.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "ps0920 - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "..\release"
|
||||||
|
# PROP Intermediate_Dir "..\release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MT /W3 /O2 /I "..\include" /I "..\xvaga" /I "..\xi" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "XVT" /FD /c
|
||||||
|
# SUBTRACT CPP /YX
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
||||||
|
# ADD BASE RSC /l 0x410 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x410 /i "..\..\wx240\include" /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=xilink6.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
||||||
|
# ADD LINK32 version.lib wsock32.lib kernel32.lib gdi32.lib user32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib comctl32.lib rpcrt4.lib winspool.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /out:"D:\Release\Campo21/ps0920.exe"
|
||||||
|
# SUBTRACT LINK32 /map /debug /nodefaultlib
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "ps0920 - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "..\debug"
|
||||||
|
# PROP Intermediate_Dir "..\debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "..\include" /I "..\xvaga" /I "..\xi" /D "_DEBUG" /D "WIN32" /D "DBG" /D "_WINDOWS" /FR /FD /c
|
||||||
|
# SUBTRACT CPP /YX
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
||||||
|
# ADD BASE RSC /l 0x410 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x410 /i "..\..\wx240\include" /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=xilink6.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 version.lib wsock32.lib kernel32.lib gdi32.lib user32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib comctl32.lib rpcrt4.lib winspool.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc.lib" /out:"..\exed\ps0920.exe" /pdbtype:sept
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "ps0920 - Win32 Release"
|
||||||
|
# Name "ps0920 - Win32 Debug"
|
||||||
|
# Begin Group "Sources"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\ps\ps0920.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\ps\ps0920100.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Masks"
|
||||||
|
|
||||||
|
# PROP Default_Filter "uml"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\ps\ps0920100a.uml
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "ps0920 - Win32 Release"
|
||||||
|
|
||||||
|
# Begin Custom Build - Compiling mask $(InputPath)...
|
||||||
|
TargetDir=D:\Release\Campo21
|
||||||
|
InputPath=..\ps\ps0920100a.uml
|
||||||
|
InputName=ps0920100a
|
||||||
|
|
||||||
|
"$(TargetDir)\$(InputName).msk" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||||
|
msk32 $(InputPath) $(TargetDir)\$(InputName).msk
|
||||||
|
|
||||||
|
# End Custom Build
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "ps0920 - Win32 Debug"
|
||||||
|
|
||||||
|
# Begin Custom Build - Compiling mask $(InputPath)...
|
||||||
|
TargetDir=\u\D_02_01\exed
|
||||||
|
InputPath=..\ps\ps0920100a.uml
|
||||||
|
InputName=ps0920100a
|
||||||
|
|
||||||
|
"$(TargetDir)\$(InputName).msk" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||||
|
msk32 $(InputPath) $(TargetDir)\$(InputName).msk
|
||||||
|
|
||||||
|
# End Custom Build
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Headers"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\ps\ps0920.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\ps\ps0920100a.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\ps0920.rc
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "ps0920 - Win32 Release"
|
||||||
|
|
||||||
|
# ADD BASE RSC /l 0x410
|
||||||
|
# ADD RSC /l 0x410
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "ps0920 - Win32 Debug"
|
||||||
|
|
||||||
|
# ADD BASE RSC /l 0x410
|
||||||
|
# ADD RSC /l 0x410 /fo"..\Debug/ps0920.res"
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# End Target
|
||||||
|
# End Project
|
4
projects/ps0920.rc
Executable file
4
projects/ps0920.rc
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
"9012" ICON DISCARDABLE "../exed/res/exe.ico"
|
||||||
|
|
||||||
|
rcinclude ../../wx240/include/wx/msw/wx.rc
|
||||||
|
|
@ -1937,8 +1937,8 @@ bool TStampaDoc_application::create()
|
|||||||
_firmrel= new TRelation(LF_NDITTE); // istanziamento e impostazione della relazione di gestione della ditta corrente
|
_firmrel= new TRelation(LF_NDITTE); // istanziamento e impostazione della relazione di gestione della ditta corrente
|
||||||
_firmrel->add(LF_ANAG, "TIPOA=TIPOA|CODANAGR=CODANAGR");
|
_firmrel->add(LF_ANAG, "TIPOA=TIPOA|CODANAGR=CODANAGR");
|
||||||
_firmrel->add(LF_UNLOC,"CODDITTA=CODDITTA"); // si posiziona sulla prima unita' locale della ditta
|
_firmrel->add(LF_UNLOC,"CODDITTA=CODDITTA"); // si posiziona sulla prima unita' locale della ditta
|
||||||
_firmrel->add(LF_COMUNI, "COM=STATORES+COMRES", 1, LF_ANAG, 100+LF_COMUNI);
|
_firmrel->add(LF_COMUNI, "STATO=STATORES|COM=COMRES", 1, LF_ANAG, 100+LF_COMUNI);
|
||||||
_firmrel->add(LF_COMUNI, "COM=STATORES+COMRF", 1, LF_ANAG, 200+LF_COMUNI);
|
_firmrel->add(LF_COMUNI, "STATO=STATORES|COM=COMRF", 1, LF_ANAG, 200+LF_COMUNI);
|
||||||
open_files(LF_TABCOM, LF_TAB, LF_OCCAS, LF_CLIFO, LF_INDSP, LF_CFVEN, LF_MOVMAG, LF_RMOVMAG, LF_CONDV, LF_ANAMAG , LF_SVRIEP, LF_AGENTI, LF_PERCPROV, LF_CAUSALI, 0);
|
open_files(LF_TABCOM, LF_TAB, LF_OCCAS, LF_CLIFO, LF_INDSP, LF_CFVEN, LF_MOVMAG, LF_RMOVMAG, LF_CONDV, LF_ANAMAG , LF_SVRIEP, LF_AGENTI, LF_PERCPROV, LF_CAUSALI, 0);
|
||||||
const int argc = TApplication::argc();
|
const int argc = TApplication::argc();
|
||||||
|
|
||||||
|
@ -721,8 +721,8 @@ TReport_doc::TReport_doc(const char* name)
|
|||||||
// istanziamento e impostazione della relazione di gestione della ditta corrente
|
// istanziamento e impostazione della relazione di gestione della ditta corrente
|
||||||
_firmrel.add(LF_ANAG, "TIPOA=TIPOA|CODANAGR=CODANAGR");
|
_firmrel.add(LF_ANAG, "TIPOA=TIPOA|CODANAGR=CODANAGR");
|
||||||
_firmrel.add(LF_UNLOC,"CODDITTA=CODDITTA"); // si posiziona sulla prima unita' locale della ditta
|
_firmrel.add(LF_UNLOC,"CODDITTA=CODDITTA"); // si posiziona sulla prima unita' locale della ditta
|
||||||
_firmrel.add(LF_COMUNI, "COM=STATORES+COMRES", 1, LF_ANAG, 100+LF_COMUNI);
|
_firmrel.add(LF_COMUNI, "STATO=STATORES|COM=COMRES", 1, LF_ANAG, 100+LF_COMUNI);
|
||||||
_firmrel.add(LF_COMUNI, "COM=STATORES+COMRF", 1, LF_ANAG, 200+LF_COMUNI);
|
_firmrel.add(LF_COMUNI, "STATO=STATORES|COM=COMRF", 1, LF_ANAG, 200+LF_COMUNI);
|
||||||
_firmrel.curr().put(NDT_CODDITTA, prefix().get_codditta());
|
_firmrel.curr().put(NDT_CODDITTA, prefix().get_codditta());
|
||||||
_firmrel.read();
|
_firmrel.read();
|
||||||
|
|
||||||
|
@ -172,11 +172,18 @@ void TRDoc2JBI::transfer()
|
|||||||
else if (tipodoc == 3)
|
else if (tipodoc == 3)
|
||||||
tipo = 'O';
|
tipo = 'O';
|
||||||
if (tipo != ' ')
|
if (tipo != ' ')
|
||||||
|
{
|
||||||
|
const int nriga = cur.curr().get_int(RDOC_NRIGA);
|
||||||
|
TRiga_documento& rigadoc = (*doc)[nriga];
|
||||||
|
const real qta = cur.curr().get_real(RDOC_QTA);
|
||||||
|
real importo = rigadoc.importo(FALSE, FALSE);
|
||||||
|
if (!qta.is_zero() || !importo.is_zero())
|
||||||
{
|
{
|
||||||
filerdoc.zero();
|
filerdoc.zero();
|
||||||
filerdoc.put("CODDITTA", get_firm()); // ditta
|
filerdoc.put("CODDITTA", get_firm()); // ditta
|
||||||
filerdoc.put("TIPO", tipo); // tipologia documento
|
filerdoc.put("TIPO", tipo); // tipologia documento
|
||||||
filerdoc.put("DATADOC", cur.curr(LF_DOC).get(DOC_DATADOC)); // data doc.
|
TDate data = cur.curr(LF_DOC).get(DOC_DATADOC);
|
||||||
|
filerdoc.put("DATADOC", data.string()); // data doc.
|
||||||
// record anamag
|
// record anamag
|
||||||
const TRectype& rec_anamag = cache().get(LF_ANAMAG, cur.curr().get(RDOC_CODARTMAG));
|
const TRectype& rec_anamag = cache().get(LF_ANAMAG, cur.curr().get(RDOC_CODARTMAG));
|
||||||
// record clifo e cfven
|
// record clifo e cfven
|
||||||
@ -202,7 +209,7 @@ void TRDoc2JBI::transfer()
|
|||||||
if (tmp.empty())
|
if (tmp.empty())
|
||||||
tmp = rec_cfven.get(CFV_CODZONA);
|
tmp = rec_cfven.get(CFV_CODZONA);
|
||||||
filerdoc.put("ZONA", tmp); // zona
|
filerdoc.put("ZONA", tmp); // zona
|
||||||
filerdoc.put("REGIONE", rec_comuni.get(COM_UFFREG)); // regione
|
filerdoc.put("REGIONE", rec_comuni.get("CODREG")); // regione
|
||||||
filerdoc.put("PROV", rec_comuni.get(COM_PROVCOM)); // provincia
|
filerdoc.put("PROV", rec_comuni.get(COM_PROVCOM)); // provincia
|
||||||
tmp = cur.curr(LF_DOC).get(DOC_CATVEN);
|
tmp = cur.curr(LF_DOC).get(DOC_CATVEN);
|
||||||
if (tmp.empty())
|
if (tmp.empty())
|
||||||
@ -216,12 +223,12 @@ void TRDoc2JBI::transfer()
|
|||||||
filerdoc.put("CODART", cur.curr().get(RDOC_CODARTMAG)); // codice articolo
|
filerdoc.put("CODART", cur.curr().get(RDOC_CODARTMAG)); // codice articolo
|
||||||
filerdoc.put("TIPODOC", cur.curr(LF_DOC).get(DOC_TIPODOC)); // tipo documento
|
filerdoc.put("TIPODOC", cur.curr(LF_DOC).get(DOC_TIPODOC)); // tipo documento
|
||||||
filerdoc.put("QTA", cur.curr().get(RDOC_QTA)); // quantita
|
filerdoc.put("QTA", cur.curr().get(RDOC_QTA)); // quantita
|
||||||
filerdoc.put("IMPORTO", "");
|
filerdoc.put("IMPORTO", importo);
|
||||||
filerdoc.put("SCONTATO", "");
|
importo = rigadoc.importo(TRUE, FALSE);
|
||||||
|
filerdoc.put("SCONTATO", importo);
|
||||||
update_tab(filetab, filerdoc.curr());
|
update_tab(filetab, filerdoc.curr());
|
||||||
|
|
||||||
err = filerdoc.write();
|
err = filerdoc.write();
|
||||||
|
|
||||||
}
|
}
|
||||||
if (err != NOERR)
|
if (err != NOERR)
|
||||||
error_box("Errore %d in scrittura file dbf. Elaborazione non terminata.", err);
|
error_box("Errore %d in scrittura file dbf. Elaborazione non terminata.", err);
|
||||||
|
@ -1134,11 +1134,8 @@ protected:
|
|||||||
TImporto get_cg_imp(int n);
|
TImporto get_cg_imp(int n);
|
||||||
// Setta l'importo della riga n
|
// Setta l'importo della riga n
|
||||||
void set_cg_imp(int n, const TImporto& imp);
|
void set_cg_imp(int n, const TImporto& imp);
|
||||||
// verifica se il movimento e' quadrato oppure ha qualche maledetto sbilancio
|
|
||||||
// ritorna TRUE, ovviamente, se everything's alright.
|
|
||||||
public:
|
public:
|
||||||
// ricalcola le righe di contabilita' dalle righe iva presenti
|
|
||||||
// e verifica la quadratura del movimento. Ritorna TRUE se il movimento e' scrivibile
|
|
||||||
void set_caus(TCausale * c) { _caus = c;}
|
void set_caus(TCausale * c) { _caus = c;}
|
||||||
bool movement_ok() ;
|
bool movement_ok() ;
|
||||||
void add_row_re(int i);
|
void add_row_re(int i);
|
||||||
@ -1187,7 +1184,6 @@ class TContabilizzazione : public TElaborazione // velib04b
|
|||||||
*_rfa, // tabella raggruppamenti fiscali
|
*_rfa, // tabella raggruppamenti fiscali
|
||||||
*_cve, // tabella categorie di vendita
|
*_cve, // tabella categorie di vendita
|
||||||
*_val, // tabella valute estere
|
*_val, // tabella valute estere
|
||||||
*_tri, // tabella tipi di riga
|
|
||||||
*_prs, // tabella prestazioni
|
*_prs, // tabella prestazioni
|
||||||
*_spp, // tabella spese
|
*_spp, // tabella spese
|
||||||
*_caa, // tabella categorie acquisto articoli
|
*_caa, // tabella categorie acquisto articoli
|
||||||
@ -1261,6 +1257,8 @@ protected:
|
|||||||
bool sc_enabled() const ;
|
bool sc_enabled() const ;
|
||||||
// Ritorna TRUE se il modulo INTRA e' abilitato (verifica anche la causale del documento corrente)
|
// Ritorna TRUE se il modulo INTRA e' abilitato (verifica anche la causale del documento corrente)
|
||||||
bool in_enabled() const ;
|
bool in_enabled() const ;
|
||||||
|
// Controlla se il tipo riga esiste
|
||||||
|
bool valid_row_type(const char* rt) const;
|
||||||
public:
|
public:
|
||||||
// Cambia lo stato del documento
|
// Cambia lo stato del documento
|
||||||
error_type change_doc_status(TDocumento&);
|
error_type change_doc_status(TDocumento&);
|
||||||
|
@ -248,8 +248,8 @@ const TSpesa_prest & TRiga_documento::spesa() const
|
|||||||
|
|
||||||
test_firm();
|
test_firm();
|
||||||
|
|
||||||
const TString16 codice(get("CODART"));
|
const TString80 codice(get("CODART"));
|
||||||
TString16 index; index << tipor << codice;
|
TString80 index; index << tipor << codice;
|
||||||
|
|
||||||
TSpesa_prest * s = (TSpesa_prest *) _spese.objptr(index);
|
TSpesa_prest * s = (TSpesa_prest *) _spese.objptr(index);
|
||||||
if (s == NULL)
|
if (s == NULL)
|
||||||
|
@ -903,7 +903,6 @@ TContabilizzazione::TContabilizzazione(const char* cod)
|
|||||||
_saldi = new TLocalisamfile(LF_SALDI);
|
_saldi = new TLocalisamfile(LF_SALDI);
|
||||||
|
|
||||||
_cpg = new TTable("%CPG");
|
_cpg = new TTable("%CPG");
|
||||||
_tri = new TTable("%TRI");
|
|
||||||
_val = new TTable("%VAL");
|
_val = new TTable("%VAL");
|
||||||
_prs = new TTable("PRS");
|
_prs = new TTable("PRS");
|
||||||
_spp = new TTable("SPP");
|
_spp = new TTable("SPP");
|
||||||
@ -942,7 +941,6 @@ TContabilizzazione::TContabilizzazione(const TRectype& rec)
|
|||||||
_saldi = new TLocalisamfile(LF_SALDI);
|
_saldi = new TLocalisamfile(LF_SALDI);
|
||||||
|
|
||||||
_cpg = new TTable("%CPG");
|
_cpg = new TTable("%CPG");
|
||||||
_tri = new TTable("%TRI");
|
|
||||||
_val = new TTable("%VAL");
|
_val = new TTable("%VAL");
|
||||||
_prs = new TTable("PRS");
|
_prs = new TTable("PRS");
|
||||||
_spp = new TTable("SPP");
|
_spp = new TTable("SPP");
|
||||||
@ -968,7 +966,6 @@ TContabilizzazione::~TContabilizzazione()
|
|||||||
{
|
{
|
||||||
delete _clifo;
|
delete _clifo;
|
||||||
delete _cpg;
|
delete _cpg;
|
||||||
delete _tri;
|
|
||||||
delete _val;
|
delete _val;
|
||||||
delete _gmc;
|
delete _gmc;
|
||||||
delete _rfa;
|
delete _rfa;
|
||||||
@ -1374,6 +1371,10 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
|||||||
mov_rec.put(MOV_TIPO,tipocf);
|
mov_rec.put(MOV_TIPO,tipocf);
|
||||||
mov_rec.put(MOV_CODCF,codcf);
|
mov_rec.put(MOV_CODCF,codcf);
|
||||||
mov_rec.put(MOV_OCFPI,occas);
|
mov_rec.put(MOV_OCFPI,occas);
|
||||||
|
|
||||||
|
TString4 codvali;
|
||||||
|
real cambioi;
|
||||||
|
|
||||||
if (_caus->iva() == iva_acquisti)
|
if (_caus->iva() == iva_acquisti)
|
||||||
{
|
{
|
||||||
const TString16 tdoc_cont(doc.tipo().totale_doc_cont());
|
const TString16 tdoc_cont(doc.tipo().totale_doc_cont());
|
||||||
@ -1388,8 +1389,8 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
|||||||
imposta.change_to_firm_val();
|
imposta.change_to_firm_val();
|
||||||
mov_rec.put(MOV_RITFIS, imposta.get_num());
|
mov_rec.put(MOV_RITFIS, imposta.get_num());
|
||||||
|
|
||||||
TString4 codvali(_clifo->curr().get("VALINTRA"));
|
codvali = _clifo->curr().get("VALINTRA");
|
||||||
real cambioi = cambio;
|
cambioi = cambio;
|
||||||
if (codvali.not_empty() && codvali != codval)
|
if (codvali.not_empty() && codvali != codval)
|
||||||
{
|
{
|
||||||
mov_rec.put(MOV_CODVALI,codvali);
|
mov_rec.put(MOV_CODVALI,codvali);
|
||||||
@ -1399,25 +1400,37 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
codvali = codval;
|
||||||
|
cambioi = cambio;
|
||||||
|
if (_caus->valintra() && codvali.empty())
|
||||||
|
{
|
||||||
|
codvali = TCurrency::get_firm_val();
|
||||||
|
|
||||||
|
if (codvali.empty())
|
||||||
|
codvali = TCurrency::get_euro_val();
|
||||||
|
cambioi = 1.00;
|
||||||
|
}
|
||||||
|
|
||||||
mov_rec.put(MOV_CODVALI,codval);
|
mov_rec.put(MOV_CODVALI,codval);
|
||||||
mov_rec.put(MOV_CAMBIOI,cambio);
|
mov_rec.put(MOV_CAMBIOI,cambioi);
|
||||||
codvali = codval;
|
codvali = codval;
|
||||||
}
|
}
|
||||||
TCurrency corrval(totdocval);
|
TCurrency corrval(totdocval);
|
||||||
TCurrency corrlire(corrval);
|
TCurrency corrlire(corrval);
|
||||||
corrval.change_value(codvali, cambioi);
|
corrval.change_value(codvali, cambioi);
|
||||||
corrlire.change_to_firm_val();
|
corrlire.change_to_firm_val();
|
||||||
if (::is_true_value(codvali))
|
|
||||||
{
|
|
||||||
mov_rec.put(MOV_CORRLIRE,corrlire.get_num());
|
mov_rec.put(MOV_CORRLIRE,corrlire.get_num());
|
||||||
|
if (_caus->valintra())
|
||||||
mov_rec.put(MOV_CORRVALUTA,corrval.get_num());
|
mov_rec.put(MOV_CORRVALUTA,corrval.get_num());
|
||||||
}
|
|
||||||
else
|
|
||||||
mov_rec.put(MOV_CORRLIRE,corrval.get_num());
|
|
||||||
|
|
||||||
TDate dataintra = data_reg;
|
TDate dataintra = data_reg;
|
||||||
|
|
||||||
if (doc.tipo().nota_credito())
|
if (doc.tipo().nota_credito())
|
||||||
dataintra = doc.get_date(DOC_DATADOCRIF);
|
{
|
||||||
|
TDate d = doc.get_date(DOC_DATADOCRIF);
|
||||||
|
if (d.ok())
|
||||||
|
dataintra = d;
|
||||||
|
}
|
||||||
mov_rec.put(MOV_DATACOMPI, dataintra);
|
mov_rec.put(MOV_DATACOMPI, dataintra);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1428,20 +1441,32 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
|||||||
TCurrency corrval(totdocval);
|
TCurrency corrval(totdocval);
|
||||||
TCurrency corrlire(corrval);
|
TCurrency corrlire(corrval);
|
||||||
|
|
||||||
mov_rec.put(MOV_CODVALI,codval);
|
codvali = codval;
|
||||||
mov_rec.put(MOV_CAMBIOI,cambio);
|
cambioi = cambio;
|
||||||
corrlire.change_to_firm_val();
|
if (_caus->valintra() && codvali.empty())
|
||||||
if (::is_true_value(codval))
|
|
||||||
{
|
{
|
||||||
mov_rec.put(MOV_CORRLIRE,corrlire.get_num());
|
codvali = TCurrency::get_firm_val();
|
||||||
mov_rec.put(MOV_CORRVALUTA,corrval.get_num());
|
|
||||||
|
if (codvali.empty())
|
||||||
|
codvali = TCurrency::get_euro_val();
|
||||||
|
cambioi = 1.00;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
mov_rec.put(MOV_CORRLIRE,corrval.get_num());
|
mov_rec.put(MOV_CODVALI,codvali);
|
||||||
|
mov_rec.put(MOV_CAMBIOI,cambioi);
|
||||||
|
corrlire.change_to_firm_val();
|
||||||
|
mov_rec.put(MOV_CORRLIRE,corrlire.get_num());
|
||||||
|
if (_caus->valintra())
|
||||||
|
mov_rec.put(MOV_CORRVALUTA,corrval.get_num());
|
||||||
|
|
||||||
TDate dataintra = data_reg;
|
TDate dataintra = data_reg;
|
||||||
|
|
||||||
if (doc.tipo().nota_credito())
|
if (doc.tipo().nota_credito())
|
||||||
dataintra = doc.get_date(DOC_DATADOCRIF);
|
{
|
||||||
|
TDate d = doc.get_date(DOC_DATADOCRIF);
|
||||||
|
if (d.ok())
|
||||||
|
dataintra = d;
|
||||||
|
}
|
||||||
mov_rec.put(MOV_DATACOMPI, dataintra);
|
mov_rec.put(MOV_DATACOMPI, dataintra);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2192,6 +2217,12 @@ error_type TContabilizzazione::create_total_doc_row(TDocumento& doc)
|
|||||||
return _error;
|
return _error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TContabilizzazione::valid_row_type(const char* rt) const
|
||||||
|
{
|
||||||
|
const TRectype& tri = cache().get("%TRI", rt);
|
||||||
|
return !tri.empty();
|
||||||
|
}
|
||||||
|
|
||||||
error_type TContabilizzazione::compile_rows_mov(TDocumento& doc)
|
error_type TContabilizzazione::compile_rows_mov(TDocumento& doc)
|
||||||
// Compila le righe
|
// Compila le righe
|
||||||
{
|
{
|
||||||
@ -2220,8 +2251,7 @@ error_type TContabilizzazione::compile_rows_mov(TDocumento& doc)
|
|||||||
{
|
{
|
||||||
TRiga_documento& r = doc[i];
|
TRiga_documento& r = doc[i];
|
||||||
tiporiga = r.get(RDOC_TIPORIGA);
|
tiporiga = r.get(RDOC_TIPORIGA);
|
||||||
_tri->put("CODTAB",tiporiga);
|
if (valid_row_type(tiporiga)) // controlla l'esistenza della riga
|
||||||
if (_tri->read() == NOERR) // controlla l'esistenza della riga
|
|
||||||
{
|
{
|
||||||
TBill conto;
|
TBill conto;
|
||||||
const char tipo = r.tipo().tipo();
|
const char tipo = r.tipo().tipo();
|
||||||
@ -2232,6 +2262,9 @@ error_type TContabilizzazione::compile_rows_mov(TDocumento& doc)
|
|||||||
const bool spesa = r.tipo().tipo() == RIGA_SPESEDOC;
|
const bool spesa = r.tipo().tipo() == RIGA_SPESEDOC;
|
||||||
char tipo_rit = '\0';
|
char tipo_rit = '\0';
|
||||||
|
|
||||||
|
if (!riga_omaggio && r.imponibile().is_zero())
|
||||||
|
continue;
|
||||||
|
|
||||||
if (spesa)
|
if (spesa)
|
||||||
tipo_rit = r.spesa().tipo_ritenuta();
|
tipo_rit = r.spesa().tipo_ritenuta();
|
||||||
|
|
||||||
@ -2380,8 +2413,7 @@ error_type TContabilizzazione::compile_rows_mov_re(TDocumento& doc)
|
|||||||
{
|
{
|
||||||
TRiga_documento & r = doc[i];
|
TRiga_documento & r = doc[i];
|
||||||
tiporiga = r.get(RDOC_TIPORIGA);
|
tiporiga = r.get(RDOC_TIPORIGA);
|
||||||
_tri->put("CODTAB",tiporiga);
|
if (valid_row_type(tiporiga)) // controlla l'esistenza della riga
|
||||||
if (_tri->read() == NOERR) // controlla l'esistenza della riga
|
|
||||||
{
|
{
|
||||||
TBill conto;
|
TBill conto;
|
||||||
const char tipo = r.tipo().tipo();
|
const char tipo = r.tipo().tipo();
|
||||||
@ -3315,6 +3347,9 @@ error_type TContabilizzazione::write_intra(TDocumento& doc)
|
|||||||
if (freq.compare_periodo(data_intra, data_reg, tipo_intra) < 0)
|
if (freq.compare_periodo(data_intra, data_reg, tipo_intra) < 0)
|
||||||
{
|
{
|
||||||
_error = intra_rett_error;
|
_error = intra_rett_error;
|
||||||
|
display_error(doc);
|
||||||
|
_error = no_error;
|
||||||
|
|
||||||
return _error; // Non posso fare movimenti ma devo fare rettifiche
|
return _error; // Non posso fare movimenti ma devo fare rettifiche
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3498,6 +3533,7 @@ error_type TContabilizzazione::write_intra(TDocumento& doc)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
intra.put("CODVAL", codvali);
|
intra.put("CODVAL", codvali);
|
||||||
|
|
||||||
intra.put("CAMBIO", cambioi);
|
intra.put("CAMBIO", cambioi);
|
||||||
if (intra.write() == _isreinsert) // Succede con le ricontabilizzazioni
|
if (intra.write() == _isreinsert) // Succede con le ricontabilizzazioni
|
||||||
intra.rewrite(); // si effettua una riscrittura
|
intra.rewrite(); // si effettua una riscrittura
|
||||||
@ -3678,8 +3714,8 @@ void TContabilizzazione::display_error(TDocumento& doc)
|
|||||||
"Verificare la consistenza dei files relativi ai movimenti intracomunitari.",(const char*)numerazione,numero);
|
"Verificare la consistenza dei files relativi ai movimenti intracomunitari.",(const char*)numerazione,numero);
|
||||||
break;
|
break;
|
||||||
case intra_rett_error:
|
case intra_rett_error:
|
||||||
msg.format("Si è verificato un errore nella scrittura del movimento intracomunitario relativamente al documento %s/%ld."
|
msg.format("La data di competenza INTRA del movimento intracomunitario relativo al documento %s/%ld"
|
||||||
"La data di competenza INTRA appartiene ad un periodo il cui riepilogo che deve essere rettificato manualmente",(const char*)numerazione,numero);
|
"appartiene ad un periodo il cui riepilogo deve essere rettificato manualmente",(const char*)numerazione,numero);
|
||||||
break;
|
break;
|
||||||
case cont_seq_error:
|
case cont_seq_error:
|
||||||
msg.format("Il documento precedente al %s/%ld non e' stato contabilizzato."
|
msg.format("Il documento precedente al %s/%ld non e' stato contabilizzato."
|
||||||
|
@ -1672,6 +1672,8 @@ key_left( XI_TEXT * text, XinEvent * ep )
|
|||||||
{
|
{
|
||||||
if ( text->ip1 >= 1 )
|
if ( text->ip1 >= 1 )
|
||||||
text->selection_start_ip = text->ip1 = --text->ip2;
|
text->selection_start_ip = text->ip1 = --text->ip2;
|
||||||
|
else
|
||||||
|
ep->v.character.ch = XI_KEY_BTAB; // AGA was here
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( text->ip1 == text->selection_start_ip )
|
else if ( text->ip1 == text->selection_start_ip )
|
||||||
@ -1694,6 +1696,8 @@ key_left( XI_TEXT * text, XinEvent * ep )
|
|||||||
|
|
||||||
if ( text->ip1 >= 1 )
|
if ( text->ip1 >= 1 )
|
||||||
new_ip = text->ip1 - 1;
|
new_ip = text->ip1 - 1;
|
||||||
|
else
|
||||||
|
ep->v.character.ch = XI_KEY_BTAB; // AGA was here
|
||||||
text->selection_start_ip = text->ip1 = text->ip2 = new_ip;
|
text->selection_start_ip = text->ip1 = text->ip2 = new_ip;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1715,6 +1719,8 @@ key_right( XI_TEXT * text, XinEvent * ep )
|
|||||||
{
|
{
|
||||||
if ( text->ip2 < ( int ) strlen( text->string ) )
|
if ( text->ip2 < ( int ) strlen( text->string ) )
|
||||||
text->selection_start_ip = text->ip1 = ++text->ip2;
|
text->selection_start_ip = text->ip1 = ++text->ip2;
|
||||||
|
else
|
||||||
|
ep->v.character.ch = '\t'; // AGA was here
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( text->ip2 == text->selection_start_ip )
|
else if ( text->ip2 == text->selection_start_ip )
|
||||||
@ -1737,6 +1743,9 @@ key_right( XI_TEXT * text, XinEvent * ep )
|
|||||||
|
|
||||||
if ( text->ip2 < ( int ) strlen( text->string ) )
|
if ( text->ip2 < ( int ) strlen( text->string ) )
|
||||||
new_ip = text->ip2 + 1;
|
new_ip = text->ip2 + 1;
|
||||||
|
else
|
||||||
|
ep->v.character.ch = '\t'; // AGA was here
|
||||||
|
|
||||||
text->selection_start_ip = text->ip1 = text->ip2 = new_ip;
|
text->selection_start_ip = text->ip1 = text->ip2 = new_ip;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -211,7 +211,8 @@ HBITMAP OsWin32_CreateBitmap(const wxImage& img, wxDC& dc)
|
|||||||
HDC hDC = (HDC)dc.GetHDC();
|
HDC hDC = (HDC)dc.GetHDC();
|
||||||
int nDepth = dc.GetDepth();
|
int nDepth = dc.GetDepth();
|
||||||
|
|
||||||
if (nDepth == 1) // Altrimenti le stampanti in B/N perdono i toni di grigio
|
// Altrimenti le stampanti in B/N perdono i toni di grigio
|
||||||
|
if (nDepth == 1 && !OsWin32_IsWindowsServer())
|
||||||
{
|
{
|
||||||
hDC = NULL;
|
hDC = NULL;
|
||||||
nDepth = 24;
|
nDepth = 24;
|
||||||
|
@ -2721,29 +2721,15 @@ BOOLEAN xvt_fsys_convert_dir_to_str(DIRECTORY *dirp, char *path, int sz_path)
|
|||||||
|
|
||||||
BOOLEAN xvt_fsys_convert_str_to_dir(const char *path, DIRECTORY *dirp)
|
BOOLEAN xvt_fsys_convert_str_to_dir(const char *path, DIRECTORY *dirp)
|
||||||
{
|
{
|
||||||
|
if (dirp != NULL)
|
||||||
strcpy(dirp->path, path);
|
strcpy(dirp->path, path);
|
||||||
return TRUE;
|
return dirp != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void xvt_fsys_get_default_dir(DIRECTORY *dirp)
|
void xvt_fsys_get_default_dir(DIRECTORY *dirp)
|
||||||
{
|
{
|
||||||
if (_startup_dir == NULL)
|
if (_startup_dir == NULL)
|
||||||
{
|
_startup_dir = new wxString(::wxGetCwd());
|
||||||
_startup_dir = new wxString;
|
|
||||||
wxFileName::SplitPath(wxTheApp->argv[0], _startup_dir, NULL, NULL);
|
|
||||||
#ifdef LINUX
|
|
||||||
if (*_startup_dir == ".")
|
|
||||||
*_startup_dir = "";
|
|
||||||
#endif
|
|
||||||
if (_startup_dir->IsEmpty())
|
|
||||||
{
|
|
||||||
char exedir[_MAX_PATH];
|
|
||||||
xvt_fsys_get_dir(dirp);
|
|
||||||
xvt_fsys_convert_dir_to_str(dirp, exedir, sizeof(exedir));
|
|
||||||
*_startup_dir = exedir;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (dirp != NULL)
|
|
||||||
xvt_fsys_convert_str_to_dir(*_startup_dir, dirp);
|
xvt_fsys_convert_str_to_dir(*_startup_dir, dirp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user