Patch level : 2.1 048
Files correlati : mr0.exe mr1.exe mr2.exe Ricompilazione Demo : [ ] Commento : Bug 0000135 Implementare la gestione multilingua git-svn-id: svn://10.65.10.50/trunk@12087 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3005fcd67a
commit
a29e4b43d4
@ -55,14 +55,14 @@ bool TMRP_mask::init_calendar()
|
||||
if (cf.dirty())
|
||||
{
|
||||
TString str(80);
|
||||
str = "Il calendario ";
|
||||
str = TR("Il calendario ");
|
||||
switch (calendar().tipo())
|
||||
{
|
||||
case 'L': str << "della linea " << calendar().linea(); break;
|
||||
case 'I': str << "del impianto " << calendar().impianto(); break;
|
||||
default : str << "standard"; break;
|
||||
case 'L': str << TR("della linea ") << calendar().linea(); break;
|
||||
case 'I': str << TR("del impianto ") << calendar().impianto(); break;
|
||||
default : str << TR("standard"); break;
|
||||
}
|
||||
str << " e' stato modificato:\nsi desidera salvare le modifiche effettuate?";
|
||||
str << TR(" e' stato modificato:\nsi desidera salvare le modifiche effettuate?");
|
||||
if (yesno_box(str))
|
||||
calendar().rewrite();
|
||||
}
|
||||
@ -323,7 +323,7 @@ int mr0100(int argc, char* argv[])
|
||||
if (argc > 2)
|
||||
{
|
||||
TString name;
|
||||
name << "Tabella " << argv[2];
|
||||
name << TR("Tabella ") << argv[2];
|
||||
TMRPtables a;
|
||||
a.run(argc, argv, name);
|
||||
}
|
||||
|
@ -124,6 +124,6 @@ int mr0400(int argc, char* argv[])
|
||||
{
|
||||
TConf_MRP_application app;
|
||||
|
||||
app.run(argc, argv, "Parametri gestione MRP");
|
||||
app.run(argc, argv, TR("Parametri gestione MRP"));
|
||||
return 0;
|
||||
}
|
||||
|
@ -309,7 +309,7 @@ bool TRepgen_mask::test_tipodoc_num(const TSheet_field &sheet_num ,const TShee
|
||||
}
|
||||
}
|
||||
if (!ok)
|
||||
return error_box("Il tipo '%s' non appartiene a nessuna delle numerazioni scelte",(const char*)tipo);
|
||||
return error_box(FR("Il tipo '%s' non appartiene a nessuna delle numerazioni scelte"),(const char*)tipo);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -359,7 +359,7 @@ void TRepgen_mask::calcola_capacita(TAssoc_array& capacita) const
|
||||
TString16 codimp;
|
||||
|
||||
capacita.restart();
|
||||
TProgind pi(capacita.items(), "Calcolo capacita linee", FALSE, TRUE);
|
||||
TProgind pi(capacita.items(), TR("Calcolo capacita linee"), FALSE, TRUE);
|
||||
THash_object* ho = capacita.get_hashobj();
|
||||
for (;ho != NULL; ho = capacita.get_hashobj())
|
||||
{
|
||||
@ -431,7 +431,7 @@ bool TRepgen_mask::elabora() const
|
||||
const long items = cur.items();
|
||||
cur.freeze(TRUE);
|
||||
|
||||
msg = "Elaborazione numerazione "; msg << codnum;
|
||||
msg = TR("Elaborazione numerazione "); msg << codnum;
|
||||
TProgind pi(items, msg, FALSE, TRUE);
|
||||
|
||||
// Scandisce le righe dei documenti
|
||||
@ -530,7 +530,7 @@ bool TRepgen_mask::elabora() const
|
||||
calcola_capacita(capacita);
|
||||
|
||||
const long total = articles.items();
|
||||
TProgind pi(total, "Generazione file", FALSE, TRUE);
|
||||
TProgind pi(total, TR("Generazione file"), FALSE, TRUE);
|
||||
|
||||
TMask_field& fld = field(F_FILENAME);
|
||||
TFilename filename = fld.get();
|
||||
@ -597,7 +597,7 @@ bool TRepgen_mask::on_field_event(TOperable_field& o, TField_event e, long jolly
|
||||
const TSheet_field& s = (const TSheet_field&)o;
|
||||
FOR_EACH_SHEET_ROW_BACK(s, r, row)
|
||||
if (!row->empty_items()) return TRUE;
|
||||
return error_box("E' necessario inserire almeno una numerazione");
|
||||
return error_box(TR("E' necessario inserire almeno una numerazione"));
|
||||
}
|
||||
break;
|
||||
case F_TIPI:
|
||||
@ -619,7 +619,7 @@ bool TRepgen_mask::on_field_event(TOperable_field& o, TField_event e, long jolly
|
||||
const bool ok=test_tipodoc_num(sfield(F_NUMERAZIONI), s );
|
||||
return ok;
|
||||
}
|
||||
return error_box("E' necessario inserire almeno una riga");
|
||||
return error_box(TR("E' necessario inserire almeno una riga"));
|
||||
}
|
||||
break;
|
||||
case F_YEAR:
|
||||
@ -736,7 +736,6 @@ class TMRP_repgen : public TSkeleton_application
|
||||
{
|
||||
TRepgen_mask * _m;
|
||||
TMRP_form * _form;
|
||||
TLocalisamfile * _mrprep;
|
||||
TCodgiac_livelli *_codgiac;
|
||||
int _livello;
|
||||
tipo_ordinamento _tipo_ord;
|
||||
@ -759,7 +758,7 @@ public:
|
||||
bool TMRP_repgen::create()
|
||||
{
|
||||
_m = new TRepgen_mask;
|
||||
_mrprep = new TLocalisamfile(LF_MRPREP);
|
||||
open_files(LF_MRPREP, 0);
|
||||
_codgiac = new TCodgiac_livelli;
|
||||
if (!_codgiac->enabled())
|
||||
_m->hide(F_LIVDET);
|
||||
@ -771,8 +770,6 @@ bool TMRP_repgen::destroy()
|
||||
delete _codgiac;
|
||||
if (_m)
|
||||
delete _m;
|
||||
if (_mrprep)
|
||||
delete _mrprep;
|
||||
return TSkeleton_application::destroy();
|
||||
}
|
||||
|
||||
@ -793,18 +790,18 @@ void TMRP_repgen::set_buckets_description()
|
||||
const short first_id = 3;
|
||||
const short last_id = 15;
|
||||
--fd;
|
||||
descr.format("\nAl %s", (const char*)fd);
|
||||
descr.format(FR("\nAl %s"), (const char*)fd);
|
||||
if (bucket_size == 7)
|
||||
{
|
||||
fd.get_week_year(weekd, yeard, week_complete);
|
||||
descr << "\nSett. " << weekd << ' ' << yeard;
|
||||
descr << TR("\nSett. ") << weekd << ' ' << yeard;
|
||||
}
|
||||
_form->find_field('B', odd_page, first_id).set_col_head(descr);
|
||||
TDate wd;
|
||||
for (;fd <= td;)
|
||||
{
|
||||
++fd;
|
||||
descr.format("Dal %s\nAl ", (const char*)fd);
|
||||
descr.format(FR("Dal %s\nAl "), (const char*)fd);
|
||||
fd += bucket_size-1;
|
||||
wd = fd;
|
||||
descr << (const char*)fd;
|
||||
@ -814,15 +811,15 @@ void TMRP_repgen::set_buckets_description()
|
||||
if (bucket_size == 7)
|
||||
{
|
||||
wd.get_week_year(weekd, yeard, week_complete);
|
||||
descr << "\nSett. " << weekd << ' ' << yeard;
|
||||
descr << TR("\nSett. ") << weekd << ' ' << yeard;
|
||||
}
|
||||
_form->find_field('B', odd_page, id).set_col_head(descr);
|
||||
}
|
||||
descr.format("Dal %s", (const char*)wd);
|
||||
descr.format(FR("Dal %s"), (const char*)wd);
|
||||
if (bucket_size == 7)
|
||||
{
|
||||
wd.get_week_year(weekd, yeard, week_complete);
|
||||
descr << "\n\nSett. " << weekd << ' ' << yeard;
|
||||
descr << TR("\n\nSett. ") << weekd << ' ' << yeard;
|
||||
}
|
||||
_form->find_field('B', odd_page, last_id).set_col_head(descr);
|
||||
}
|
||||
@ -1034,6 +1031,6 @@ void TMRP_repgen::main_loop()
|
||||
int mr1100(int argc, char* argv[])
|
||||
{
|
||||
TMRP_repgen a;
|
||||
a.run(argc, argv, "Generazione MRP reports");
|
||||
a.run(argc, argv, TR("Generazione MRP reports"));
|
||||
return 0;
|
||||
}
|
||||
|
101
mr/mr2100.cpp
101
mr/mr2100.cpp
@ -139,7 +139,7 @@ int TMRP_line::add_son(const real& qta, TMRP_line* son)
|
||||
{
|
||||
CHECK(son, "Can't add NULL TMRP_line son");
|
||||
if (son == this)
|
||||
fatal_box("Riga di MRP %sz %s padre di se stessa", (const char *)articolo(), (const char *)livgiac());
|
||||
fatal_box(FR("Riga di MRP %sz %s padre di se stessa"), (const char *)articolo(), (const char *)livgiac());
|
||||
CHECK(son != this, "Hermafrodite TMRP_line");
|
||||
_qta_sons.add(qta);
|
||||
return _sons.add(son);
|
||||
@ -999,7 +999,7 @@ int TMatResMask::num_orders()
|
||||
}
|
||||
bool TMatResMask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
const char * confirm_msg="Le attuali %d righe di ordine verranno perse. Confermare?";
|
||||
const char * confirm_msg=FR("Le attuali %d righe di ordine verranno perse. Confermare?");
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_DADATA:
|
||||
@ -1036,7 +1036,7 @@ bool TMatResMask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
const TSheet_field& s = (const TSheet_field&)o;
|
||||
FOR_EACH_SHEET_ROW_BACK(s, r, row)
|
||||
if (!row->empty_items()) return TRUE;
|
||||
return error_box("E' necessario inserire almeno una riga");
|
||||
return error_box(TR("E' necessario inserire almeno una riga"));
|
||||
}
|
||||
break;
|
||||
case F_ORDINI:
|
||||
@ -1154,7 +1154,7 @@ bool TMatResMask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
if (e == fe_button && check_fields())
|
||||
{
|
||||
if (!app().emit_orders())
|
||||
message_box("Nessun ordine generato");
|
||||
message_box(TR("Nessun ordine generato"));
|
||||
}
|
||||
break;
|
||||
case DLG_PRINT:
|
||||
@ -1460,7 +1460,7 @@ void TMatResMask::select_orders(char type, const char * dacatmer,const char * ac
|
||||
s.force_update(r);
|
||||
}
|
||||
}
|
||||
TString msg=format("Ordini %s %s",type=='F' ? "fornitore" : "di produzione" ,on ? "selezionati" :"de-selezionati");
|
||||
TString msg=format(FR("Ordini %s %s"),type=='F' ? TR("fornitore") : TR("di produzione") ,on ? TR("selezionati") :TR("de-selezionati"));
|
||||
xvt_statbar_set(msg);
|
||||
}
|
||||
|
||||
@ -1489,7 +1489,7 @@ TMatResMask::TMatResMask() : TCalendar_mask("mr2100a"), _sel_color(sfield(F_ORDI
|
||||
disable(F_NOIMP); // Forza l'ignoramento degli impianti
|
||||
set(F_NOIMP, "X");
|
||||
}
|
||||
_nodist_pos =_sel_color.add_color_def("NODIST", "Art.pianificati senza distinta", COLOR_YELLOW, COLOR_BLACK);
|
||||
_nodist_pos =_sel_color.add_color_def("NODIST", TR("Art.pianificati senza distinta"), COLOR_YELLOW, COLOR_BLACK);
|
||||
}
|
||||
|
||||
|
||||
@ -1892,7 +1892,7 @@ bool TMatResPlanning::load_gross_requirements()
|
||||
TString_array& n = m.sfield(F_NUM_ORC).rows_array();
|
||||
TString_array& a = m.sfield(F_TIPI_ORC).rows_array();
|
||||
|
||||
TProgind pi(table_items("%NUM"), "Caricamento fabbisogni lordi...", TRUE, TRUE);
|
||||
TProgind pi(table_items("%NUM"), TR("Caricamento fabbisogni lordi..."), TRUE, TRUE);
|
||||
|
||||
// Scandisce tutte le numerazioni considerando solo quelle
|
||||
// contenenti i tipi documento specificati nella maschera
|
||||
@ -2019,7 +2019,7 @@ bool TMatResPlanning::explode_articles()
|
||||
if (pi == NULL)
|
||||
{
|
||||
TString80 msg;
|
||||
msg.format("Esplosione articoli (livello %d)", level++);
|
||||
msg.format(FR("Esplosione articoli (livello %d)"), level++);
|
||||
pi = new TProgind(_articles.items()-a, msg, TRUE, TRUE);
|
||||
}
|
||||
pi->addstatus(1);
|
||||
@ -2097,7 +2097,7 @@ bool TMatResPlanning::load_planned_orders()
|
||||
TString_array& n = m.sfield(F_NUM_ORF).rows_array();
|
||||
TString_array& a = m.sfield(F_TIPI_ORF).rows_array();
|
||||
|
||||
TProgind pi(table_items("%NUM"), "Caricamento arrivi futuri...", TRUE, TRUE);
|
||||
TProgind pi(table_items("%NUM"), TR("Caricamento arrivi futuri..."), TRUE, TRUE);
|
||||
|
||||
// Scandisce tutte le numerazioni considerando solo quelle
|
||||
// contenenti i tipi documento specificati nella maschera
|
||||
@ -2249,20 +2249,6 @@ bool TMatResPlanning::gross2net_logic(TMRP_line &curr_article, int bucket, bool
|
||||
{
|
||||
tmpreal = curr_article.on_hand(bucket);
|
||||
tmpreal -= curr_article.gross_requirement(bucket);
|
||||
#ifdef DBG
|
||||
if (curr_article.articolo() == "U01121")
|
||||
{
|
||||
s = tmpreal.string();
|
||||
tmpreal.round(5);
|
||||
s = tmpreal.string();
|
||||
}
|
||||
if (curr_article.articolo() == "U00124")
|
||||
{
|
||||
s = tmpreal.string();
|
||||
tmpreal.round(5);
|
||||
s = tmpreal.string();
|
||||
}
|
||||
#endif
|
||||
if (!sc_used)
|
||||
{
|
||||
curr_article.scorta_minima(sm, curr_article.time(bucket).date());
|
||||
@ -2332,7 +2318,7 @@ bool TMatResPlanning::net_requirement_cycle()
|
||||
// ordina gli articoli
|
||||
const long total = _articles.sort();
|
||||
|
||||
TProgind pi(total, "Calcolo dei fabbisogni netti", FALSE, TRUE);
|
||||
TProgind pi(total, TR("Calcolo dei fabbisogni netti"), FALSE, TRUE);
|
||||
|
||||
// cicla iterativamente sugli elementi di _articles
|
||||
for (long a = 0; a < total; a++)
|
||||
@ -2377,7 +2363,7 @@ bool TMatResPlanning::build_orders()
|
||||
if (tot > 0L)
|
||||
{
|
||||
|
||||
TProgind pi(tot, "Generazione righe ordini...", FALSE, TRUE);
|
||||
TProgind pi(tot, TR("Generazione righe ordini..."), FALSE, TRUE);
|
||||
for (long a = 0; a < tot; a++)
|
||||
{
|
||||
pi.addstatus(1);
|
||||
@ -2422,7 +2408,7 @@ bool TMatResPlanning::build_orders()
|
||||
|
||||
const int orders=sf.items();
|
||||
if (orders==0)
|
||||
message_box("Nessun ordine da emettere");
|
||||
message_box(TR("Nessun ordine da emettere"));
|
||||
real price, qta;
|
||||
TCodice_articolo codart;
|
||||
FOR_EACH_SHEET_ROW(sf,n,row)
|
||||
@ -2468,7 +2454,7 @@ void TMatResPlanning::print_orders_header(TPrinter& pr)
|
||||
TString format;
|
||||
TPrintrow row;
|
||||
print_header(pr);
|
||||
row.put("@48G@BSTAMPA PROPOSTE D'ORDINE DA M.R.P.");
|
||||
row.put(FR("@48G@BSTAMPA PROPOSTE D'ORDINE DA M.R.P."));
|
||||
pr.setheaderline(1,row);
|
||||
row.reset();
|
||||
set_body_order_line(row, NULL);
|
||||
@ -2491,10 +2477,10 @@ void TMatResPlanning::print_orders_body(TPrinter& pr, TToken_string *sheetrow)
|
||||
|
||||
if (*sheetrow->get(F_DOCCODNUM-FIRST_FIELD) > ' ')
|
||||
{
|
||||
row.put(format("@%dGDocumento %s", pos+= 54+1, (const char *)sheetrow->get(F_DOCCODNUM-FIRST_FIELD)));
|
||||
row.put(format(FR("@%dGDocumento %s"), pos+= 54+1, (const char *)sheetrow->get(F_DOCCODNUM-FIRST_FIELD)));
|
||||
row.put(format("@%dG%d", pos+= 4+10+1, sheetrow->get_int(F_DOCANNODOC-FIRST_FIELD)));
|
||||
row.put(format("@%dGn.%6ld", pos+= 4+1, sheetrow->get_long(F_DOCNUM-FIRST_FIELD)));
|
||||
row.put(format("@%dGriga %3d", pos+= 2+6+1, sheetrow->get_int(F_DOCNRIGA-FIRST_FIELD)));
|
||||
row.put(format(FR("@%dGriga %3d"), pos+= 2+6+1, sheetrow->get_int(F_DOCNRIGA-FIRST_FIELD)));
|
||||
}
|
||||
pr.print(row);
|
||||
}
|
||||
@ -2526,7 +2512,7 @@ void TMatResPlanning::set_body_order_line(TPrintrow &row, TToken_string *sheetro
|
||||
sheetrow->get(F_QUANTITA-FIRST_FIELD, r);
|
||||
row.put(format("@%dG%18s", pos, (const char *)r.string(18,5)));
|
||||
} else {
|
||||
row.put(format("@%dGQuantita'", pos+8));
|
||||
row.put(format(FR("@%dGQuantita'"), pos+8));
|
||||
}
|
||||
row.put(format("@%dG%s", pos+= 18+1, sheetrow ? (const char *)sheetrow->get(F_UM-FIRST_FIELD): "UM"));
|
||||
if (sheetrow)
|
||||
@ -2549,7 +2535,7 @@ bool TMatResPlanning::print_orders()
|
||||
TSheet_field& sf = m.sfield(F_ORDINI);
|
||||
if (sf.items() < 1)
|
||||
{
|
||||
message_box("Nessun ordine da stampare");
|
||||
message_box(TR("Nessun ordine da stampare"));
|
||||
return FALSE;
|
||||
}
|
||||
TMask pmask("mr2100c.msk");
|
||||
@ -2574,7 +2560,7 @@ bool TMatResPlanning::print_planning(TMask &pmask)
|
||||
pr.open();
|
||||
if (pmask.get_bool(S_RISALITA))
|
||||
{
|
||||
TIndwin(60,"Ordinamento proposte per articolo/data...",FALSE);
|
||||
TIndwin(60,TR("Ordinamento proposte per articolo/data..."),FALSE);
|
||||
sf.sort(order_compareADTF);
|
||||
sf.force_update();
|
||||
}
|
||||
@ -2641,7 +2627,7 @@ bool TMatResPlanning::print_risalita(TToken_string &row, int ris_level, bool det
|
||||
else
|
||||
{
|
||||
TPrintrow prow;
|
||||
prow.put(format("@32gRisalita: impossibile rintracciare la proposta originale"));
|
||||
prow.put(format(FR("@32gRisalita: impossibile rintracciare la proposta originale")));
|
||||
pr.print(prow);
|
||||
return FALSE;
|
||||
}
|
||||
@ -2693,22 +2679,22 @@ bool TMatResPlanning::print_risalita(const TMRP_line & line, const TDate &date,
|
||||
return FALSE;
|
||||
TPrintrow prow;
|
||||
int pos = 30;
|
||||
prow.put(format("@%dg Totale fabbisogno lordo %s", pos, lordo.string(18,5)));
|
||||
prow.put(format(FR("@%dg Totale fabbisogno lordo %s"), pos, lordo.string(18,5)));
|
||||
pr.print(prow);
|
||||
prow.put(format("@%dg Giacenza iniziale %s", pos, on_hand.string(18,5)));
|
||||
prow.put(format(FR("@%dg Giacenza iniziale %s"), pos, on_hand.string(18,5)));
|
||||
pr.print(prow);
|
||||
if (dett_ord)
|
||||
{
|
||||
prow.put(format("@%dg Ordini pianificati %s", pos, plan.string(18,5)));
|
||||
prow.put(format(FR("@%dg Ordini pianificati %s"), pos, plan.string(18,5)));
|
||||
pr.print(prow);
|
||||
prow.put(format("@%dg Ordini confermati %s", pos, sched.string(18,5)));
|
||||
prow.put(format(FR("@%dg Ordini confermati %s"), pos, sched.string(18,5)));
|
||||
pr.print(prow);
|
||||
}
|
||||
sched += plan;
|
||||
prow.put(format("@%dg Totale ordinato %s", pos, sched.string(18,5)));
|
||||
prow.put(format(FR("@%dg Totale ordinato %s"), pos, sched.string(18,5)));
|
||||
pr.print(prow);
|
||||
netto -= plan;
|
||||
prow.put(format("@%dg Totale da pianificare %s", pos, netto.string(18,5)));
|
||||
prow.put(format(FR("@%dg Totale da pianificare %s"), pos, netto.string(18,5)));
|
||||
pr.print(prow);
|
||||
if (backlevel>1 || backlevel<0)
|
||||
{
|
||||
@ -2766,10 +2752,10 @@ int TMatResPlanning::print_internal_ref(const TMRP_internalref &iref, int backle
|
||||
qtareq.round(5);
|
||||
// documento di rif.
|
||||
docdate = cache().get(LF_DOC,dockey).get(DOC_DATADOC);
|
||||
r2.put(format("@86gDocumento %s",(const char *)docref->codnumdoc() ));
|
||||
r2.put(format(FR("@86gDocumento %s"),(const char *)docref->codnumdoc() ));
|
||||
r2.put(format("@101g%d",docref->annodoc() ));
|
||||
r2.put(format("@106gn.%6ld",docref->numdoc()));
|
||||
r2.put(format("@115griga %3d",docref->numrig()));
|
||||
r2.put(format(FR("@115griga %3d"),docref->numrig()));
|
||||
um = docref->um();
|
||||
}
|
||||
else
|
||||
@ -2897,7 +2883,7 @@ bool TMatResPlanning::ask_save()
|
||||
|
||||
bool yes = TRUE;
|
||||
if (tot > 0)
|
||||
yes = yesno_box("Si desidera elaborare %d righe?", tot);
|
||||
yes = yesno_box(FR("Si desidera elaborare %d righe?"), tot);
|
||||
return yes;
|
||||
}
|
||||
|
||||
@ -2924,7 +2910,7 @@ bool TMatResPlanning::emit_orders()
|
||||
if (!ask_save())
|
||||
return FALSE;
|
||||
|
||||
TProgind pi(sf.items(), "Generazione ordini", FALSE, TRUE);
|
||||
TProgind pi(sf.items(), TR("Generazione ordini"), FALSE, TRUE);
|
||||
|
||||
FOR_EACH_SHEET_ROW(sf, r, row)
|
||||
{
|
||||
@ -2950,7 +2936,7 @@ bool TMatResPlanning::emit_orders()
|
||||
if (datadoc < today && newdoc)
|
||||
if (ignore_docdate_too_soon != K_ENTER && ignore_docdate_too_soon != K_ESC)
|
||||
{
|
||||
TYesnoallnone_box b(format("Riga %d: data di emissione del documento (%s) inferiore a quella odierna. Confermare?",r+1,(const char *)datadoc.string()), K_NO);
|
||||
TYesnoallnone_box b(format(FR("Riga %d: data di emissione del documento (%s) inferiore a quella odierna. Confermare?"),r+1,(const char *)datadoc.string()), K_NO);
|
||||
ignore_docdate_too_soon = b.run();
|
||||
}
|
||||
if (ignore_docdate_too_soon == K_NO || ignore_docdate_too_soon == K_ESC)
|
||||
@ -2958,7 +2944,7 @@ bool TMatResPlanning::emit_orders()
|
||||
if (datacon < datadoc && newdoc)
|
||||
if (ignore_duedate_lt_docdate != K_ENTER && ignore_duedate_lt_docdate != K_ESC)
|
||||
{
|
||||
TYesnoallnone_box b(format("Riga %d: data di consegna (%s) inferiore a quella di emissione del documento (%s). Confermare?",r+1,(const char *)datacon.string(), (const char *)datadoc.string()), K_NO);
|
||||
TYesnoallnone_box b(format(FR("Riga %d: data di consegna (%s) inferiore a quella di emissione del documento (%s). Confermare?"),r+1,(const char *)datacon.string(), (const char *)datadoc.string()), K_NO);
|
||||
ignore_duedate_lt_docdate = b.run();
|
||||
}
|
||||
if (ignore_duedate_lt_docdate == K_NO || ignore_duedate_lt_docdate == K_ESC)
|
||||
@ -2968,7 +2954,7 @@ bool TMatResPlanning::emit_orders()
|
||||
if ((prod && !tipo_doc_prod.clifo_optional()) ||
|
||||
(!prod && !tipo_doc_forn.clifo_optional()))
|
||||
{
|
||||
error_box("Codice fornitore mancante alla riga %d", r+1);
|
||||
error_box(FR("Codice fornitore mancante alla riga %d"), r+1);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@ -3132,7 +3118,7 @@ void TMatResPlanning::risalita(const TMask & m)
|
||||
rismask->run();
|
||||
delete rismask;
|
||||
} else
|
||||
message_box("Impossibile rintracciare la riga d'ordine indicata tra quelle generate in MRP");
|
||||
message_box(TR("Impossibile rintracciare la riga d'ordine indicata tra quelle generate in MRP"));
|
||||
}
|
||||
|
||||
|
||||
@ -3146,7 +3132,7 @@ bool TMatResPlanning::print_exceptions(TMask &m)
|
||||
{
|
||||
// PER OGNI ARTICOLO ...
|
||||
const long max_mrp_rows=_articles.items();
|
||||
TProgind pi=((max_mrp_rows+1) ,"Ricerca eccezioni...", TRUE, TRUE);
|
||||
TProgind pi=((max_mrp_rows+1) ,TR("Ricerca eccezioni..."), TRUE, TRUE);
|
||||
for (long mrp_row=0; mrp_row < max_mrp_rows; mrp_row++)
|
||||
{
|
||||
pi.addstatus(1);
|
||||
@ -3160,7 +3146,7 @@ bool TMatResPlanning::print_exceptions(TMask &m)
|
||||
} // ... for each article
|
||||
}
|
||||
if (e.items()<=0)
|
||||
message_box("Nessuna eccezione rilevata");
|
||||
message_box(TR("Nessuna eccezione rilevata"));
|
||||
else
|
||||
print_exceptions(e);
|
||||
return e.items()>0;
|
||||
@ -3171,7 +3157,7 @@ void TMatResPlanning::print_except_header(TPrinter& pr)
|
||||
TString format;
|
||||
TPrintrow row;
|
||||
print_header(pr);
|
||||
row.put("@48G@BSTAMPA TABULATO ECCEZIONI DA M.R.P.");
|
||||
row.put(FR("@48G@BSTAMPA TABULATO ECCEZIONI DA M.R.P."));
|
||||
pr.setheaderline(1,row);
|
||||
row.reset();
|
||||
row.put((const char *)TString(131,'-'));
|
||||
@ -3259,13 +3245,12 @@ void print_header(TPrinter& pr)
|
||||
{
|
||||
TString format;
|
||||
TPrintrow row;
|
||||
TLocalisamfile firm(LF_NDITTE);
|
||||
TLocalisamfile anag(LF_ANAG);
|
||||
firm.put("CODDITTA",main_app().get_firm());
|
||||
firm.read();
|
||||
anag.put("TIPOA",firm.get("TIPOA"));
|
||||
anag.put("CODANAGR",firm.get("CODANAGR"));
|
||||
anag.read();
|
||||
const TRectype & firm = cache().get(LF_NDITTE, main_app().get_firm());
|
||||
TString16 key;
|
||||
|
||||
key.format("%s|%s", (const char *) firm.get("TIPOA"), (const char *)firm.get("CODANAGR"));
|
||||
|
||||
const TRectype & anag= cache().get(LF_ANAG, key);
|
||||
format << "@2g" << anag.get("RAGSOC")<< "@80g@>@110gPagina @#";
|
||||
row.put(format);
|
||||
pr.setheaderline(0,row);
|
||||
@ -3281,7 +3266,7 @@ int mr2100(int argc, char* argv[])
|
||||
{
|
||||
TMatResPlanning a;
|
||||
|
||||
a.run(argc, argv, "Material Requirements Planning");
|
||||
a.run(argc, argv, TR("Material Requirements Planning"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
114
mr/mr2200.cpp
114
mr/mr2200.cpp
@ -212,10 +212,10 @@ bool TSave_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
_m->elabora(); // necessario per ricaricare i rif alle righe
|
||||
if (_exceptions.items())
|
||||
{
|
||||
if (yesno_box("%d eccezioni rilevate. Stampo il tabulato ?",_exceptions.items()))
|
||||
if (yesno_box(FR("%d eccezioni rilevate. Stampo il tabulato ?"),_exceptions.items()))
|
||||
_m->print_exceptions(_exceptions);
|
||||
else
|
||||
message_box("Controllare il tabulato eccezioni.");
|
||||
message_box(TR("Controllare il tabulato eccezioni."));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -389,7 +389,7 @@ bool TPlanning_mask::test_tipodoc_num(const TSheet_field &sheet_num ,const TSh
|
||||
}
|
||||
}
|
||||
if (!ok)
|
||||
return error_box("Il tipo '%s' non appartiene a nessuna delle numerazioni scelte",(const char * )tipo);
|
||||
return error_box(FR("Il tipo '%s' non appartiene a nessuna delle numerazioni scelte"),(const char * )tipo);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -510,7 +510,7 @@ bool TPlanning_mask::carica_documenti()
|
||||
|
||||
|
||||
TTable num("%NUM");
|
||||
TCodice_numerazione cod;
|
||||
TCodice_numerazione cod;
|
||||
|
||||
TRelation rel(LF_DOC);
|
||||
TCursor cur(&rel);
|
||||
@ -546,7 +546,7 @@ bool TPlanning_mask::carica_documenti()
|
||||
// Scandisce i documenti inevasi e considera solo
|
||||
// quelli con uno stato nel range corretto
|
||||
TString msg;
|
||||
msg.format("Caricamento documenti %s (numerazione '%s')",tn & _Doc_vincoli ? "ordine":"di planning",(const char *)cod.codice());
|
||||
msg.format(FR("Caricamento documenti %s (numerazione '%s')"),tn & _Doc_vincoli ? "ordine":"di planning",(const char *)cod.codice());
|
||||
TProgind pi(items,msg , TRUE, TRUE);
|
||||
for (cur = 0; cur.pos() < items; ++cur)
|
||||
{
|
||||
@ -793,8 +793,8 @@ int TPlanning_mask::find_constr_row(TMSP_constraint& cons)
|
||||
//linea articolo (vuota)
|
||||
TMSP_line line(cons);
|
||||
line.fill_sheet_row(sf.row(-1), *this);
|
||||
rowgiac.add("** Giacenza teorica",F_DESCART-FIRST_FIELD);
|
||||
row.add("** Ordini ",F_DESCART-FIRST_FIELD);
|
||||
rowgiac.add(TR("** Giacenza teorica"),F_DESCART-FIRST_FIELD);
|
||||
row.add(TR("** Ordini "),F_DESCART-FIRST_FIELD);
|
||||
r = sf.items()-3+2;
|
||||
|
||||
if (cons.codclifor())
|
||||
@ -812,7 +812,7 @@ void TPlanning_mask::set_sheet_header()
|
||||
TSheet_field& sf = sfield(F_ARTICOLI);
|
||||
|
||||
sf.enable_column(F_CLIENTE,!get_bool(F_NOCLI_OUT));
|
||||
sf.set_column_header(F_CLIENTE-FIRST_FIELD,*get(F_TIPOCF)=='C' ? "Cliente" : "Fornitore");
|
||||
sf.set_column_header(F_CLIENTE-FIRST_FIELD,*get(F_TIPOCF)=='C' ? TR("Cliente") : TR("Fornitore"));
|
||||
|
||||
const TDate date_to = get(F_ADATA);
|
||||
const int bucket_size = days_per_bucket();
|
||||
@ -845,9 +845,9 @@ void TPlanning_mask::set_sheet_header()
|
||||
default: d += bucket_size; break;
|
||||
}
|
||||
sl.set_column_header(F_LBUCKET0 + b, str);
|
||||
str.insert("Qta ");
|
||||
str.insert(TR("Qta "));
|
||||
sf.set_column_header(F_BUCKET0 + b*2, str);
|
||||
str.overwrite("Prz");
|
||||
str.overwrite(TR("Prz"));
|
||||
sf.set_column_header(F_BUCKET0 + b*2 +1, str);
|
||||
}
|
||||
sf.force_update();
|
||||
@ -904,12 +904,12 @@ void TPlanning_mask::fill_sheet()
|
||||
// aggiunge la linea di vincolo
|
||||
TToken_string& consrow = sf.row(-1);
|
||||
curr_constraint->fill_sheet_row(consrow, *this);
|
||||
consrow.add("** Ordini ",F_DESCART-FIRST_FIELD);
|
||||
consrow.add(TR("** Ordini "),F_DESCART-FIRST_FIELD);
|
||||
sf.disable_cell(sf.items()-1, -1);
|
||||
// aggiunge la linea della giacenza prog
|
||||
TToken_string& rowgiac = sf.row(-1);
|
||||
copy_sheet_row(rowgiac,consrow);
|
||||
rowgiac.add("** Giacenza teorica",F_DESCART-FIRST_FIELD);
|
||||
rowgiac.add(TR("** Giacenza teorica"),F_DESCART-FIRST_FIELD);
|
||||
sf.disable_cell(sf.items()-1, -1);
|
||||
// last_constraint = curr_constraint;
|
||||
curr_constraint->set_on_sheet();
|
||||
@ -942,8 +942,8 @@ void TPlanning_mask::fill_sheet()
|
||||
//linea articolo (vuota)
|
||||
TMSP_line line(cons);
|
||||
line.fill_sheet_row(sf.row(-1), *this);
|
||||
rowgiac.add("** Giacenza teorica",F_DESCART-FIRST_FIELD);
|
||||
consrow.add("** Ordini ",F_DESCART-FIRST_FIELD);
|
||||
rowgiac.add(TR("** Giacenza teorica"),F_DESCART-FIRST_FIELD);
|
||||
consrow.add(TR("** Ordini "),F_DESCART-FIRST_FIELD);
|
||||
if (consrow.get_long(sf.cid2index(F_CLIENTE)))
|
||||
sf.disable_cell(sf.items()-1,sf.cid2index(F_CLIENTE));
|
||||
}
|
||||
@ -988,7 +988,7 @@ bool TPlanning_mask::remove_propose(bool verbose)
|
||||
bool remove_all = FALSE;
|
||||
bool some = _proposed_articles.items() > 0L; // proposte attuali
|
||||
if (some)
|
||||
remove = (!verbose || yesno_box("Vuoi annullare le nuove proposte?"));
|
||||
remove = (!verbose || yesno_box(TR("Vuoi annullare le nuove proposte?")));
|
||||
if (!some && verbose)
|
||||
{
|
||||
if (load_MRP_lines(_actual_plan))
|
||||
@ -996,12 +996,12 @@ bool TPlanning_mask::remove_propose(bool verbose)
|
||||
some = _mrp_articles.items() > 0L;
|
||||
if (some)
|
||||
{
|
||||
remove = (noyes_box("Vuoi annullare tutte le pianificazioni non confermate?"));
|
||||
if (remove && get_bool(F_RESCHEDULING) && noyes_box("Vuoi annullare anche le pianificazioni confermate?"))
|
||||
remove = (noyes_box(TR("Vuoi annullare tutte le pianificazioni non confermate?")));
|
||||
if (remove && get_bool(F_RESCHEDULING) && noyes_box(TR("Vuoi annullare anche le pianificazioni confermate?")))
|
||||
remove_all = TRUE;
|
||||
}
|
||||
if (!remove)
|
||||
message_box("Nessuna pianificazione da annullare");
|
||||
message_box(TR("Nessuna pianificazione da annullare"));
|
||||
else
|
||||
_proposed_articles = _mrp_articles;
|
||||
}
|
||||
@ -1050,8 +1050,8 @@ void TPlanning_mask::add_or_sub_propose(char sign, bool scheduled)
|
||||
sf.disable_cell(sf.items()-1, -1);
|
||||
//linea articolo (vuota)
|
||||
TToken_string& emptyrowc = sf.row(-1);
|
||||
rowgiac.add("** Giacenza teorica",F_DESCART-FIRST_FIELD);
|
||||
row.add("** Ordini ",F_DESCART-FIRST_FIELD);
|
||||
rowgiac.add(TR("** Giacenza teorica"),F_DESCART-FIRST_FIELD);
|
||||
row.add(TR("** Ordini "),F_DESCART-FIRST_FIELD);
|
||||
}
|
||||
int art_row;
|
||||
for (art_row=int(sf.items())-1;art_row >=0; art_row--)
|
||||
@ -1140,7 +1140,7 @@ void TPlanning_mask::check_articles()
|
||||
int items=sf.items();
|
||||
if (items==0)
|
||||
{
|
||||
message_box("Nessun articolo da verificare");
|
||||
message_box(TR("Nessun articolo da verificare"));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1161,7 +1161,7 @@ void TPlanning_mask::check_capacities()
|
||||
int items=sf.items();
|
||||
if (items==0)
|
||||
{
|
||||
message_box("Nessun carico di linea da verificare");
|
||||
message_box(TR("Nessun carico di linea da verificare"));
|
||||
return;
|
||||
}
|
||||
TCRPCheck_mask cm(this);
|
||||
@ -1260,7 +1260,7 @@ void TPlanning_mask::propose_1stJIT(TMSP_logic logic, bool check_machine, bool c
|
||||
if (ok = load_MRP_lines(_actual_plan))
|
||||
{
|
||||
gross2net(_actual_plan,FALSE);
|
||||
ok = general_review(check_machine, check_human, useextralines, useextrahours,FALSE, no_outcapacity,0, 0,_actual_plan, logic, "Calcolo carico minimo...");
|
||||
ok = general_review(check_machine, check_human, useextralines, useextrahours,FALSE, no_outcapacity,0, 0,_actual_plan, logic, TR("Calcolo carico minimo..."));
|
||||
}
|
||||
}
|
||||
// (two) levels master scheduling
|
||||
@ -1273,7 +1273,7 @@ void TPlanning_mask::propose_1stJIT(TMSP_logic logic, bool check_machine, bool c
|
||||
_proposed_articles.destroy();
|
||||
gross2net(_stock_break, lotsizing);
|
||||
const char * msg;
|
||||
msg = (level == 1) ? "Calcolo nuove proposte (articoli non Master)" :"Calcolo nuove proposte";
|
||||
msg = (level == 1) ? TR("Calcolo nuove proposte (articoli non Master)") :TR("Calcolo nuove proposte");
|
||||
const int anticipomin=get_int((level == 2) ? F_ANTICIPOMIN : F_ANTICIPOMIN2);
|
||||
const int anticipomax=get_int((level == 2) ? F_ANTICIPOMAX : F_ANTICIPOMAX2);
|
||||
if (ok = general_review(check_machine, check_human, useextralines, useextrahours,lotsizing, no_outcapacity,anticipomin,anticipomax,_stock_break, logic, msg))
|
||||
@ -1290,10 +1290,10 @@ void TPlanning_mask::propose_1stJIT(TMSP_logic logic, bool check_machine, bool c
|
||||
TDate dbuck(starting_date());
|
||||
dbuck +=buck*days_per_bucket();
|
||||
round_date(dbuck);
|
||||
message_box("Quantita' proposte a partire dal %s (colonna %d)", (const char *)dbuck.string(),buck);
|
||||
message_box(FR("Quantita' proposte a partire dal %s (colonna %d)"), (const char *)dbuck.string(),buck);
|
||||
}
|
||||
else
|
||||
message_box("Nessuna nuova proposta");
|
||||
message_box(TR("Nessuna nuova proposta"));
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1400,7 +1400,7 @@ bool TPlanning_mask::general_review(bool check_machine, bool check_human, bool u
|
||||
nlinea= curr_labor->find_linea(codlin);
|
||||
if (nlinea<0)
|
||||
{
|
||||
error_box("La linea %s non e' in grado di produrre l'articolo %s", (const char * )codlin, (const char *) _mrp_articles[mrp_row].articolo());
|
||||
error_box(FR("La linea %s non e' in grado di produrre l'articolo %s"), (const char * )codlin, (const char *) _mrp_articles[mrp_row].articolo());
|
||||
break;
|
||||
}
|
||||
numlinee=nlinea+1;
|
||||
@ -1639,7 +1639,7 @@ bool TPlanning_mask::capacity_review(bool useextralines, bool useextrahours)
|
||||
gross2net(_actual_plan);
|
||||
|
||||
_capacities.destroy();
|
||||
const char *msg="Calcolo carico attuale...";
|
||||
const char *msg=TR("Calcolo carico attuale...");
|
||||
if (get(F_RECALC_TYPE).left(1)=="1")
|
||||
ok = general_review(TRUE, TRUE, useextralines, useextrahours, FALSE, FALSE, 0, 0, _actual_plan,_first_fit_logic, msg);
|
||||
else if (get(F_RECALC_TYPE).left(3)=="JIT")
|
||||
@ -1758,7 +1758,7 @@ bool TPlanning_mask::load_MRP_lines(TMSP_mode mode, int level, int numriga)
|
||||
TSheet_field& sa = sfield(F_ARTICOLI);
|
||||
if (sa.items()==0)
|
||||
{
|
||||
message_box("Nessun articolo da valutare");
|
||||
message_box(TR("Nessun articolo da valutare"));
|
||||
return FALSE;
|
||||
}
|
||||
TWait_cursor hourglass;
|
||||
@ -2064,7 +2064,7 @@ bool TPlanning_mask::do_test_art_row(int r, int first, int last, bool signal)
|
||||
{
|
||||
if (signal)
|
||||
{
|
||||
error_box("Articolo nullo nella riga %d", r+1);
|
||||
error_box(FR("Articolo nullo nella riga %d"), r+1);
|
||||
signal = FALSE;
|
||||
}
|
||||
return signal;
|
||||
@ -2115,7 +2115,7 @@ bool TPlanning_mask::do_test_art_row(int r, int first, int last, bool signal)
|
||||
TString err;
|
||||
TDate d = starting_date() + long(days_per_bucket() * (b-1));
|
||||
round_date(d);
|
||||
err << "Riga " << first+1 << ": Vincolo non ripettato al " << d;
|
||||
err << TR("Riga ") << first+1 << ": Vincolo non ripettato al " << d;
|
||||
beep();
|
||||
signal =FALSE;
|
||||
xvt_statbar_set(err);
|
||||
@ -2142,7 +2142,7 @@ bool TPlanning_mask::do_test_art_row(int r, int first, int last, bool signal)
|
||||
do_test_art_2ndlevel(art2ndlev);
|
||||
else
|
||||
if (signal)
|
||||
message_box("Impossibile determinare l'articolo Master per %s",(const char*)currconstr->articolo());
|
||||
message_box(FR("Impossibile determinare l'articolo Master per %s"),(const char*)currconstr->articolo());
|
||||
r--;
|
||||
}
|
||||
while (art2ndlev=currconstr->get_unused_line2())
|
||||
@ -2277,7 +2277,7 @@ bool TPlanning_mask::test_art_row(int r, bool signal)
|
||||
{
|
||||
if (value != goodvalue)
|
||||
{
|
||||
error_box("Impossibile modificare la quantita' per l'articolo %s, colonna %d",(const char *)line->articolo(),b);
|
||||
error_box(FR("Impossibile modificare la quantita' per l'articolo %s, colonna %d"),(const char *)line->articolo(),b);
|
||||
do_events();
|
||||
ok = FALSE;
|
||||
}
|
||||
@ -2287,7 +2287,7 @@ bool TPlanning_mask::test_art_row(int r, bool signal)
|
||||
{
|
||||
if (!get_bool(F_RESCHEDULING) || get_int(F_RESCHED_ALERT))
|
||||
{
|
||||
TString msg (format("%s %s confermati per l'articolo %s, colonna %d",(const char *)line->qta_min(b).string(),(const char *)line->um(),(const char *)line->articolo(),b));
|
||||
TString msg (format(FR("%s %s confermati per l'articolo %s, colonna %d"),(const char *)line->qta_min(b).string(),(const char *)line->um(),(const char *)line->articolo(),b));
|
||||
if (get_bool(F_RESCHEDULING))
|
||||
{
|
||||
if (err)
|
||||
@ -2340,7 +2340,7 @@ bool TPlanning_mask::test_load_row(int r, bool signal)
|
||||
TString err;
|
||||
TDate d = starting_date() + long(days_per_bucket() * (b-1));
|
||||
round_date(d);
|
||||
err << "Riga " << c+1 << ": capacità superata al " << d;
|
||||
err << TR("Riga ") << c+1 << TR(": capacità superata al ") << d;
|
||||
beep();
|
||||
signal =FALSE;
|
||||
xvt_statbar_set(err);
|
||||
@ -2574,13 +2574,13 @@ int TPlanning_mask::salva_documenti(TExceptions_array &excepts, TSheet_field & s
|
||||
const bool ordiniXscadenza = get_bool(F_DIVIDEBYDATE);
|
||||
|
||||
if (ordiniXscadenza && ordiniXarticolo)
|
||||
if (!noyes_box("E' stato scelto di generare un ordine diverso per ogni articolo e scadenza: confermare?"))
|
||||
if (!noyes_box(TR("E' stato scelto di generare un ordine diverso per ogni articolo e scadenza: confermare?")))
|
||||
return 0;
|
||||
if (!(ordiniXscadenza || ordiniXarticolo))
|
||||
if (!noyes_box("E' stato scelto di generare un unico ordine per ogni articolo e scadenza: confermare?"))
|
||||
if (!noyes_box(TR("E' stato scelto di generare un unico ordine per ogni articolo e scadenza: confermare?")))
|
||||
return 0;
|
||||
|
||||
TProgind pi(LAST_BUCKET*sf.items(), "Emissione documenti" , FALSE, TRUE);
|
||||
TProgind pi(LAST_BUCKET*sf.items(), TR("Emissione documenti") , FALSE, TRUE);
|
||||
if (ordiniXscadenza)
|
||||
{
|
||||
// *************************
|
||||
@ -2604,7 +2604,7 @@ int TPlanning_mask::salva_documenti(TExceptions_array &excepts, TSheet_field & s
|
||||
key.format("%d",r);
|
||||
if (row->get_long(F_BUCKET0+b-FIRST_FIELD)!=0L && !error_on_row.is_key(key))
|
||||
{
|
||||
error_box("Riga %d: manca l'indicazione del codice %s",r+1,get(F_TIPOCF)[0] == 'F' ? "fornitore" : "cliente");
|
||||
error_box(FR("Riga %d: manca l'indicazione del codice %s"),r+1,get(F_TIPOCF)[0] == 'F' ? "fornitore" : "cliente");
|
||||
error_on_row.add(key,NULL);
|
||||
}
|
||||
}
|
||||
@ -2638,7 +2638,7 @@ int TPlanning_mask::salva_documenti(TExceptions_array &excepts, TSheet_field & s
|
||||
key.format("%d",r);
|
||||
if (row->get_long(F_BUCKET0+b-FIRST_FIELD)!=0L && !error_on_row.is_key(key))
|
||||
{
|
||||
error_box("Riga %d: manca l'indicazione del codice %s",r+1,get(F_TIPOCF)[0] == 'F' ? "fornitore" : "cliente");
|
||||
error_box(FR("Riga %d: manca l'indicazione del codice %s"),r+1,get(F_TIPOCF)[0] == 'F' ? "fornitore" : "cliente");
|
||||
error_on_row.add(key,NULL);
|
||||
}
|
||||
}
|
||||
@ -2657,11 +2657,11 @@ int TPlanning_mask::salva_documenti(TExceptions_array &excepts, TSheet_field & s
|
||||
switch (some)
|
||||
{
|
||||
case 0:
|
||||
message_box("Nessun documento generato o modificato \n(numerazione %s, tipo %s)",
|
||||
message_box(FR("Nessun documento generato o modificato \n(numerazione %s, tipo %s)"),
|
||||
(const char *)save_numplan,(const char *)save_tipoplan);
|
||||
break;
|
||||
case -1:
|
||||
if (!yesno_box("Problemi nella registrazione dei documenti.\n(numerazione %s, tipo %s)\nRipeto l'elaborazione ?",
|
||||
if (!yesno_box(FR("Problemi nella registrazione dei documenti.\n(numerazione %s, tipo %s)\nRipeto l'elaborazione ?"),
|
||||
(const char *)save_numplan,(const char *)save_tipoplan))
|
||||
some = 0;
|
||||
break;
|
||||
@ -2669,7 +2669,7 @@ int TPlanning_mask::salva_documenti(TExceptions_array &excepts, TSheet_field & s
|
||||
}
|
||||
}
|
||||
if (somefilter == 0)
|
||||
message_box("Nessuna opzione di registrazione selezionata");
|
||||
message_box(TR("Nessuna opzione di registrazione selezionata"));
|
||||
return some;
|
||||
}
|
||||
|
||||
@ -2689,7 +2689,7 @@ bool TPlanning_mask::on_savefields_event(long jolly)
|
||||
if (tmp == row->get(num_s.cid2index(F_NUMERAZ)))
|
||||
break;
|
||||
if (r < 0)
|
||||
return sf.error_box("Numerazione '%s' non inclusa tra quelle di planning", (const char *)tmp);
|
||||
return sf.error_box(FR("Numerazione '%s' non inclusa tra quelle di planning"), (const char *)tmp);
|
||||
}
|
||||
{
|
||||
tmp = sf.row(nriga).get(sf.cid2index(F_TIPO_PLAN));
|
||||
@ -2698,14 +2698,14 @@ bool TPlanning_mask::on_savefields_event(long jolly)
|
||||
if (tmp == row->get(tipo_s.cid2index(F_TIPO)))
|
||||
break;
|
||||
if (r < 0)
|
||||
return sf.error_box("Tipo documento '%s' non incluso tra quelli di planning", (const char *)tmp);
|
||||
return sf.error_box(FR("Tipo documento '%s' non incluso tra quelli di planning"), (const char *)tmp);
|
||||
}
|
||||
} while (--nriga >= 0 && jolly < 0);
|
||||
return TRUE;
|
||||
}
|
||||
bool TPlanning_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
const char * confirm_msg="Le modifiche non registrate sulle attuali %d linee di articoli verranno perse: confermare?";
|
||||
const char * confirm_msg=FR("Le modifiche non registrate sulle attuali %d linee di articoli verranno perse: confermare?");
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_DADATA:
|
||||
@ -2756,7 +2756,7 @@ bool TPlanning_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
||||
ok=test_tipodoc_num(sfield(F_NUM_ORC), s );
|
||||
return ok;
|
||||
}
|
||||
return error_box("E' necessario inserire almeno una riga");
|
||||
return error_box(TR("E' necessario inserire almeno una riga"));
|
||||
}
|
||||
break;
|
||||
|
||||
@ -3061,7 +3061,7 @@ bool TPlanning_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
||||
TMSP_line *l = _articles.find(s.row(curr_row));
|
||||
if (l)
|
||||
{
|
||||
TLista_docref m(l,"Documenti pianificati", starting_date(), days_per_bucket());
|
||||
TLista_docref m(l,TR("Documenti pianificati"), starting_date(), days_per_bucket());
|
||||
if (m.reset_bucket_field())
|
||||
{
|
||||
if (m.run() != K_ESC)
|
||||
@ -3069,7 +3069,7 @@ bool TPlanning_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
message_box("Nessun ordine pianificato per la riga corrente");
|
||||
message_box(TR("Nessun ordine pianificato per la riga corrente"));
|
||||
}
|
||||
break;
|
||||
case F_DOCUMENTI_IN:
|
||||
@ -3089,7 +3089,7 @@ bool TPlanning_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
||||
{
|
||||
case F_DOCUMENTI_IN:
|
||||
{
|
||||
TLista_docref m(c,"Documenti vincolo",starting_date(), days_per_bucket());
|
||||
TLista_docref m(c,TR("Documenti vincolo"),starting_date(), days_per_bucket());
|
||||
if (m.reset_bucket_field())
|
||||
{
|
||||
if (m.run()!= K_ESC)
|
||||
@ -3104,7 +3104,7 @@ bool TPlanning_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
||||
if (m.reset_bucket_field())
|
||||
m.run();
|
||||
else
|
||||
message_box("Nessun vincolo interno sulla riga corrente");
|
||||
message_box(TR("Nessun vincolo interno sulla riga corrente"));
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
@ -3114,13 +3114,13 @@ bool TPlanning_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
||||
if (m.reset_bucket_field())
|
||||
m.run();
|
||||
else
|
||||
message_box("Nessun articolo Master dipendente dalla riga corrente");
|
||||
message_box(TR("Nessun articolo Master dipendente dalla riga corrente"));
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
message_box("Nessun vincolo per la riga corrente");
|
||||
message_box(TR("Nessun vincolo per la riga corrente"));
|
||||
}
|
||||
break;
|
||||
case F_SHOW_WEEK:
|
||||
@ -3233,7 +3233,7 @@ void TPlanning_mask::init()
|
||||
// sfield(F_TESTE).disable();
|
||||
|
||||
load_profile();
|
||||
_npr_pos =_sel_color.add_color_def("PROP", "Nuove proposte", COLOR_YELLOW, COLOR_BLACK);
|
||||
_npr_pos =_sel_color.add_color_def("PROP", TR("Nuove proposte"), COLOR_YELLOW, COLOR_BLACK);
|
||||
}
|
||||
|
||||
|
||||
@ -3491,7 +3491,7 @@ bool TMSPCheck_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
||||
if (redo = move_to(FC_UP))
|
||||
_col = LAST_BUCKET+1;
|
||||
}
|
||||
message_box("Ricerca terminata");
|
||||
message_box(TR("Ricerca terminata"));
|
||||
break;
|
||||
|
||||
case FC_DOWN_BAD:
|
||||
@ -3513,7 +3513,7 @@ bool TMSPCheck_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
||||
if (redo = move_to(FC_DOWN))
|
||||
_col = -1;
|
||||
}
|
||||
message_box("Ricerca terminata");
|
||||
message_box(TR("Ricerca terminata"));
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -3762,6 +3762,6 @@ void TPlanning_app::main_loop()
|
||||
int mr2200(int argc, char* argv[])
|
||||
{
|
||||
TPlanning_app a;
|
||||
a.run(argc, argv, "Pianificazione ordini");
|
||||
a.run(argc, argv, TR("Pianificazione ordini"));
|
||||
return 0;
|
||||
}
|
@ -54,12 +54,12 @@ bool TMSP_form::validate(TForm_item &cf, TToken_string &cmd)
|
||||
TString val;
|
||||
if (rel->lfile().get("TIPO")=="C")
|
||||
{
|
||||
val="Ordini da soddisfare";
|
||||
val=TR("Ordini da soddisfare");
|
||||
}
|
||||
else if (rel->lfile().get("TIPO")=="G")
|
||||
val="Giacenza proiettata";
|
||||
val=TR("Giacenza proiettata");
|
||||
else
|
||||
val="Ordini pianificati";
|
||||
val=TR("Ordini pianificati");
|
||||
cf.set(val);
|
||||
}
|
||||
return TRUE;
|
||||
@ -106,12 +106,12 @@ bool TCRP_form::validate(TForm_item &cf, TToken_string &cmd)
|
||||
const char type = curr.get_char("TIPO");
|
||||
switch (type)
|
||||
{
|
||||
case 'D': val = " Capacità totale"; break;
|
||||
case 'd': val = " Carico totale"; break;
|
||||
case 'I': val = " Capacità impianto "; val << curr.get("IMPIANTO"); break;
|
||||
case 'i': val = " Carico impianto "; val << curr.get("IMPIANTO"); break;
|
||||
case 'L': val = " Capacità linea "; val << curr.get("LINEA"); break;
|
||||
case 'l': val = " Carico linea "; val << curr.get("LINEA"); break;
|
||||
case 'D': val = TR(" Capacità totale"); break;
|
||||
case 'd': val = TR(" Carico totale"); break;
|
||||
case 'I': val = TR(" Capacità impianto "); val << curr.get("IMPIANTO"); break;
|
||||
case 'i': val = TR(" Carico impianto "); val << curr.get("IMPIANTO"); break;
|
||||
case 'L': val = TR(" Capacità linea "); val << curr.get("LINEA"); break;
|
||||
case 'l': val = TR(" Carico linea "); val << curr.get("LINEA"); break;
|
||||
default:
|
||||
val = curr.get("CODART");
|
||||
val << " " << relation()->curr(LF_ANAMAG).get("DESCR");
|
||||
@ -278,14 +278,12 @@ void complete_codlinea(TToken_string &r2, bool ignore_imp)
|
||||
TString codimp(r2.get(F_CODIMP-FIRST_FIELD));
|
||||
dist_tree().set_global("_IMPIANTO",codimp);
|
||||
dist_tree().set_global("_LINEA","");
|
||||
//dist_tree().set_global("_LIVELLO",);
|
||||
//dist_tree().set_global("_MAGDEP",);
|
||||
TArray labors;
|
||||
TRiga_esplosione * l=dist_tree().first_critical_labor(labors);
|
||||
if (l)
|
||||
{
|
||||
TLavorazione *curr_labor=TDistinta_tree::find_labor(l);
|
||||
CHECK(curr_labor,"Lavorazione non trovata");
|
||||
CHECK(curr_labor,TR("Lavorazione non trovata"));
|
||||
for (int nlinea=0; nlinea <curr_labor->linee_standard(); nlinea ++)
|
||||
{
|
||||
const TRectype &linea_prod= cache().get("LNP",curr_labor->cod_linea(nlinea));
|
||||
@ -563,7 +561,7 @@ TCRP_line::TCRP_line(const TString& codimp,const TString& codlin,const TString&
|
||||
}
|
||||
else
|
||||
{
|
||||
_desc = "Totale ditta";
|
||||
_desc = TR("Totale ditta");
|
||||
}
|
||||
}
|
||||
if (!codart.blank())
|
||||
@ -589,7 +587,7 @@ void TCRP_line::fill_capacity_row(TToken_string& row, char load_type, bool perce
|
||||
{
|
||||
row.add(codimp(),F_CODIMPCRP -FIRST_FIELD);
|
||||
row.add(codlin(),F_CODLINCRP -FIRST_FIELD);
|
||||
row.add("Capacità",F_CODARTCRP -FIRST_FIELD);
|
||||
row.add(TR("Capacità"),F_CODARTCRP -FIRST_FIELD);
|
||||
|
||||
row.add(percent ? "%" : (load_type == '$' ? " $ " :( load_type == 'P' ? "Pz." : "ore")),F_LUM -FIRST_FIELD);
|
||||
|
||||
@ -617,7 +615,7 @@ void TCRP_line::fill_load_row(TToken_string& row, char load_type, bool percent)
|
||||
row.add(codimp(),F_CODIMPCRP -FIRST_FIELD);
|
||||
row.add(codlin(),F_CODLINCRP -FIRST_FIELD);
|
||||
if (codart().blank())
|
||||
row.add("Carico",F_CODARTCRP -FIRST_FIELD);
|
||||
row.add(TR("Carico"),F_CODARTCRP -FIRST_FIELD);
|
||||
else
|
||||
row.add(codart(),F_CODARTCRP -FIRST_FIELD);
|
||||
|
||||
@ -1339,11 +1337,11 @@ long TPlan_docs::flush(const TDate& data, const char * codart)
|
||||
if (tot > 0L)
|
||||
{
|
||||
TString msg;
|
||||
msg << "Registrazione dei documenti di planning";
|
||||
msg << TR("Registrazione dei documenti di planning");
|
||||
if (codart)
|
||||
msg << " articolo " << codart;
|
||||
msg << TR(" articolo ") << codart;
|
||||
if (data.ok())
|
||||
msg << " per il " << data;
|
||||
msg << TR(" per il ") << data;
|
||||
TProgind pi(tot, msg, FALSE, TRUE);
|
||||
TLocalisamfile lfdoc(LF_DOC);
|
||||
for (long d = 0; d < tot; d++)
|
||||
@ -1372,7 +1370,7 @@ long TPlan_docs::flush(const TDate& data, const char * codart)
|
||||
}
|
||||
if (err != NOERR)
|
||||
{
|
||||
error_box("Impossibile riscrivere il documento del %d %s %ld",(int)doc.anno(), (const char *)doc.numerazione(),(long)doc.numero());
|
||||
error_box(FR("Impossibile riscrivere il documento del %d %s %ld"),(int)doc.anno(), (const char *)doc.numerazione(),(long)doc.numero());
|
||||
retv=-1;
|
||||
}
|
||||
}
|
||||
@ -1481,9 +1479,9 @@ void TLista_dettagli::init(const char * title, TDate fromdate, int bucketsize)
|
||||
_bucksize = bucketsize;
|
||||
TMask_field &f= add_list(FIRST_FIELD,0,"Bucket ",1,0,2,"","0|1|2|3|4|5|6|7|8|9|10|11|12|13","0|1|2|3|4|5|6|7|8|9|10|11|12|13");
|
||||
f.set_handler(bucket_handler);
|
||||
add_date(FIRST_FIELD+1,0,"Dal ",16,0,"D");
|
||||
add_date(FIRST_FIELD+2,0,"al ",33,0,"D");
|
||||
add_string(FIRST_FIELD+3,0,"Settimana ",49,0,15,"D");
|
||||
add_date(FIRST_FIELD+1,0,TR("Dal "),16,0,"D");
|
||||
add_date(FIRST_FIELD+2,0,TR("al "),33,0,"D");
|
||||
add_string(FIRST_FIELD+3,0,TR("Settimana "),49,0,15,"D");
|
||||
}
|
||||
|
||||
TLista_dettagli::TLista_dettagli(const char * title, TDate fromdate, int bucketsize, const char * head) :
|
||||
@ -1591,16 +1589,16 @@ TLista_docref ::~TLista_docref ()
|
||||
const char *TLista_mastercodes::header()
|
||||
{
|
||||
static TToken_string h;
|
||||
h = "@1|Articolo@20";
|
||||
h = HR("@1|Articolo@20");
|
||||
for (int l = 1; l <= livelli_giacenza().last_level() ; l++)
|
||||
h << "|" << livelli_giacenza().name(l) << "@" << livelli_giacenza().code_length(l) ;
|
||||
h.add("Impianto");
|
||||
h.add("Linea|Cod.Mag.|UM|Quantita'@12|Consegna");
|
||||
h.add(TR("Impianto"));
|
||||
h.add(HR("Linea|Cod.Mag.|UM|Quantita'@12|Consegna"));
|
||||
return h;
|
||||
}
|
||||
|
||||
TLista_mastercodes::TLista_mastercodes(TMSP_constraint *c, TToken_string &l, TDate fromdate, int bucketsize):
|
||||
TLista_dettagli("Articoli Master interessati", fromdate, bucketsize, header())
|
||||
TLista_dettagli(TR("Articoli Master interessati"), fromdate, bucketsize, header())
|
||||
{
|
||||
_line_art = c->use_mspline2(l);
|
||||
}
|
||||
@ -1636,15 +1634,15 @@ long TLista_mastercodes::get_items(int b) const
|
||||
const char *TLista_upperlines::header()
|
||||
{
|
||||
static TToken_string h;
|
||||
h = "@1|Articolo@20";
|
||||
h = HR("@1|Articolo@20");
|
||||
for (int l = 1; l <= livelli_giacenza().last_level() ; l++)
|
||||
h << "|" << livelli_giacenza().name(l) << "@" << livelli_giacenza().code_length(l) ;
|
||||
h.add("Impianto|Linea|Mag.|Dep.|UM|Quantita'@12");
|
||||
h.add(HR("Impianto|Linea|Mag.|Dep.|UM|Quantita'@12"));
|
||||
return h;
|
||||
}
|
||||
|
||||
TLista_upperlines::TLista_upperlines(TMSP_constraint *l, TDate fromdate, int bucketsize):
|
||||
TLista_dettagli("Vincoli da articoli non Master", fromdate, bucketsize,header())
|
||||
TLista_dettagli(TR("Vincoli da articoli non Master"), fromdate, bucketsize,header())
|
||||
{
|
||||
_line = l;
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ void TPlanning_mask::print_except_header(TPrinter& pr)
|
||||
{
|
||||
TPrintrow row;
|
||||
print_header(pr);
|
||||
row.put("@48G@BSTAMPA TABULATO ECCEZIONI DA M.S.P.");
|
||||
row.put(FR("@48G@BSTAMPA TABULATO ECCEZIONI DA M.S.P."));
|
||||
pr.setheaderline(1,row);
|
||||
row.reset();
|
||||
row.put((const char *)TString(131,'-'));
|
||||
@ -60,8 +60,8 @@ void TPlanning_mask::print_articles(int from_col, int num_cols, const char * row
|
||||
|
||||
TIsamtempfile * report = new TIsamtempfile(LF_MRPREPORT,repname, TRUE, TRUE );
|
||||
TString8 codimp,codlin;
|
||||
TProgind pi(nrows, format("Stampa %s...",get_bool(F_MSCHEDULEPLAN)?
|
||||
"Master Schedule Plan":"pianificazione ordini"));
|
||||
TProgind pi(nrows, format(FR("Stampa %s..."),get_bool(F_MSCHEDULEPLAN)?
|
||||
TR("Master Schedule Plan"):TR("pianificazione ordini")));
|
||||
|
||||
const int a_buck0 = sf.cid2index(F_BUCKET0);
|
||||
for (int r=0; r<nrows; r++)
|
||||
@ -151,13 +151,13 @@ void TPlanning_mask::print_articles(int from_col, int num_cols, const char * row
|
||||
short b = -1;
|
||||
--fd;
|
||||
TString descr;
|
||||
descr.format("Fino\nal %s", (const char*)fd);
|
||||
descr.format(FR("Fino\nal %s"), (const char*)fd);
|
||||
form.find_field('B', odd_page, first_id).set_col_head(descr);
|
||||
for (;fd <= td;)
|
||||
{
|
||||
++b;
|
||||
++fd;
|
||||
descr.format("Da %s\nAl ",(const char*)fd);
|
||||
descr.format(FR("Da %s\nAl "),(const char*)fd);
|
||||
round_date(fd,TRUE,FALSE);
|
||||
descr << fd.string();
|
||||
if (first_id+b+1 > last_id)
|
||||
@ -165,7 +165,7 @@ void TPlanning_mask::print_articles(int from_col, int num_cols, const char * row
|
||||
form.find_field('B', odd_page, first_id+b+1).set_col_head(descr);
|
||||
}
|
||||
++td;
|
||||
descr.format("Dal %s", (const char*)td);
|
||||
descr.format(FR("Dal %s"), (const char*)td);
|
||||
if (b == LAST_BUCKET)
|
||||
form.find_field('B', odd_page, first_id+b+1).set_col_head(descr);
|
||||
const int hh = 7;
|
||||
@ -196,8 +196,8 @@ void TPlanning_mask::print_capacities()
|
||||
|
||||
TSheet_field& sf = sfield(F_LINEE);
|
||||
const int nrows=sf.items();
|
||||
TProgind pi(nrows, format("Stampa %s...",(*get(F_LOADTYPE)=='M')?
|
||||
"carico macchina":"carico uomo"));
|
||||
TProgind pi(nrows, format(FR("Stampa %s..."),(*get(F_LOADTYPE)=='M')?
|
||||
TR("carico macchina"):TR("carico uomo")));
|
||||
const int a_buck0 = sf.cid2index(F_LBUCKET0);
|
||||
for (int r=0; r <nrows ; r++)
|
||||
{
|
||||
@ -257,7 +257,7 @@ bool TPlanning_mask::find_exceptions(TExceptions_array &e, bool anticipi, bool p
|
||||
{
|
||||
_mrp_articles.destroy();
|
||||
if (verbose)
|
||||
message_box("Rescheduling non abilitato");
|
||||
message_box(TR("Rescheduling non abilitato"));
|
||||
}
|
||||
else if (load_MRP_lines(_rescheduling))
|
||||
{
|
||||
@ -265,7 +265,7 @@ bool TPlanning_mask::find_exceptions(TExceptions_array &e, bool anticipi, bool p
|
||||
const int bucket1 = sf.cid2index(F_BUCKET1);
|
||||
// PER OGNI ARTICOLO ...
|
||||
const long max_mrp_rows=_mrp_articles.items();
|
||||
TProgind pi=((max_mrp_rows+1)*LAST_BUCKET ,"Ricerca eccezioni...", TRUE, TRUE);
|
||||
TProgind pi=((max_mrp_rows+1)*LAST_BUCKET ,TR("Ricerca eccezioni..."), TRUE, TRUE);
|
||||
for (long mrp_row=0; mrp_row < max_mrp_rows; mrp_row++)
|
||||
{
|
||||
pi.addstatus(1);
|
||||
@ -278,7 +278,7 @@ bool TPlanning_mask::find_exceptions(TExceptions_array &e, bool anticipi, bool p
|
||||
} // ... for each article
|
||||
}
|
||||
if (verbose && e.items()<=0)
|
||||
message_box("Nessuna eccezione rilevata");
|
||||
message_box(TR("Nessuna eccezione rilevata"));
|
||||
return e.items()>0;
|
||||
}
|
||||
|
||||
@ -417,7 +417,7 @@ void TMRP_line::print_exception(int from, int to, const real &diff, int header)
|
||||
if (header <= 0)
|
||||
{
|
||||
pr.print(prow);
|
||||
prow.put(format("@bArticolo %s %s", (const char *)articolo(), (const char *)cache().get(LF_ANAMAG, code).get(ANAMAG_DESCR)));
|
||||
prow.put(format(FR("@bArticolo %s %s"), (const char *)articolo(), (const char *)cache().get(LF_ANAMAG, code).get(ANAMAG_DESCR)));
|
||||
pr.print(prow);
|
||||
prow.reset();
|
||||
if (livelli_giacenza().enabled())
|
||||
@ -436,7 +436,7 @@ void TMRP_line::print_exception(int from, int to, const real &diff, int header)
|
||||
}
|
||||
if (header <= 1)
|
||||
{
|
||||
prow.put(format("Ordini emessi con scadenza entro il @41g%s", (const char*)fromdate.string()));
|
||||
prow.put(format(FR("Ordini emessi con scadenza entro il @41g%s"), (const char*)fromdate.string()));
|
||||
pr.print(prow);
|
||||
prow.reset();
|
||||
// stampa dettaglio ordini
|
||||
@ -446,7 +446,7 @@ void TMRP_line::print_exception(int from, int to, const real &diff, int header)
|
||||
for (int nref = 0; nref < nrefs; nref++)
|
||||
{
|
||||
TMRP_docref & docref = docrefs->get_ref(nref);
|
||||
prow.put(format("@2gDocumento %s %4d n.%8ld riga %d %s %s",
|
||||
prow.put(format(FR("@2gDocumento %s %4d n.%8ld riga %d %s %s"),
|
||||
(const char*)docref.codnumdoc(),docref.annodoc(),docref.numdoc(),docref.numrig(),
|
||||
(const char*)docref.qta_residua().stringa(18,3),(const char*)docref.um()));
|
||||
pr.print(prow);
|
||||
@ -457,8 +457,8 @@ void TMRP_line::print_exception(int from, int to, const real &diff, int header)
|
||||
const TString16 um =cache().get(LF_UMART,code).get("UM");
|
||||
const real v = abs(diff);
|
||||
prow.put(format("@2g%s %s %s", (from == to) ?
|
||||
(diff.sign()>0 ? "Eliminare " : "Aggiungere " ):
|
||||
(from < to ? "Posticipare" : "Anticipare "),
|
||||
(diff.sign()>0 ? TR("Eliminare ") : TR("Aggiungere ") ):
|
||||
(from < to ? TR("Posticipare") : TR("Anticipare ")),
|
||||
(const char*)v.stringa(18,3), (const char *)um));
|
||||
if (from != to)
|
||||
{
|
||||
|
@ -32,6 +32,6 @@ bool TMSP_app::create()
|
||||
int mr2300(int argc, char* argv[])
|
||||
{
|
||||
TMSP_app a;
|
||||
a.run(argc, argv, "Master Schedule Planning");
|
||||
a.run(argc, argv, TR("Master Schedule Planning"));
|
||||
return 0;
|
||||
}
|
||||
|
@ -34,6 +34,6 @@ bool TOrdAcq_app::create()
|
||||
int mr2400(int argc, char* argv[])
|
||||
{
|
||||
TOrdAcq_app a;
|
||||
a.run(argc, argv, "Pianificazione ordini acquisto");
|
||||
a.run(argc, argv, TR("Pianificazione ordini acquisto"));
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include <config.h>
|
||||
#include <diction.h>
|
||||
#include <prefix.h>
|
||||
#include <progind.h>
|
||||
#include <tabutil.h>
|
||||
@ -152,7 +153,7 @@ long TMRP_array::sort()
|
||||
|
||||
TProgind* pi = NULL;
|
||||
if (last >= 16)
|
||||
pi = new TProgind(last, "Ordinamento", FALSE, TRUE);
|
||||
pi = new TProgind(last, TR("Ordinamento"), FALSE, TRUE);
|
||||
else
|
||||
begin_wait();
|
||||
|
||||
@ -206,9 +207,9 @@ void TMRP_calendar::init_default()
|
||||
// Inizializza i turni dei 5 giorni feriali a 1
|
||||
// Inizializza i turni di sabato e domenica a 0
|
||||
// Inizializza i turni dei giorni festivi a 0
|
||||
_days = cfg.get("Turni", NULL, -1, "1111100011111000");
|
||||
_days = cfg.get(TR("Turni"), NULL, -1, "1111100011111000");
|
||||
// Inizializza la lista delle feste comandate tranne la Pasqua
|
||||
_holidays = cfg.get("Feste", NULL, -1,
|
||||
_holidays = cfg.get(TR("Feste"), NULL, -1,
|
||||
"01-01|06-01|25-04|01-05|15-08|01-11|08-12|25-12|26-12");
|
||||
TUnita_produttiva * up=NULL;
|
||||
if (_codlin.not_empty())
|
||||
@ -278,19 +279,12 @@ void TMRP_calendar::suppress_holiday(int g, int m)
|
||||
|
||||
void TMRP_calendar::read_cal(const TString& key, char tipo)
|
||||
{
|
||||
TTable cal(tipo == 'L' ? "CAL" : "CAI");
|
||||
TString16 codtab = tipo == 'L' ? _codlin : _codimp;
|
||||
|
||||
codtab << key;
|
||||
cal.put("CODTAB", codtab);
|
||||
TString* s1 = new TString(62);
|
||||
if (cal.read() == NOERR)
|
||||
*s1 = cal.get("S1");
|
||||
const int l1 = s1->len();
|
||||
if (l1 < s1->size())
|
||||
{
|
||||
const TString spc(s1->size()-l1, ' ');
|
||||
*s1 << spc;
|
||||
}
|
||||
TString s1 = cache().get(tipo == 'L' ? "CAL" : "CAI", codtab, "S1");
|
||||
|
||||
s1.rpad(62);
|
||||
if (tipo == 'L')
|
||||
_exc_lin.add(key, s1);
|
||||
else
|
||||
@ -317,12 +311,12 @@ int TMRP_calendar::write_cal(char tipo) const
|
||||
const int mese = atoi(codtab.mid(9, 2));
|
||||
if (tipo == 'L')
|
||||
{
|
||||
s0 = "Linea ";
|
||||
s0 = TR("Linea ");
|
||||
s0 << _codlin;
|
||||
}
|
||||
else
|
||||
{
|
||||
s0 = "Impianto ";
|
||||
s0 = TR("Impianto ");
|
||||
s0 << _codimp;
|
||||
}
|
||||
s0 << ' ' << anno << ' ' << itom(mese);
|
||||
@ -333,7 +327,7 @@ int TMRP_calendar::write_cal(char tipo) const
|
||||
err = cal.rewrite();
|
||||
if (err != NOERR)
|
||||
{
|
||||
error_box("Errore %d nell'aggiornamento del calendario %s",
|
||||
error_box(FR("Errore %d nell'aggiornamento del calendario %s"),
|
||||
err, (const char*)codtab);
|
||||
break;
|
||||
}
|
||||
@ -600,23 +594,14 @@ void TMRP_calendar::set(const char* linea, const char* impianto)
|
||||
|
||||
if (_codlin.not_empty())
|
||||
{
|
||||
TTable lnp("LNP");
|
||||
lnp.put("CODTAB", _codlin);
|
||||
if (lnp.read() == NOERR)
|
||||
{
|
||||
if (impianto == NULL)
|
||||
_codimp = lnp.get("S6");
|
||||
}
|
||||
else
|
||||
_codlin = "";
|
||||
const TRectype & lnp = cache().get("LNP", _codlin);
|
||||
|
||||
_codlin = lnp.get("CODTAB");
|
||||
if (impianto == NULL)
|
||||
_codimp = lnp.get("S6");
|
||||
}
|
||||
if (_codimp.not_empty())
|
||||
{
|
||||
TTable imp("IMP");
|
||||
imp.put("CODTAB", _codimp);
|
||||
if (imp.read() != NOERR)
|
||||
_codimp = "";
|
||||
}
|
||||
_codimp = cache().get("IMP", _codimp, "CODTAB");
|
||||
}
|
||||
|
||||
char TMRP_calendar::tipo() const
|
||||
@ -689,29 +674,29 @@ void TCalendar_win::handler(WINDOW win, EVENT* ep)
|
||||
switch (_calendario->tipo())
|
||||
{
|
||||
case 'S':
|
||||
calname="Calendario standard";
|
||||
calname=TR("Calendario standard");
|
||||
break;
|
||||
case 'I':
|
||||
calname="Calendario impianto ";
|
||||
calname=TR("Calendario impianto ");
|
||||
calname << '"'<< _calendario->impianto() << '"';
|
||||
break;
|
||||
case 'L':
|
||||
calname="Calendario linea ";
|
||||
calname=TR("Calendario linea ");
|
||||
calname << '"'<< _calendario->linea() << '"';
|
||||
break;
|
||||
}
|
||||
TMask m(calname, 1, 40, 8);
|
||||
m.add_static(DLG_NULL, 0, "Turni del giorno ", 1, 1);
|
||||
m.add_static(DLG_NULL, 0, TR("Turni del giorno "), 1, 1);
|
||||
m.add_date(101, 0, "", 1, 2, "D");
|
||||
m.add_string(102, 0, "", 19, 2, 9, "D");
|
||||
m.add_boolean(103, 0, "Festa", 31, 2, is_std ? "":"D");
|
||||
m.add_boolean(103, 0, TR("Festa"), 31, 2, is_std ? "":"D");
|
||||
if (is_std)
|
||||
{
|
||||
m.add_list(104, 0, "Turni minimi ", 1, 4, 8, "", "0|1|2|3|4|5|6|7|8", "Nessuno|1 turno|2 turni|3 turni|4 turni|5 turni|6 turni|7 turni|8 turni");
|
||||
m.add_list(105, 0, "Turni massimi ", 1, 5, 8, "", "0|1|2|3|4|5|6|7|8", "Nessuno|1 turno|2 turni|3 turni|4 turni|5 turni|6 turni|7 turni|8 turni");
|
||||
m.add_list(104, 0, TR("Turni minimi "), 1, 4, 8, "", "0|1|2|3|4|5|6|7|8", "Nessuno|1 turno|2 turni|3 turni|4 turni|5 turni|6 turni|7 turni|8 turni");
|
||||
m.add_list(105, 0, TR("Turni massimi "), 1, 5, 8, "", "0|1|2|3|4|5|6|7|8", "Nessuno|1 turno|2 turni|3 turni|4 turni|5 turni|6 turni|7 turni|8 turni");
|
||||
} else {
|
||||
m.add_list(104, 0, "Turni minimi ", 1, 4, 8, "", " |0|1|2|3|4|5|6|7|8", "Standard|Nessuno|1 turno|2 turni|3 turni|4 turni|5 turni|6 turni|7 turni|8 turni");
|
||||
m.add_list(105, 0, "Turni massimi ", 1, 5, 8, "", " |0|1|2|3|4|5|6|7|8", "Standard|Nessuno|1 turno|2 turni|3 turni|4 turni|5 turni|6 turni|7 turni|8 turni");
|
||||
m.add_list(104, 0, TR("Turni minimi "), 1, 4, 8, "", " |0|1|2|3|4|5|6|7|8", "Standard|Nessuno|1 turno|2 turni|3 turni|4 turni|5 turni|6 turni|7 turni|8 turni");
|
||||
m.add_list(105, 0, TR("Turni massimi "), 1, 5, 8, "", " |0|1|2|3|4|5|6|7|8", "Standard|Nessuno|1 turno|2 turni|3 turni|4 turni|5 turni|6 turni|7 turni|8 turni");
|
||||
}
|
||||
m.add_number(106, 0, "= ", 31, 4, 1, "D");
|
||||
m.add_number(107, 0, "= ", 31, 5, 1, "D");
|
||||
|
Loading…
x
Reference in New Issue
Block a user