Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento : personalizzazione crpa in corso git-svn-id: svn://10.65.10.50/trunk@20389 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
201943a883
commit
6145fc296c
@ -103,14 +103,19 @@ class TVariazione_budget_mask : public TAutomask
|
|||||||
protected:
|
protected:
|
||||||
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);
|
||||||
|
|
||||||
int load();
|
int load(); //(costruttore e on_field) carica i dati per riempire lo sheet
|
||||||
|
|
||||||
bool one_checked() const; //(on_field) controlla se nella colonna dei check ce ne è almeno 1 checkato
|
bool one_checked() const; //(on_field) controlla se nella colonna dei check ce ne è almeno 1 checkato
|
||||||
void check_all(const bool checked); //(on_field) checka-dechecka la colonna dei check
|
void check_all(const bool checked); //(on_field) checka-dechecka la colonna dei check
|
||||||
int find_sister_rows(const int curr_sister, int& first_sister, int& last_sister, const bool by_numreg = false); //(on_field) trova le righe..
|
int find_sister_rows(const int curr_sister, int& first_sister, int& last_sister, const bool by_numreg = false); //(on_field) trova le righe..
|
||||||
//..con la stessa chiave della riga corrente e della chiave selezionata
|
//..con la stessa chiave della riga corrente e della chiave selezionata
|
||||||
void build_key(int i, TToken_string& key); //(find_sister_rows) crea la chiave cdc/fase/conto della riga con cui cercare le sorelle
|
void build_key(int i, TToken_string& key); //(find_sister_rows) crea la chiave cdc/fase/conto della riga con cui cercare le sorelle
|
||||||
void build_key_by_numreg(int i, TToken_string& key); //(find_sister_rows) crea la chiave numreg della riga con cui cercare le sorelle
|
void build_key_by_numreg(int i, TToken_string& key); //(find_sister_rows) crea la chiave numreg della riga con cui cercare le sorelle
|
||||||
|
|
||||||
|
void sistema_date_cms(TDate& datainicms, TDate& datafinecms);
|
||||||
|
|
||||||
void aggiorna_saldi_preventivi(TSheet_field& sf_righe, const int curr_riga); //(load()) crea i saldi preventivi in base agli importi
|
void aggiorna_saldi_preventivi(TSheet_field& sf_righe, const int curr_riga); //(load()) crea i saldi preventivi in base agli importi
|
||||||
|
|
||||||
bool save_commessa(); //(save()) salva i cambiamenti di date della commessa esaminata
|
bool save_commessa(); //(save()) salva i cambiamenti di date della commessa esaminata
|
||||||
bool save_sheet(); //(save()) salva i cambiamenti nello sheet
|
bool save_sheet(); //(save()) salva i cambiamenti nello sheet
|
||||||
bool save(); //(on_field) gestisce l'ordine dei salvataggi
|
bool save(); //(on_field) gestisce l'ordine dei salvataggi
|
||||||
@ -229,6 +234,14 @@ int TVariazione_budget_mask::find_sister_rows(const int curr_sister, int& first_
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TVariazione_budget_mask::sistema_date_cms(TDate& datainicms, TDate& datafinecms)
|
||||||
|
{
|
||||||
|
datainicms = get_date(F_DATAINICMS);
|
||||||
|
datafinecms = get_date(F_DATAPRORCMS);
|
||||||
|
if (!datafinecms.ok())
|
||||||
|
datafinecms = get_date(F_DATAFINECMS);
|
||||||
|
}
|
||||||
|
|
||||||
bool TVariazione_budget_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
bool TVariazione_budget_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
{
|
{
|
||||||
switch (o.dlg())
|
switch (o.dlg())
|
||||||
@ -262,17 +275,28 @@ bool TVariazione_budget_mask::on_field_event(TOperable_field& o, TField_event e,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case S_DATACOMP:
|
case S_DATACOMP:
|
||||||
|
if (e == fe_modify)
|
||||||
|
{
|
||||||
|
TDate datainicms, datafinecms;
|
||||||
|
sistema_date_cms(datainicms, datafinecms);
|
||||||
|
const TDate datacomp = o.get();
|
||||||
|
if (datacomp < datainicms || (datafinecms.ok() && datacomp > datafinecms))
|
||||||
|
return error_box("La data competenza deve rientrare nella durata della commessa!");
|
||||||
|
}
|
||||||
|
_dirty = true;
|
||||||
|
break;
|
||||||
case S_DATAFCOMP:
|
case S_DATAFCOMP:
|
||||||
if (e == fe_modify)
|
if (e == fe_modify)
|
||||||
{
|
{
|
||||||
const TDate datainicms = get_date(F_DATAINICMS);
|
|
||||||
TDate datafinecms = get_date(F_DATAPRORCMS);
|
|
||||||
if (!datafinecms.ok())
|
|
||||||
datafinecms = get_date(F_DATAFINECMS);
|
|
||||||
const TDate data = o.get();
|
|
||||||
if (data < datainicms || (datafinecms.ok() && data > datafinecms))
|
|
||||||
return error_box("Le date competenza devono rientrare nella durata della commessa!");
|
|
||||||
|
|
||||||
|
const TDate datafcomp = o.get();
|
||||||
|
if (datafcomp.ok())
|
||||||
|
{
|
||||||
|
TDate datainicms, datafinecms;
|
||||||
|
sistema_date_cms(datainicms, datafinecms);
|
||||||
|
if (datafinecms.ok() && datafcomp > datafinecms)
|
||||||
|
return error_box("La data fine competenza non può superare la data fine commessa!");
|
||||||
|
}
|
||||||
_dirty = true;
|
_dirty = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -290,6 +314,42 @@ bool TVariazione_budget_mask::on_field_event(TOperable_field& o, TField_event e,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case S_SO:
|
||||||
|
if (e == fe_init)
|
||||||
|
{
|
||||||
|
TMask& m = o.mask(); //mascehra di riga
|
||||||
|
const TString& contone = m.get(S_CONTO);
|
||||||
|
m.set(S_GR, contone.left(3));
|
||||||
|
m.set(S_CO, contone.mid(3,3));
|
||||||
|
m.set(S_SO, contone.mid(6,6));
|
||||||
|
}
|
||||||
|
if (e == fe_modify || e == fe_close)
|
||||||
|
{
|
||||||
|
TMask& m = o.mask(); //mascehra di riga
|
||||||
|
TString16 contone;
|
||||||
|
contone << m.get(S_GR) << m.get(S_CO) << m.get(S_SO);
|
||||||
|
m.set(S_CONTO, contone);
|
||||||
|
|
||||||
|
//setta anche il valore di cos/ric
|
||||||
|
TAnal_bill zione(contone, m.get(S_CDC), get(F_CODCMS), m.get(S_FASE));
|
||||||
|
const int indbillone = zione.indicatore_bilancio();
|
||||||
|
const char* str_indbillone = indbillone == 3 ? "C" : "R";
|
||||||
|
m.set(S_COSRIC, str_indbillone);
|
||||||
|
|
||||||
|
//solo in chiusura di riga ricalcola il saldo consuntivo
|
||||||
|
if (e == fe_close)
|
||||||
|
{
|
||||||
|
const TDate dataini, datafin;
|
||||||
|
//recupera il saldo finale consuntivo! in base alla chiave cms/cdc/fase/conto e lo mette nel campo consuntivo
|
||||||
|
const TSaldanal& saldanal_cons = ca_saldo(zione, dataini, datafin, _saldanal_consuntivo | _saldanal_ultima_imm);
|
||||||
|
TImporto saldo_cons = saldanal_cons._fin;
|
||||||
|
saldo_cons.normalize(indbillone == 3 ? 'D' : 'A');
|
||||||
|
const real saldo_cons_valore = saldo_cons.valore();
|
||||||
|
m.set(S_MATURATO, saldo_cons_valore);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
//bottoni
|
//bottoni
|
||||||
case DLG_CANCEL:
|
case DLG_CANCEL:
|
||||||
if (e == fe_button && jolly == 0) //jolly serve per specificare che è il DLG_CANCEL della maschera principale
|
if (e == fe_button && jolly == 0) //jolly serve per specificare che è il DLG_CANCEL della maschera principale
|
||||||
|
@ -34,3 +34,10 @@
|
|||||||
#define S_NUMRIG 114
|
#define S_NUMRIG 114
|
||||||
#define S_TIPOMOV 115
|
#define S_TIPOMOV 115
|
||||||
|
|
||||||
|
#define S_CDC_DESCR 142
|
||||||
|
#define S_FASE_DESCR 143
|
||||||
|
#define S_GR 144
|
||||||
|
#define S_CO 145
|
||||||
|
#define S_SO 146
|
||||||
|
#define S_CONTO_DESCR 147
|
||||||
|
|
||||||
|
@ -178,7 +178,7 @@ ENDMASK
|
|||||||
|
|
||||||
/////////////////////////////////////////
|
/////////////////////////////////////////
|
||||||
//maschera di riga
|
//maschera di riga
|
||||||
PAGE "Riga analitica" -1 -1 70 16
|
PAGE "Riga analitica" -1 -1 74 18
|
||||||
|
|
||||||
BOOLEAN S_CHECK
|
BOOLEAN S_CHECK
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -188,60 +188,158 @@ END
|
|||||||
STRING S_CDC 4
|
STRING S_CDC 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 2 "Sede "
|
PROMPT 1 2 "Sede "
|
||||||
FLAGS "L"
|
USE LF_CDC
|
||||||
|
INPUT CODCOSTO S_CDC
|
||||||
|
DISPLAY "Sede" CODCOSTO
|
||||||
|
DISPLAY "Descrizione@50" DESCRIZ
|
||||||
|
OUTPUT S_CDC CODCOSTO
|
||||||
|
OUTPUT S_CDC_DESCR DESCRIZ
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
FLAGS "D"
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING S_CDC_DESCR 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 20 2 ""
|
||||||
|
USE LF_CDC KEY 2
|
||||||
|
INPUT DESCRIZ S_CDC_DESCR
|
||||||
|
DISPLAY "Descrizione@50" DESCRIZ
|
||||||
|
DISPLAY "Sede" CODCOSTO
|
||||||
|
COPY OUTPUT S_CDC
|
||||||
|
FLAGS "D"
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING S_FASE 5
|
STRING S_FASE 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 "Fase "
|
PROMPT 1 3 "Fase "
|
||||||
FLAGS "L"
|
USE LF_FASI
|
||||||
|
INPUT CODCMSFAS -F_CODCMS SELECT
|
||||||
|
INPUT CODFASE S_FASE
|
||||||
|
DISPLAY "Fase@10" CODFASE
|
||||||
|
DISPLAY "Descrizione@50" DESCRIZ
|
||||||
|
OUTPUT S_FASE CODFASE
|
||||||
|
OUTPUT S_FASE_DESCR DESCRIZ
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
FLAGS "D"
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING S_CONTO 12
|
STRING S_FASE_DESCR 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 20 3 ""
|
||||||
|
FLAGS "D"
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER S_GR 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 "Conto "
|
PROMPT 1 4 "Conto "
|
||||||
FLAGS "L"
|
FLAGS "DZ"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER S_CO 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 16 4 ""
|
||||||
|
FLAGS "DZ"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER S_SO 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 21 4 ""
|
||||||
|
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||||
|
INPUT GRUPPO S_GR
|
||||||
|
INPUT CONTO S_CO
|
||||||
|
INPUT SOTTOCONTO S_SO
|
||||||
|
DISPLAY "Gruppo" GRUPPO
|
||||||
|
DISPLAY "Conto" CONTO
|
||||||
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
|
DISPLAY "Descrizione@50" DESCR
|
||||||
|
OUTPUT S_GR GRUPPO
|
||||||
|
OUTPUT S_CO CONTO
|
||||||
|
OUTPUT S_SO SOTTOCONTO
|
||||||
|
OUTPUT S_CONTO_DESCR DESCR
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
FLAGS "GDZ"
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRING S_CONTO_DESCR 50 40
|
||||||
|
BEGIN
|
||||||
|
PROMPT 30 4 ""
|
||||||
|
USE LF_PCON KEY 2
|
||||||
|
INPUT DESCR S_CONTO_DESCR
|
||||||
|
DISPLAY "Descrizione@50" DESCR
|
||||||
|
DISPLAY "Gruppo" GRUPPO
|
||||||
|
DISPLAY "Conto" CONTO
|
||||||
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
|
COPY OUTPUT S_SO
|
||||||
|
GROUP 1
|
||||||
|
FLAGS "GD"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER S_CONTO 12
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 50 "Conto completo"
|
||||||
|
//coordinate fuori schermo per non vederlo
|
||||||
|
FLAGS "ZD"
|
||||||
|
END
|
||||||
|
|
||||||
|
TEXT DLG_NULL
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 5 "@bDate Competenza"
|
||||||
|
END
|
||||||
|
|
||||||
DATE S_DATACOMP
|
DATE S_DATACOMP
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Ini.compet."
|
PROMPT 1 6 "Inizio "
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN S_AUTOFCOMP
|
BOOLEAN S_AUTOFCOMP
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 6 "AutoCompet."
|
PROMPT 34 6 "Automatica"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE S_DATAFCOMP
|
DATE S_DATAFCOMP
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 7 "Fin.compet."
|
PROMPT 53 6 "Fine "
|
||||||
|
VALIDATE DATE_CMP_FUNC >= F_DATACOMP
|
||||||
|
END
|
||||||
|
|
||||||
|
TEXT DLG_NULL
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 7 "@bImporto riga"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING S_COSRIC 1
|
STRING S_COSRIC 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "Csti/Ricavi"
|
PROMPT 1 8 "Csti/Ricavi"
|
||||||
FLAGS "L"
|
FLAGS "D"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_IMPORTO 15 2
|
NUMBER S_IMPORTO 15 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "Importo "
|
PROMPT 18 8 "Importo "
|
||||||
|
END
|
||||||
|
|
||||||
|
TEXT DLG_NULL
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 9 "@bSaldi (ad ultima immissione)"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_PREVENTIVO 15 2
|
NUMBER S_PREVENTIVO 15 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "Preventivo "
|
PROMPT 1 10 "Preventivo "
|
||||||
FLAGS "L"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_MATURATO 15 2
|
NUMBER S_MATURATO 15 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 11 "Maturato "
|
PROMPT 34 10 "Maturato "
|
||||||
FLAGS "L"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING S_DESCR 50
|
STRING S_DESCR 50
|
||||||
@ -252,7 +350,7 @@ END
|
|||||||
NUMBER S_NUMREG 7
|
NUMBER S_NUMREG 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 13 "N. reg. "
|
PROMPT 1 13 "N. reg. "
|
||||||
FLAGS "GL"
|
FLAGS "GD"
|
||||||
MESSAGE EMPTY ENABLE,1@
|
MESSAGE EMPTY ENABLE,1@
|
||||||
MESSAGE DISABLE,1@
|
MESSAGE DISABLE,1@
|
||||||
END
|
END
|
||||||
@ -260,13 +358,13 @@ END
|
|||||||
NUMBER S_NUMRIG 3
|
NUMBER S_NUMRIG 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 14 "Num. riga "
|
PROMPT 1 14 "Num. riga "
|
||||||
FLAGS "L"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING S_TIPOMOV 1
|
STRING S_TIPOMOV 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 15 "Tipo mov. "
|
PROMPT 1 15 "Tipo mov. "
|
||||||
FLAGS "L"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user