Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento : personalizzazione crpa in corso git-svn-id: svn://10.65.10.50/trunk@20367 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
21f1a81ccd
commit
837c74f740
110
ps/ps1001300.cpp
110
ps/ps1001300.cpp
@ -1,5 +1,6 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <config.h>
|
||||
#include <progind.h>
|
||||
#include <recarray.h>
|
||||
#include <textset.h>
|
||||
@ -17,16 +18,32 @@
|
||||
///////////////////////////////////////////////////////////
|
||||
class TVariazione_budget_mask : public TAutomask
|
||||
{
|
||||
bool _dirty;
|
||||
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
void carica_rmovana();
|
||||
|
||||
int carica_rmovana();
|
||||
bool one_checked() const; //controlla se nella colonna dei check ce ne è almeno 1 checkato (on_field)
|
||||
void check_all(const bool checked); //checka-dechecka la colonna dei check (on_field)
|
||||
|
||||
public:
|
||||
TVariazione_budget_mask();
|
||||
~TVariazione_budget_mask();
|
||||
};
|
||||
|
||||
TVariazione_budget_mask::TVariazione_budget_mask() :TAutomask ("ps1001300a")
|
||||
{
|
||||
//carica la causale che trova nel ditta.ini
|
||||
TConfig ditta_ini(CONFIG_DITTA, "ps1001");
|
||||
set(F_CODCAUS, ditta_ini.get("CodCaus"));
|
||||
}
|
||||
|
||||
TVariazione_budget_mask::~TVariazione_budget_mask()
|
||||
{
|
||||
//salva nel ditta.ini la causale sulla maschera
|
||||
TConfig ditta_ini(CONFIG_DITTA, "ps1001");
|
||||
ditta_ini.set("CodCaus", get(F_CODCAUS));
|
||||
}
|
||||
|
||||
bool TVariazione_budget_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
@ -34,9 +51,36 @@ bool TVariazione_budget_mask::on_field_event(TOperable_field& o, TField_event e,
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_CODCMS:
|
||||
{
|
||||
if (e == fe_modify)
|
||||
carica_rmovana();
|
||||
{
|
||||
bool e = carica_rmovana() == 0;
|
||||
o.enable(e);
|
||||
enable(F_DESCRIZ, e);
|
||||
}
|
||||
break;
|
||||
case F_DATAINICMS:
|
||||
case F_DATAFINECMS:
|
||||
if (e == fe_modify)
|
||||
_dirty = true;
|
||||
break;
|
||||
case DLG_CANCEL:
|
||||
if (e == fe_button)
|
||||
{
|
||||
if (_dirty)
|
||||
{
|
||||
//chiede se salvare
|
||||
}
|
||||
enable(F_CODCMS);
|
||||
enable(F_DESCRIZ);
|
||||
sfield(F_RIGHE).destroy();
|
||||
_dirty = false;
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case DLG_CHECKALL:
|
||||
if (e == fe_button)
|
||||
{
|
||||
check_all(!one_checked());
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -46,7 +90,31 @@ bool TVariazione_budget_mask::on_field_event(TOperable_field& o, TField_event e,
|
||||
}
|
||||
|
||||
|
||||
void TVariazione_budget_mask::carica_rmovana()
|
||||
//controlla sulla colonna delle spunte se almeno una è checkata
|
||||
bool TVariazione_budget_mask::one_checked() const
|
||||
{
|
||||
TSheet_field& sf_righe = sfield(F_RIGHE);
|
||||
|
||||
FOR_EACH_SHEET_ROW(sf_righe, i, riga)
|
||||
{
|
||||
if (riga->get_char(0) > ' ')
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//checka-dechecka la colonna di spunte dello sheet
|
||||
void TVariazione_budget_mask::check_all(const bool checked)
|
||||
{
|
||||
TSheet_field& sf_righe = sfield(F_RIGHE);
|
||||
|
||||
FOR_EACH_SHEET_ROW(sf_righe, i, riga)
|
||||
riga->add(checked ? "X" : "", 0);
|
||||
|
||||
sf_righe.force_update();
|
||||
}
|
||||
|
||||
int TVariazione_budget_mask::carica_rmovana()
|
||||
{
|
||||
TString query;
|
||||
query << "USE RMOVANA KEY 4\n";
|
||||
@ -77,11 +145,11 @@ void TVariazione_budget_mask::carica_rmovana()
|
||||
|
||||
//chiave iniziale di riga
|
||||
const TString& cdc = rmovana.get(RMOVANA_CODCCOSTO).as_string();
|
||||
row.add(cdc, 0);
|
||||
row.add(cdc, 1);
|
||||
const TString& fase = rmovana.get(RMOVANA_CODFASE).as_string();
|
||||
row.add(fase, 1);
|
||||
row.add(fase, 2);
|
||||
const TString& conto = rmovana.get(RMOVANA_CODCONTO).as_string();
|
||||
row.add(conto, 2);
|
||||
row.add(conto, 3);
|
||||
|
||||
//date competenza iniziale e finale
|
||||
const TDate datacomp = rmovana.get("MOVANA."MOVANA_DATACOMP).as_date();
|
||||
@ -98,44 +166,46 @@ void TVariazione_budget_mask::carica_rmovana()
|
||||
if (!datafcomp.ok())
|
||||
datafcomp = datacomp;
|
||||
|
||||
row.add(datacomp, 3);
|
||||
row.add(datafcomp, 4);
|
||||
row.add(datacomp, 4);
|
||||
row.add(autofcomp ? "X" : "", 5);
|
||||
row.add(datafcomp, 6);
|
||||
|
||||
//costo o ricavo? all'indbil l'ardua sentenza!
|
||||
TAnal_bill bill(conto, cdc, cms, fase);
|
||||
const int indbil = bill.indicatore_bilancio();
|
||||
const char* str_indbil = indbil == 3 ? "C" : "R";
|
||||
row.add(str_indbil, 5);
|
||||
row.add(str_indbil, 7);
|
||||
|
||||
real valore = rmovana.get(RMOVANA_IMPORTO).as_real();
|
||||
const char sezione = rmovana.get(RMOVANA_SEZIONE).as_string()[0];
|
||||
TImporto importo(sezione, valore);
|
||||
importo.normalize(indbil == 3 ? 'D' : 'A');
|
||||
valore = importo.valore();
|
||||
row.add(valore.string(), 6);
|
||||
row.add(valore.string(), 8);
|
||||
|
||||
//recupera il saldo finale in base alla chiave cms/cdc/fase/conto e lo mette nel campo consuntivo
|
||||
|
||||
//recupera il saldo finale consuntivo! in base alla chiave cms/cdc/fase/conto e lo mette nel campo consuntivo
|
||||
const TDate dataini, datafin;
|
||||
const TSaldanal& saldanal = ca_saldo(bill, dataini, datafin, _saldanal_consuntivo | _saldanal_ultima_imm);
|
||||
TImporto saldo_finale = saldanal._fin;
|
||||
saldo_finale.normalize(indbil == 3 ? 'D' : 'A');
|
||||
const real saldo_finale_valore = saldo_finale.valore();
|
||||
row.add(saldo_finale_valore.string(), 7);
|
||||
row.add(saldo_finale_valore.string(), 9);
|
||||
|
||||
//completa la riga
|
||||
row.add(rmovana.get(RMOVANA_DESCR).as_string(), 8);
|
||||
row.add(rmovana.get(RMOVANA_NUMREG).as_int(), 9);
|
||||
row.add(rmovana.get(RMOVANA_NUMRIG).as_int(), 10);
|
||||
row.add(rmovana.get(RMOVANA_DESCR).as_string(), 10);
|
||||
row.add(rmovana.get(RMOVANA_NUMREG).as_int(), 11);
|
||||
row.add(rmovana.get(RMOVANA_NUMRIG).as_int(), 12);
|
||||
const TString& tipomov = rmovana.get("MOVANA."MOVANA_TIPOMOV).as_string();
|
||||
row.add(tipomov, 11);
|
||||
row.add(tipomov, 13);
|
||||
|
||||
//disabilita tutti i campi ma non l'intera riga, perchè deve poter cliccare sul numero riga..
|
||||
//..per procedere alle operazioni di pareggio
|
||||
if (tipomov != "V")
|
||||
sf_righe.disable_cell(sf_righe.items() - 1, -1);
|
||||
//if (tipomov != "V")
|
||||
//sf_righe.disable_cell(sf_righe.items() - 1, -1);
|
||||
}
|
||||
sf_righe.force_update();
|
||||
|
||||
return sf_righe.items();
|
||||
}
|
||||
|
||||
///////////////////////////////////////
|
||||
|
@ -1,19 +1,32 @@
|
||||
//campi ps1001300a.uml
|
||||
#define F_CODCMS 201
|
||||
#define F_DESCRIZ 202
|
||||
#define F_RIGHE 210
|
||||
#define F_CODCMS 201
|
||||
#define F_DESCRIZ 202
|
||||
#define F_DATAINICMS 203
|
||||
#define F_DATAFINECMS 204
|
||||
#define F_PROROGATA 205
|
||||
#define F_DATAPRORCMS 206
|
||||
#define F_DATAREG 207
|
||||
#define F_CODCAUS 208
|
||||
#define F_DESCAUS 209
|
||||
|
||||
#define F_RIGHE 220
|
||||
|
||||
//bottoni
|
||||
#define DLG_CHECKALL 250
|
||||
|
||||
//campi dello sheet
|
||||
#define F_CDC 101
|
||||
#define F_FASE 102
|
||||
#define F_CONTO 103
|
||||
#define F_DATACOMP 104
|
||||
#define F_DATAFCOMP 105
|
||||
#define F_COSRIC 106
|
||||
#define F_IMPORTO 107
|
||||
#define F_MATURATO 108
|
||||
#define F_DESCR 109
|
||||
#define F_NUMREG 110
|
||||
#define F_NUMRIG 111
|
||||
#define F_TIPOMOV 112
|
||||
#define S_CHECK 101
|
||||
#define S_CDC 102
|
||||
#define S_FASE 103
|
||||
#define S_CONTO 104
|
||||
#define S_DATACOMP 105
|
||||
#define S_AUTOFCOMP 106
|
||||
#define S_DATAFCOMP 107
|
||||
#define S_COSRIC 108
|
||||
#define S_IMPORTO 109
|
||||
#define S_MATURATO 110
|
||||
#define S_DESCR 111
|
||||
#define S_NUMREG 112
|
||||
#define S_NUMRIG 113
|
||||
#define S_TIPOMOV 114
|
||||
|
||||
|
@ -1,26 +1,68 @@
|
||||
#include "ps1001300a.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <stdbar.h>
|
||||
|
||||
BUTTON DLG_SAVEREC 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "~Salva"
|
||||
PICTURE TOOL_SAVEREC
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 4 2
|
||||
BEGIN
|
||||
PROMPT 2 1 ""
|
||||
PICTURE 0
|
||||
END
|
||||
|
||||
BUTTON DLG_CHECKALL 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "~Tutti"
|
||||
PICTURE TOOL_MULTISEL
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 4 2
|
||||
BEGIN
|
||||
PROMPT 2 1 ""
|
||||
PICTURE 0
|
||||
END
|
||||
//allinea alla dataini
|
||||
//allinea alla data fine
|
||||
BUTTON DLG_NULL 4 2
|
||||
BEGIN
|
||||
PROMPT 2 1 ""
|
||||
PICTURE 0
|
||||
END
|
||||
|
||||
#include <cancelbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Variazione Budget" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
PROMPT 0 0 "@bCommessa"
|
||||
END
|
||||
|
||||
STRING F_CODCMS 20
|
||||
BEGIN
|
||||
PROMPT 1 1 "Commessa "
|
||||
PROMPT 1 1 ""
|
||||
USE LF_COMMESSE
|
||||
INPUT CODCMS F_CODCMS
|
||||
DISPLAY "Codice@20" CODCMS
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
OUTPUT F_CODCMS CODCMS
|
||||
OUTPUT F_DESCRIZ DESCRIZ
|
||||
OUTPUT F_DATAINICMS DATAINIZIO
|
||||
OUTPUT F_DATAFINECMS DATAFINE
|
||||
OUTPUT F_PROROGATA PROROGA
|
||||
OUTPUT F_DATAPRORCMS DATAPROR
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DESCRIZ 50 44
|
||||
STRING F_DESCRIZ 50
|
||||
BEGIN
|
||||
PROMPT 34 1 ""
|
||||
PROMPT 25 1 ""
|
||||
USE LF_COMMESSE KEY 2
|
||||
INPUT DESCRIZ F_DESCRIZ
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
@ -29,18 +71,78 @@ BEGIN
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
DATE F_DATAINICMS
|
||||
BEGIN
|
||||
PROMPT 1 2 "Inizio "
|
||||
END
|
||||
|
||||
DATE F_DATAFINECMS
|
||||
BEGIN
|
||||
PROMPT 22 2 "Fine "
|
||||
END
|
||||
|
||||
BOOL F_PROROGATA
|
||||
BEGIN
|
||||
PROMPT 43 2 "Prorogata"
|
||||
MESSAGE FALSE CLEAR,F_DATAPRORCMS
|
||||
MESSAGE ENABLE,F_DATAPRORCMS
|
||||
END
|
||||
|
||||
DATE F_DATAPRORCMS
|
||||
BEGIN
|
||||
PROMPT 57 2 "Proroga "
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 0 4 "@bParametri movimenti analitici da generare"
|
||||
END
|
||||
|
||||
DATE F_DATAREG
|
||||
BEGIN
|
||||
PROMPT 1 5 "Data reg. "
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
STRINGA F_CODCAUS 3
|
||||
BEGIN
|
||||
PROMPT 24 5 "Causale "
|
||||
USE LF_CAUSALI SELECT MOVIND!=''
|
||||
INPUT CODCAUS F_CODCAUS
|
||||
DISPLAY "Codice" CODCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODCAUS CODCAUS
|
||||
OUTPUT F_DESCAUS DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRINGA F_DESCAUS 50 37
|
||||
BEGIN
|
||||
PROMPT 38 5 ""
|
||||
USE LF_CAUSALI KEY 2 SELECT MOVIND!=''
|
||||
INPUT DESCR F_DESCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Codice" CODCAUS
|
||||
COPY OUTPUT F_CODCAUS
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 0 3 "@bRighe movimenti di budget"
|
||||
PROMPT 0 7 "@bRighe movimenti di budget"
|
||||
END
|
||||
|
||||
SPREADSHEET F_RIGHE
|
||||
BEGIN
|
||||
PROMPT 1 4 "Righe"
|
||||
PROMPT 1 8 "Righe"
|
||||
ITEM "@1C"
|
||||
ITEM "Sede@4"
|
||||
ITEM "Fase@5"
|
||||
ITEM "Conto@12"
|
||||
ITEM "Iniz comp."
|
||||
ITEM "AC@C"
|
||||
ITEM "Fine comp."
|
||||
ITEM "C/R"
|
||||
ITEM "Importo@15"
|
||||
@ -57,67 +159,77 @@ ENDMASK
|
||||
|
||||
/////////////////////////////////////////
|
||||
//maschera di riga
|
||||
PAGE "Riga analitica" -1 -1 70 14
|
||||
PAGE "Riga analitica" -1 -1 70 15
|
||||
|
||||
STRING F_CDC 4
|
||||
BOOLEAN S_CHECK
|
||||
BEGIN
|
||||
PROMPT 1 1 "Sede "
|
||||
PROMPT 1 1 "Applica "
|
||||
END
|
||||
|
||||
STRING F_FASE 5
|
||||
STRING S_CDC 4
|
||||
BEGIN
|
||||
PROMPT 1 2 "Fase "
|
||||
PROMPT 1 2 "Sede "
|
||||
END
|
||||
|
||||
STRING F_CONTO 12
|
||||
STRING S_FASE 5
|
||||
BEGIN
|
||||
PROMPT 1 3 "Conto "
|
||||
PROMPT 1 3 "Fase "
|
||||
END
|
||||
|
||||
DATE F_DATACOMP
|
||||
STRING S_CONTO 12
|
||||
BEGIN
|
||||
PROMPT 1 4 "Ini.comp "
|
||||
PROMPT 1 4 "Conto "
|
||||
END
|
||||
|
||||
DATE F_DATAFCOMP
|
||||
DATE S_DATACOMP
|
||||
BEGIN
|
||||
PROMPT 1 5 "Fin.comp "
|
||||
PROMPT 1 5 "Ini.comp "
|
||||
END
|
||||
|
||||
STRING F_COSRIC 1
|
||||
BOOLEAN S_AUTOFCOMP
|
||||
BEGIN
|
||||
PROMPT 1 6 "Cst/Ric "
|
||||
PROMPT 1 6 "AutoComp "
|
||||
END
|
||||
|
||||
NUMBER F_IMPORTO 15 2
|
||||
DATE S_DATAFCOMP
|
||||
BEGIN
|
||||
PROMPT 1 7 "Importo "
|
||||
PROMPT 1 7 "Fin.comp "
|
||||
END
|
||||
|
||||
NUMBER F_MATURATO 15 2
|
||||
STRING S_COSRIC 1
|
||||
BEGIN
|
||||
PROMPT 1 8 "Maturato "
|
||||
PROMPT 1 8 "Cst/Ric "
|
||||
END
|
||||
|
||||
NUMBER S_IMPORTO 15 2
|
||||
BEGIN
|
||||
PROMPT 1 9 "Importo "
|
||||
END
|
||||
|
||||
NUMBER S_MATURATO 15 2
|
||||
BEGIN
|
||||
PROMPT 1 10 "Maturato "
|
||||
FLAGS "L"
|
||||
END
|
||||
|
||||
STRING F_DESCR 50
|
||||
STRING S_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 1 9 "Descr. "
|
||||
PROMPT 1 11 "Descr. "
|
||||
END
|
||||
|
||||
NUMBER F_NUMREG 7
|
||||
NUMBER S_NUMREG 7
|
||||
BEGIN
|
||||
PROMPT 1 10 "N. reg. "
|
||||
PROMPT 1 12 "N. reg. "
|
||||
END
|
||||
|
||||
NUMBER F_NUMRIG 3
|
||||
NUMBER S_NUMRIG 3
|
||||
BEGIN
|
||||
PROMPT 1 11 "N. riga "
|
||||
PROMPT 1 13 "N. riga "
|
||||
END
|
||||
|
||||
STRING F_TIPOMOV 1
|
||||
STRING S_TIPOMOV 1
|
||||
BEGIN
|
||||
PROMPT 1 12 "Tipo "
|
||||
PROMPT 1 14 "Tipo "
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
Loading…
x
Reference in New Issue
Block a user