Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento : Aggiunta la gestione da mese a mese nelle 2 stampe; eliminata la possibilita' di fare da commessa a commessa (e/o cdc) in quanto cagata assurda, mentre si e' mantenuta la da-a nelle risorse git-svn-id: svn://10.65.10.50/branches/R_10_00@22266 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e777a89daf
commit
65e0251976
100
ci/ci1300.cpp
100
ci/ci1300.cpp
@ -47,7 +47,7 @@ class TRil_ore_ris_mask : public TAutomask
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
void elabora_risorsa(const TString& curr_risorsa, TReport& rep) const;
|
||||
void elabora_risorsa(const TString& curr_risorsa, const int curr_mese, TReport& rep) const;
|
||||
|
||||
public:
|
||||
void elabora() const;
|
||||
@ -65,12 +65,12 @@ bool TRil_ore_ris_mask::on_field_event(TOperable_field& o, TField_event e, long
|
||||
return true;
|
||||
}
|
||||
|
||||
void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, TReport& rep) const
|
||||
void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, const int curr_mese, TReport& rep) const
|
||||
{
|
||||
const int tipo_ordinamento = get_int(F_ORDINAMENTO);
|
||||
const char tipo_stampa = get(F_TIPOSTAMPA)[0];
|
||||
const int anno = get_int(F_ANNO);
|
||||
const int mese = tipo_stampa == 'M' ? get_int(F_MESE) : 0;
|
||||
const int mese = tipo_stampa == 'M' ? curr_mese : 0;
|
||||
|
||||
//date del periodo
|
||||
TDate inizio_periodo, fine_periodo;
|
||||
@ -189,6 +189,9 @@ void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, TReport& re
|
||||
rep.set_recordset(recset);
|
||||
//tenta la mask2report per far apparire sul report i campi di selezione della maschera
|
||||
rep.mask2report(*this);
|
||||
TString4 code;
|
||||
code.format("%02d", curr_mese);
|
||||
recset->set_var("#MESE", code, true);
|
||||
//finita l'elaborazione che ha riempito l'assoc_array, asegna il medesimo ad un..
|
||||
//..csv_recordset e poi sbatte quest'ultimo (ordinato) nel report
|
||||
//Il tutto nel magico metodo che segue!
|
||||
@ -202,60 +205,71 @@ void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, TReport& re
|
||||
//metodo di alto livello per filtrare su ris/att e chiamare i metodi di livello inferiore per elaborare la singola ris/att
|
||||
void TRil_ore_ris_mask::elabora() const
|
||||
{
|
||||
//book di stampa
|
||||
TReport_book book;
|
||||
|
||||
//stampa mensile o annuale?
|
||||
const char tipostampa = get(F_TIPOSTAMPA)[0];
|
||||
TRil_ore_ris_report rep(tipostampa);
|
||||
|
||||
int da_mese = 1;
|
||||
int a_mese = 1;
|
||||
if (tipostampa == 'M')
|
||||
format_report_month(get_int(F_ANNO), get_int(F_MESE), rep);
|
||||
|
||||
//query sulla tabella interessata (risorse o attrezzature)
|
||||
TString16 da_ris_att, a_ris_att;
|
||||
TString query_ris_att;
|
||||
TString msg;
|
||||
const char tiporisorsa = get(F_RISOATT)[0];
|
||||
|
||||
if (tiporisorsa == 'R')
|
||||
{
|
||||
da_ris_att = get(F_DA_CODRIS);
|
||||
a_ris_att = get(F_A_CODRIS);
|
||||
query_ris_att << "USE RSS";
|
||||
msg << "Scansione risorse...";
|
||||
}
|
||||
else
|
||||
{
|
||||
da_ris_att = get(F_DA_CODATT);
|
||||
a_ris_att = get(F_A_CODATT);
|
||||
query_ris_att << "USE ATR";
|
||||
"Scansione attrezzature...";
|
||||
da_mese = get_int(F_DA_MESE);
|
||||
a_mese = get_int(F_A_MESE);
|
||||
}
|
||||
|
||||
query_ris_att << "\nFROM CODTAB=#DACODICE";
|
||||
query_ris_att << "\nTO CODTAB=#ACODICE";
|
||||
|
||||
TISAM_recordset recset_ris_att(query_ris_att);
|
||||
recset_ris_att.set_var("#DACODICE", da_ris_att);
|
||||
recset_ris_att.set_var("#ACODICE", a_ris_att);
|
||||
const long recset_ris_att_items = recset_ris_att.items();
|
||||
|
||||
TProgind pi(recset_ris_att_items, msg, true, true);
|
||||
|
||||
//per ogni risorsa/attrezzatura dell'elenco genera un report singolo che viene riempito nella elabora_risorsa e..
|
||||
//..aggiunto al book per la stampa finale
|
||||
for (bool ok = recset_ris_att.move_first(); ok; ok = recset_ris_att.move_next())
|
||||
//giro su tutti i mesi; se stampa annuale o mese unico -> un giro solo
|
||||
for (int m = da_mese; m <= a_mese; m++)
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
if (tipostampa == 'M')
|
||||
format_report_month(get_int(F_ANNO), m, rep);
|
||||
|
||||
const TString80 curr_risorsa = recset_ris_att.cursor()->curr().get("CODTAB");
|
||||
//query sulla tabella interessata (risorse o attrezzature)
|
||||
TString16 da_ris_att, a_ris_att;
|
||||
TString query_ris_att;
|
||||
TString msg;
|
||||
const char tiporisorsa = get(F_RISOATT)[0];
|
||||
|
||||
elabora_risorsa(curr_risorsa, rep);
|
||||
if (tiporisorsa == 'R')
|
||||
{
|
||||
da_ris_att = get(F_DA_CODRIS);
|
||||
a_ris_att = get(F_A_CODRIS);
|
||||
query_ris_att << "USE RSS";
|
||||
msg << "Scansione risorse...";
|
||||
}
|
||||
else
|
||||
{
|
||||
da_ris_att = get(F_DA_CODATT);
|
||||
a_ris_att = get(F_A_CODATT);
|
||||
query_ris_att << "USE ATR";
|
||||
"Scansione attrezzature...";
|
||||
}
|
||||
|
||||
book.add(rep);
|
||||
}
|
||||
query_ris_att << "\nFROM CODTAB=#DACODICE";
|
||||
query_ris_att << "\nTO CODTAB=#ACODICE";
|
||||
|
||||
TISAM_recordset recset_ris_att(query_ris_att);
|
||||
recset_ris_att.set_var("#DACODICE", da_ris_att);
|
||||
recset_ris_att.set_var("#ACODICE", a_ris_att);
|
||||
const long recset_ris_att_items = recset_ris_att.items();
|
||||
|
||||
TProgind pi(recset_ris_att_items, msg, true, true);
|
||||
|
||||
//per ogni risorsa/attrezzatura dell'elenco genera un report singolo che viene riempito nella elabora_risorsa e..
|
||||
//..aggiunto al book per la stampa finale
|
||||
for (bool ok = recset_ris_att.move_first(); ok; ok = recset_ris_att.move_next())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
|
||||
const TString80 curr_risorsa = recset_ris_att.cursor()->curr().get("CODTAB");
|
||||
|
||||
elabora_risorsa(curr_risorsa, m, rep);
|
||||
|
||||
book.add(rep);
|
||||
} //for (bool ok = recset_ris_att.move_first()...
|
||||
} //for (int m = da_mese; ..
|
||||
//e alla fine stampa il book
|
||||
book.preview();
|
||||
}
|
||||
|
@ -10,6 +10,7 @@
|
||||
#define F_A_DESATT 209
|
||||
#define F_TIPOSTAMPA 210
|
||||
#define F_ANNO 211
|
||||
#define F_MESE 212
|
||||
#define F_ORDINAMENTO 213
|
||||
#define F_SHOW_FASI 214
|
||||
#define F_DA_MESE 212
|
||||
#define F_A_MESE 213
|
||||
#define F_ORDINAMENTO 214
|
||||
#define F_SHOW_FASI 215
|
||||
|
@ -126,7 +126,7 @@ BEGIN
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
GROUPBOX -1 78 3
|
||||
GROUPBOX -1 78 4
|
||||
BEGIN
|
||||
PROMPT 1 6 "@bFiltri su anno / mese"
|
||||
END
|
||||
@ -135,31 +135,38 @@ LISTBOX F_TIPOSTAMPA 10
|
||||
BEGIN
|
||||
PROMPT 2 7 "Tipo di stampa "
|
||||
ITEM "M|Mensile"
|
||||
MESSAGE SHOW,F_MESE
|
||||
MESSAGE SHOW,F_DA_MESE|SHOW,F_A_MESE
|
||||
ITEM "A|Annuale"
|
||||
MESSAGE HIDE,F_MESE
|
||||
MESSAGE HIDE,F_DA_MESE|HIDE,F_A_MESE
|
||||
FLAGS "Z"
|
||||
FIELD #TIPOSTAMPA
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 35 7 "Anno "
|
||||
PROMPT 2 8 "Anno "
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "A"
|
||||
FIELD #ANNO
|
||||
NUM_EXPR (#F_A_MESE>=#F_DA_MESE)
|
||||
WARNING "Il mese finale deve essere uguale o successivo a quello iniziale"
|
||||
END
|
||||
|
||||
LISTBOX F_MESE 10
|
||||
LISTBOX F_DA_MESE 10
|
||||
BEGIN
|
||||
PROMPT 50 7 "Mese "
|
||||
FLAGS "M"
|
||||
FIELD #MESE
|
||||
PROMPT 17 8 "Da mese "
|
||||
FLAGS "AM"
|
||||
END
|
||||
|
||||
LISTBOX F_A_MESE 10
|
||||
BEGIN
|
||||
PROMPT 42 8 "A mese "
|
||||
FLAGS "AM"
|
||||
END
|
||||
|
||||
RADIOBUTTON F_ORDINAMENTO 40
|
||||
BEGIN
|
||||
PROMPT 1 9 "@bStampa e ordina per:"
|
||||
PROMPT 1 10 "@bStampa e ordina per:"
|
||||
ITEM "1|Commessa"
|
||||
ITEM "2|Commessa - CdC"
|
||||
ITEM "3|Commessa - Fase"
|
||||
|
@ -222,13 +222,13 @@ void ci_fill_recset_from_ass(TAssoc_array& ass, TReport& rep)
|
||||
//formattazione report per stampa mensile dettagliata per giorno
|
||||
void format_report_month(const int anno, const int mese, TReport& rep)
|
||||
{
|
||||
TString16 code;
|
||||
|
||||
//maggico giro per formattare la testata del calendario di pagina nel report
|
||||
const TDate primo_del_mese(1, mese, anno);
|
||||
TDate ultimo_del_mese = primo_del_mese;
|
||||
ultimo_del_mese.set_end_month();
|
||||
|
||||
TString16 code;
|
||||
|
||||
for (TDate giorno = primo_del_mese; giorno <= ultimo_del_mese; ++giorno)
|
||||
{
|
||||
code.format("H0.%d", giorno.day() + 100);
|
||||
|
185
ci/ci1400.cpp
185
ci/ci1400.cpp
@ -61,6 +61,7 @@ public:
|
||||
TRil_ore_cms_report(const char tipostampa);
|
||||
};
|
||||
|
||||
|
||||
TRil_ore_cms_report::TRil_ore_cms_report(const char tipostampa)
|
||||
{
|
||||
if (tipostampa == 'M')
|
||||
@ -81,7 +82,7 @@ class TRil_ore_cms_mask : public TAutomask
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
bool elabora_commessa(const TString& curr_commessa, TReport& rep) const;
|
||||
bool elabora_commessa(const TString& curr_commessa, const int curr_mese, TReport& rep) const;
|
||||
|
||||
public:
|
||||
void elabora() const;
|
||||
@ -96,17 +97,34 @@ TRil_ore_cms_mask::TRil_ore_cms_mask() : TAutomask("ci1400a")
|
||||
|
||||
bool TRil_ore_cms_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
//se viene selezionata una commessa in particolare da stampare -> non ha piu' senso lo sheet..
|
||||
//..con le commesse da escludere (group 3)
|
||||
case F_CODCMS:
|
||||
if (e == fe_init || e == fe_modify)
|
||||
{
|
||||
const TString& codcms = o.get();
|
||||
if (codcms.full())
|
||||
hide(-3);
|
||||
else
|
||||
show(-3);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool TRil_ore_cms_mask::elabora_commessa(const TString& curr_commessa, TReport& rep) const
|
||||
bool TRil_ore_cms_mask::elabora_commessa(const TString& curr_commessa, const int curr_mese, TReport& rep) const
|
||||
{
|
||||
const TVariant tipo_cms_cdc = get(F_CMSOCDC);
|
||||
const bool per_commessa = tipo_cms_cdc.as_string() == "C";
|
||||
const char tipo_stampa = get(F_TIPOSTAMPA)[0];
|
||||
const int anno = get_int(F_ANNO);
|
||||
const int mese = tipo_stampa == 'M' ? get_int(F_MESE) : 0;
|
||||
const int mese = tipo_stampa == 'M' ? curr_mese : 0;
|
||||
|
||||
//date del periodo
|
||||
TDate inizio_periodo, fine_periodo;
|
||||
@ -114,12 +132,12 @@ bool TRil_ore_cms_mask::elabora_commessa(const TString& curr_commessa, TReport&
|
||||
|
||||
TAssoc_array righe;
|
||||
|
||||
//query sul file delle ore in chiave 4 o 6, in base alla scelta di Cdc(4) o Cms(5): TIPO+CODCOSTO+... o TIPO+CODCMS+...
|
||||
//query sul file delle ore in chiave 4 o 5, in base alla scelta di Cdc(4) o Cms(5): TIPO+CODCOSTO+... o TIPO+CODCMS+...
|
||||
TString query;
|
||||
|
||||
if (per_commessa)
|
||||
{
|
||||
query << "USE RILORE KEY 6";
|
||||
query << "USE RILORE KEY 5";
|
||||
query << "\nFROM TIPO=#TIPO CODCMS=#CODICE";
|
||||
query << "\nTO TIPO=#TIPO CODCMS=#CODICE";
|
||||
}
|
||||
@ -222,6 +240,9 @@ bool TRil_ore_cms_mask::elabora_commessa(const TString& curr_commessa, TReport&
|
||||
rep.set_recordset(recset);
|
||||
//tenta la mask2report per far apparire sul report i campi di selezione della maschera
|
||||
rep.mask2report(*this);
|
||||
TString4 code;
|
||||
code.format("%02d", curr_mese);
|
||||
recset->set_var("#MESE", code, true);
|
||||
//finita l'elaborazione che ha riempito l'assoc_array, asegna il medesimo ad un..
|
||||
//..csv_recordset e poi sbatte quest'ultimo (ordinato) nel report
|
||||
ci_fill_recset_from_ass(righe, rep);
|
||||
@ -234,95 +255,103 @@ bool TRil_ore_cms_mask::elabora_commessa(const TString& curr_commessa, TReport&
|
||||
|
||||
void TRil_ore_cms_mask::elabora() const
|
||||
{
|
||||
//book di stampa
|
||||
TReport_book book;
|
||||
//stampa mensile o annuale?
|
||||
const char tipostampa = get(F_TIPOSTAMPA)[0];
|
||||
TRil_ore_cms_report rep(tipostampa);
|
||||
|
||||
int da_mese = 1;
|
||||
int a_mese = 1;
|
||||
if (tipostampa == 'M')
|
||||
format_report_month(get_int(F_ANNO), get_int(F_MESE), rep);
|
||||
|
||||
//query sul file interessato (commessa o centro di costo)
|
||||
TString16 da_cms_cdc, a_cms_cdc;
|
||||
TString query_cms_cdc;
|
||||
TString msg, code_name;
|
||||
const char tipo_cms_cdc = get(F_CMSOCDC)[0];
|
||||
|
||||
if (tipo_cms_cdc == 'C')
|
||||
{
|
||||
da_cms_cdc = get(F_DA_CODCMS);
|
||||
a_cms_cdc = get(F_A_CODCMS);
|
||||
query_cms_cdc << "USE COMMESSE";
|
||||
query_cms_cdc << "\nFROM CODCMS=#DACODICE";
|
||||
query_cms_cdc << "\nTO CODCMS=#ACODICE";
|
||||
msg << "Scansione commesse...";
|
||||
code_name = "CODCMS";
|
||||
da_mese = get_int(F_DA_MESE);
|
||||
a_mese = get_int(F_A_MESE);
|
||||
}
|
||||
else
|
||||
{
|
||||
da_cms_cdc = get(F_DA_CODCDC);
|
||||
a_cms_cdc = get(F_A_CODCDC);
|
||||
query_cms_cdc << "USE CDC";
|
||||
query_cms_cdc << "\nFROM CODCOSTO=#DACODICE";
|
||||
query_cms_cdc << "\nTO CODCOSTO=#ACODICE";
|
||||
msg << "Scansione centri di costo...";
|
||||
code_name = "CODCOSTO";
|
||||
}
|
||||
|
||||
TISAM_recordset recset_cms_cdc(query_cms_cdc);
|
||||
|
||||
//aggiunta Adolfica: lista di commesse da considerare separatamente più commessa borraccione..
|
||||
//..con tutte le altre
|
||||
TSheet_field& lista = sfield(F_RIGHE);
|
||||
const int lista_items = lista.items();
|
||||
if (lista_items > 0)
|
||||
//giro su tutti i mesi; se stampa annuale o mese unico -> un giro solo
|
||||
for (int m = da_mese; m <= a_mese; m++)
|
||||
{
|
||||
TProgind pi_lista(lista_items, msg, true, true);
|
||||
if (tipostampa == 'M')
|
||||
format_report_month(get_int(F_ANNO), m, rep);
|
||||
|
||||
FOR_EACH_SHEET_ROW(lista, r, riga)
|
||||
//query sul file interessato (commessa o centro di costo)
|
||||
TString16 cms_cdc;
|
||||
TString query_cms_cdc;
|
||||
TString msg, code_name;
|
||||
const char tipo_cms_cdc = get(F_CMSOCDC)[0];
|
||||
|
||||
if (tipo_cms_cdc == 'C')
|
||||
{
|
||||
if (!pi_lista.addstatus(1))
|
||||
break;
|
||||
|
||||
const TString& curr_cms_cdc = riga->get(lista.cid2index(S_CODCMS));
|
||||
recset_cms_cdc.set_var("#DACODICE", curr_cms_cdc);
|
||||
recset_cms_cdc.set_var("#ACODICE", curr_cms_cdc);
|
||||
|
||||
elabora_commessa(curr_cms_cdc, rep);
|
||||
book.add(rep);
|
||||
cms_cdc = get(F_CODCMS);
|
||||
query_cms_cdc << "USE COMMESSE";
|
||||
query_cms_cdc << "\nFROM CODCMS=#CODICE";
|
||||
query_cms_cdc << "\nTO CODCMS=#CODICE";
|
||||
msg << "Scansione commesse...";
|
||||
code_name = "CODCMS";
|
||||
}
|
||||
|
||||
elabora_commessa("_ALTRE_", rep);
|
||||
book.add(rep);
|
||||
//e stampiamo questo book!
|
||||
book.preview();
|
||||
}
|
||||
else //programma standard senza lista commesse
|
||||
{
|
||||
recset_cms_cdc.set_var("#DACODICE", da_cms_cdc);
|
||||
recset_cms_cdc.set_var("#ACODICE", a_cms_cdc);
|
||||
|
||||
const long recset_cms_cdc_items = recset_cms_cdc.items();
|
||||
|
||||
TProgind pi(recset_cms_cdc_items, msg, true, true);
|
||||
|
||||
//per ogni cms/cdc dell'elenco genera un report singolo che viene riempito nella elabora_commessa e..
|
||||
//..aggiunto al book per la stampa finale
|
||||
for (bool ok = recset_cms_cdc.move_first(); ok; ok = recset_cms_cdc.move_next())
|
||||
else
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
|
||||
const TString80 curr_commessa = recset_cms_cdc.cursor()->curr().get(code_name);
|
||||
|
||||
elabora_commessa(curr_commessa, rep);
|
||||
|
||||
book.add(rep);
|
||||
cms_cdc = get(F_CODCDC);
|
||||
query_cms_cdc << "USE CDC";
|
||||
query_cms_cdc << "\nFROM CODCOSTO=#CODICE";
|
||||
query_cms_cdc << "\nTO CODCOSTO=#CODICE";
|
||||
msg << "Scansione centri di costo...";
|
||||
code_name = "CODCOSTO";
|
||||
}
|
||||
|
||||
TISAM_recordset recset_cms_cdc(query_cms_cdc);
|
||||
|
||||
//e alla fine stampa il book
|
||||
book.preview();
|
||||
}
|
||||
//aggiunta Adolfica: lista di commesse da considerare separatamente più commessa borraccione..
|
||||
//..con tutte le altre
|
||||
TSheet_field& lista = sfield(F_RIGHE);
|
||||
const int lista_items = lista.items();
|
||||
if (lista_items > 0)
|
||||
{
|
||||
TProgind pi_lista(lista_items, msg, true, true);
|
||||
|
||||
FOR_EACH_SHEET_ROW(lista, r, riga)
|
||||
{
|
||||
if (!pi_lista.addstatus(1))
|
||||
break;
|
||||
|
||||
const TString& curr_cms_cdc = riga->get(lista.cid2index(S_CODCMS));
|
||||
recset_cms_cdc.set_var("#CODICE", curr_cms_cdc);
|
||||
|
||||
elabora_commessa(curr_cms_cdc, m, rep);
|
||||
book.add(rep);
|
||||
}
|
||||
|
||||
elabora_commessa("_ALTRE_", m, rep);
|
||||
book.add(rep);
|
||||
//e stampiamo questo book!
|
||||
book.preview();
|
||||
}
|
||||
else //programma standard senza lista commesse
|
||||
{
|
||||
recset_cms_cdc.set_var("#CODICE", cms_cdc);
|
||||
|
||||
const long recset_cms_cdc_items = recset_cms_cdc.items();
|
||||
|
||||
TProgind pi(recset_cms_cdc_items, msg, true, true);
|
||||
|
||||
//per ogni cms/cdc dell'elenco genera un report singolo che viene riempito nella elabora_commessa e..
|
||||
//..aggiunto al book per la stampa finale
|
||||
for (bool ok = recset_cms_cdc.move_first(); ok; ok = recset_cms_cdc.move_next())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
|
||||
const TString80 curr_commessa = recset_cms_cdc.cursor()->curr().get(code_name);
|
||||
|
||||
elabora_commessa(curr_commessa, m, rep);
|
||||
|
||||
book.add(rep);
|
||||
} //for (bool ok = recset_cms_cdc.move_first()...
|
||||
} //if (lista_items > 0)...
|
||||
} //for (int i = da_mese; i <= a_mese; i++)...
|
||||
//e alla fine stampa il book
|
||||
book.preview();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
|
15
ci/ci1400a.h
15
ci/ci1400a.h
@ -1,16 +1,13 @@
|
||||
|
||||
#define F_CMSOCDC 201
|
||||
#define F_DA_CODCMS 202
|
||||
#define F_DA_DESCMS 203
|
||||
#define F_A_CODCMS 204
|
||||
#define F_A_DESCMS 205
|
||||
#define F_DA_CODCDC 206
|
||||
#define F_DA_DESCDC 207
|
||||
#define F_A_CODCDC 208
|
||||
#define F_A_DESCDC 209
|
||||
#define F_CODCMS 202
|
||||
#define F_DESCMS 203
|
||||
#define F_CODCDC 204
|
||||
#define F_DESCDC 205
|
||||
#define F_TIPOSTAMPA 210
|
||||
#define F_ANNO 211
|
||||
#define F_MESE 212
|
||||
#define F_DA_MESE 212
|
||||
#define F_A_MESE 213
|
||||
|
||||
#define F_RIGHE 220
|
||||
|
||||
|
127
ci/ci1400a.uml
127
ci/ci1400a.uml
@ -6,7 +6,7 @@ ENDPAGE
|
||||
|
||||
PAGE "Rilevazione ore per Commessa - CdC" -1 -1 0 0
|
||||
|
||||
GROUPBOX -1 78 5
|
||||
GROUPBOX -1 78 4
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bFiltri su Commesse / CdC"
|
||||
END
|
||||
@ -15,156 +15,113 @@ LISTBOX F_CMSOCDC 1 16
|
||||
BEGIN
|
||||
PROMPT 2 2 "@bTipo "
|
||||
ITEM "C|Commessa"
|
||||
MESSAGE HIDE,2@|SHOW,1@
|
||||
MESSAGE HIDE,2@|SHOW,1@|SHOW,3@
|
||||
ITEM "S|Centro di Costo"
|
||||
MESSAGE HIDE,1@|SHOW,2@
|
||||
MESSAGE HIDE,1@|SHOW,2@|HIDE,3@
|
||||
FLAGS "Z"
|
||||
FIELD #CMSOCDC
|
||||
END
|
||||
|
||||
STRING F_DA_CODCMS 20
|
||||
STRING F_CODCMS 20
|
||||
BEGIN
|
||||
PROMPT 2 3 "Da commessa "
|
||||
PROMPT 2 3 "Commessa "
|
||||
USE LF_COMMESSE
|
||||
INPUT CODCMS F_DA_CODCMS
|
||||
INPUT CODCMS F_CODCMS
|
||||
DISPLAY "Codice@20" CODCMS
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
OUTPUT F_DA_CODCMS CODCMS
|
||||
OUTPUT F_DA_DESCMS DESCRIZ
|
||||
OUTPUT F_CODCMS CODCMS
|
||||
OUTPUT F_DESCMS DESCRIZ
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_DA_DESCMS 50 37
|
||||
STRING F_DESCMS 50 42
|
||||
BEGIN
|
||||
PROMPT 38 3 ""
|
||||
PROMPT 34 3 ""
|
||||
USE LF_COMMESSE KEY 2
|
||||
INPUT DESCRIZ F_DA_DESCMS
|
||||
INPUT DESCRIZ F_DESCMS
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
DISPLAY "Codice@20" CODCMS
|
||||
COPY OUTPUT F_DA_CODCMS
|
||||
COPY OUTPUT F_CODCMS
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_A_CODCMS 20
|
||||
STRING F_CODCDC 20
|
||||
BEGIN
|
||||
PROMPT 2 4 "A commessa "
|
||||
COPY USE F_DA_CODCMS
|
||||
INPUT CODCMS F_A_CODCMS
|
||||
DISPLAY "Codice@20" CODCMS
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
OUTPUT F_A_CODCMS CODCMS
|
||||
OUTPUT F_A_DESCMS DESCRIZ
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_A_DESCMS 50 37
|
||||
BEGIN
|
||||
PROMPT 38 4 ""
|
||||
COPY USE F_DA_DESCMS
|
||||
INPUT DESCRIZ F_A_DESCMS
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
DISPLAY "Codice@20" CODCMS
|
||||
COPY OUTPUT F_A_CODCMS
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_DA_CODCDC 20
|
||||
BEGIN
|
||||
PROMPT 2 3 "Da CdC "
|
||||
PROMPT 2 3 "CdC "
|
||||
USE LF_CDC
|
||||
INPUT CODCOSTO F_DA_CODCDC
|
||||
INPUT CODCOSTO F_CODCDC
|
||||
DISPLAY "Codice@20" CODCOSTO
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
OUTPUT F_DA_CODCDC CODCOSTO
|
||||
OUTPUT F_DA_DESCDC DESCRIZ
|
||||
OUTPUT F_CODCDC CODCOSTO
|
||||
OUTPUT F_DESCDC DESCRIZ
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DA_DESCDC 50 42
|
||||
STRING F_DESCDC 50 47
|
||||
BEGIN
|
||||
PROMPT 32 3 ""
|
||||
PROMPT 29 3 ""
|
||||
USE LF_CDC KEY 2
|
||||
INPUT DESCRIZ F_DA_DESCDC
|
||||
INPUT DESCRIZ F_DESCDC
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
DISPLAY "Codice@20" CODCOSTO
|
||||
COPY OUTPUT F_DA_CODCDC
|
||||
COPY OUTPUT F_CODCDC
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_A_CODCDC 20
|
||||
BEGIN
|
||||
PROMPT 2 4 "A CdC "
|
||||
COPY USE F_DA_CODCDC
|
||||
INPUT CODCOSTO F_A_CODCDC
|
||||
DISPLAY "Codice@20" CODCOSTO
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
OUTPUT F_A_CODCDC CODCOSTO
|
||||
OUTPUT F_A_DESCDC DESCRIZ
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_A_DESCDC 50 42
|
||||
GROUPBOX -1 78 4
|
||||
BEGIN
|
||||
PROMPT 32 4 ""
|
||||
COPY USE F_DA_DESCDC
|
||||
INPUT DESCRIZ F_A_DESCDC
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
DISPLAY "Codice@20" CODCOSTO
|
||||
COPY OUTPUT F_A_CODCDC
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
GROUPBOX -1 78 3
|
||||
BEGIN
|
||||
PROMPT 1 6 "@bFiltri su anno / mese"
|
||||
PROMPT 1 5 "@bFiltri su anno / mese"
|
||||
END
|
||||
|
||||
LISTBOX F_TIPOSTAMPA 10
|
||||
BEGIN
|
||||
PROMPT 2 7 "Tipo di stampa "
|
||||
PROMPT 2 6 "Tipo di stampa "
|
||||
ITEM "M|Mensile"
|
||||
MESSAGE SHOW,F_MESE
|
||||
MESSAGE SHOW,F_DA_MESE|SHOW,F_A_MESE
|
||||
ITEM "A|Annuale"
|
||||
MESSAGE HIDE,F_MESE
|
||||
MESSAGE HIDE,F_DA_MESE|HIDE,F_A_MESE
|
||||
FLAGS "Z"
|
||||
FIELD #TIPOSTAMPA
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 35 7 "Anno "
|
||||
PROMPT 2 7 "Anno "
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "A"
|
||||
FIELD #ANNO
|
||||
NUM_EXPR (#F_A_MESE>=#F_DA_MESE)
|
||||
WARNING "Il mese finale deve essere uguale o successivo a quello iniziale"
|
||||
END
|
||||
|
||||
LISTBOX F_MESE 10
|
||||
LISTBOX F_DA_MESE 10
|
||||
BEGIN
|
||||
PROMPT 50 7 "Mese "
|
||||
FLAGS "M"
|
||||
FIELD #MESE
|
||||
PROMPT 17 7 "Da mese "
|
||||
FLAGS "AM"
|
||||
END
|
||||
|
||||
LISTBOX F_A_MESE 10
|
||||
BEGIN
|
||||
PROMPT 42 7 "A Mese "
|
||||
FLAGS "AM"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 10 "@bCommesse da considerare separatamente"
|
||||
GROUP 1
|
||||
PROMPT 1 9 "@bCommesse da considerare separatamente"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
SPREADSHEET F_RIGHE 78 -2
|
||||
BEGIN
|
||||
PROMPT 1 11 ""
|
||||
PROMPT 1 10 ""
|
||||
ITEM "Codice@20"
|
||||
ITEM "Descrizione@50"
|
||||
GROUP 1
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING DLG_PROFILE 50
|
||||
|
Loading…
x
Reference in New Issue
Block a user