Patch level : 2.2
Files correlati : ca0.exee ca0400a.msk ca2100a.msk f106.dir f106.trr Ricompilazione Demo : [ ] Commento : Aggiunto indicatore di bilancio sui conti analitici Corretta posizione descrizione nelle righe di contabilita' analitica git-svn-id: svn://10.65.10.50/trunk@13189 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
ad41d81df6
commit
7538c911f6
131
ca/ca0400.cpp
131
ca/ca0400.cpp
@ -3,7 +3,9 @@
|
||||
#include <relapp.h>
|
||||
|
||||
#include "calib01.h"
|
||||
#include "calibmsk.h"
|
||||
#include "ca0400a.h"
|
||||
|
||||
#include "pdcana.h"
|
||||
#include "panapdc.h"
|
||||
#include <pconti.h>
|
||||
@ -24,47 +26,47 @@ bool TPiano_conti_anal_msk::on_field_event(TOperable_field& o, TField_event e, l
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_SHEET:
|
||||
if (e == fe_init)
|
||||
case F_SHEET:
|
||||
if (e == fe_init)
|
||||
{
|
||||
_ind_bilancio = 0;
|
||||
TSheet_field & s = (TSheet_field &) o;
|
||||
if (s.items() > 0)
|
||||
{
|
||||
TToken_string str = s.row(0);
|
||||
TString key;
|
||||
|
||||
key << str.get(0) << "|";
|
||||
key << str.get();
|
||||
|
||||
_ind_bilancio = atoi(cache().get(LF_PCON, key, PCN_INDBIL));
|
||||
}
|
||||
}
|
||||
else
|
||||
if (e == se_leave)
|
||||
{
|
||||
_ind_bilancio = 0;
|
||||
TSheet_field & s = (TSheet_field &) o;
|
||||
if (s.items() > 0)
|
||||
TToken_string str = s.row(s.selected());
|
||||
TString key;
|
||||
|
||||
key << str.get(0) << "|";
|
||||
key << str.get();
|
||||
|
||||
const TRectype & pcon = cache().get(LF_PCON, key);
|
||||
if (!pcon.empty())
|
||||
{
|
||||
TToken_string str = s.row(0);
|
||||
TString key;
|
||||
|
||||
key << str.get(0) << "|";
|
||||
key << str.get();
|
||||
|
||||
_ind_bilancio = atoi(cache().get(LF_PCON, key, PCN_INDBIL));
|
||||
const int ind_bilancio = pcon.get_int(PCN_INDBIL);
|
||||
if (_ind_bilancio == 0)
|
||||
_ind_bilancio = ind_bilancio;
|
||||
if (_ind_bilancio != ind_bilancio)
|
||||
return error_box("Indicatore di bilancio errato %d", ind_bilancio);
|
||||
else
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (e == se_leave)
|
||||
{
|
||||
TSheet_field & s = (TSheet_field &) o;
|
||||
TToken_string str = s.row(s.selected());
|
||||
TString key;
|
||||
|
||||
key << str.get(0) << "|";
|
||||
key << str.get();
|
||||
|
||||
const TRectype & pcon = cache().get(LF_PCON, key);
|
||||
if (!pcon.empty())
|
||||
{
|
||||
const int ind_bilancio = pcon.get_int(PCN_INDBIL);
|
||||
if (_ind_bilancio == 0)
|
||||
_ind_bilancio = ind_bilancio;
|
||||
if (_ind_bilancio != ind_bilancio)
|
||||
return error_box("Indicatore di bilancio errato %d", ind_bilancio);
|
||||
else
|
||||
return true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return TSimple_anal_msk::on_field_event(o, e, jolly);
|
||||
}
|
||||
@ -101,8 +103,11 @@ protected:
|
||||
virtual int write(const TMask& m);
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual bool remove();
|
||||
void init_modify_mode(TMask& mask);
|
||||
void init_insert_mode(TMask& mask);
|
||||
|
||||
void init_indbil(TMask& mask);
|
||||
virtual void init_query_mode(TMask& mask);
|
||||
virtual void init_insert_mode(TMask& mask);
|
||||
virtual void init_modify_mode(TMask& mask);
|
||||
|
||||
virtual bool create();
|
||||
virtual bool user_create();
|
||||
@ -209,20 +214,60 @@ bool TAnalisi_app::remove()
|
||||
return err == NOERR;
|
||||
}
|
||||
|
||||
void TAnalisi_app::init_indbil(TMask& mask)
|
||||
{
|
||||
bool enabled = true;
|
||||
if ((_maxlev > 0) && (mask.insert_mode() || mask.edit_mode()))
|
||||
{
|
||||
int level = 0;
|
||||
for (level = _maxlev; level > 0; level--)
|
||||
{
|
||||
if (mask.field(F_KEY1+level).shown())
|
||||
break;
|
||||
}
|
||||
enabled = level < _maxlev; // Le foglie sono sempre disabilitate
|
||||
if (level > 0) // Devo controllare i nodi padre
|
||||
{
|
||||
TString code; // Codice del piano dei conti
|
||||
for (int i = 0; i <= level; i++)
|
||||
{
|
||||
code << mask.get(F_KEY1+i); // Allungo il codice
|
||||
const TRectype& rec = cache().get(LF_PCONANA, code);
|
||||
const int indbil = rec.get_int(PANA_INDBIL);
|
||||
if (indbil > 0) // Controllo se ha impostato l'indicatore
|
||||
{
|
||||
enabled = false;
|
||||
mask.set(F_INDBIL, indbil);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
mask.enable(F_INDBIL, enabled);
|
||||
}
|
||||
|
||||
void TAnalisi_app::init_modify_mode(TMask& mask)
|
||||
{
|
||||
const short id = ((TPiano_conti_anal_msk &)mask).get_field_id(_maxlev, 1);
|
||||
|
||||
mask.enable_page(1, mask.get(id).not_empty());
|
||||
TAnal_app::init_modify_mode(mask);
|
||||
|
||||
TAnal_app::init_modify_mode(mask);
|
||||
init_indbil(mask);
|
||||
}
|
||||
|
||||
void TAnalisi_app::init_insert_mode(TMask& mask)
|
||||
{
|
||||
const short id = ((TPiano_conti_anal_msk &)mask).get_field_id(_maxlev, 1);
|
||||
|
||||
mask.enable_page(1, mask.get(id).not_empty());
|
||||
TAnal_app::init_insert_mode(mask);
|
||||
|
||||
TAnal_app::init_insert_mode(mask);
|
||||
init_indbil(mask);
|
||||
}
|
||||
|
||||
void TAnalisi_app::init_query_mode(TMask& mask)
|
||||
{
|
||||
TAnal_app::init_query_mode(mask);
|
||||
init_indbil(mask);
|
||||
}
|
||||
|
||||
bool TAnalisi_app::create()
|
||||
@ -274,6 +319,6 @@ bool TAnalisi_app::user_destroy()
|
||||
int ca0400(int argc, char* argv[])
|
||||
{
|
||||
TAnalisi_app app;
|
||||
app.run(argc, argv, TR("Gestione Piano dei conti analitico"));
|
||||
app.run(argc, argv, TR("Piano dei conti"));
|
||||
return 0;
|
||||
}
|
||||
|
14
ca/ca0400a.h
14
ca/ca0400a.h
@ -1,16 +1,8 @@
|
||||
//#define F_KEY_1 101
|
||||
//#define F_KEY_2 102
|
||||
//#define F_KEY_3 103
|
||||
//#define F_KEY_4 104
|
||||
|
||||
//#define F_DES_1 111
|
||||
//#define F_DES_2 112
|
||||
//#define F_DES_3 113
|
||||
//#define F_DES_4 114
|
||||
|
||||
#define F_SEZSALDI 121
|
||||
#define F_SOSPESO 122
|
||||
#define F_SHEET 123
|
||||
#define F_INDBIL 123
|
||||
|
||||
#define F_SHEET 300
|
||||
|
||||
#define FR_GRUPPO 101
|
||||
#define FR_CONTO 102
|
||||
|
@ -6,7 +6,7 @@ TOOLBAR "" 0 -3 0 3
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Piano dei conti analitica" -1 -1 80 20
|
||||
PAGE "Piano dei conti" -1 -1 80 20
|
||||
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
BEGIN
|
||||
@ -21,6 +21,18 @@ BEGIN
|
||||
FIELD SEZSALDI
|
||||
END
|
||||
|
||||
RADIOBUTTON F_INDBIL 1 24
|
||||
BEGIN
|
||||
PROMPT 40 7 "Indicatore di bilancio"
|
||||
ITEM "0|0. Non definito"
|
||||
ITEM "1|1. Attivita'"
|
||||
ITEM "2|2. Passivita'"
|
||||
ITEM "3|3. Costi"
|
||||
ITEM "4|4. Ricavi"
|
||||
// ITEM "5|5. Conti d'ordine"
|
||||
FIELD INDBIL
|
||||
END
|
||||
|
||||
BOOLEAN F_SOSPESO
|
||||
BEGIN
|
||||
PROMPT 2 12 "Sospeso"
|
||||
|
@ -274,23 +274,23 @@ PAGE "Riga" -1 -1 78 19
|
||||
|
||||
CURRENCY S_DARE 15
|
||||
BEGIN
|
||||
PROMPT 1 0 "Dare "
|
||||
PROMPT 1 1 "Dare "
|
||||
END
|
||||
|
||||
CURRENCY S_AVERE 15
|
||||
BEGIN
|
||||
PROMPT 31 0 "Avere "
|
||||
PROMPT 31 1 "Avere "
|
||||
END
|
||||
|
||||
STRING S_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 1 1 "Descrizione "
|
||||
PROMPT 1 2 "Descrizione "
|
||||
FIELD DESCR
|
||||
END
|
||||
|
||||
STRING S_CDC1 20
|
||||
BEGIN
|
||||
PROMPT 1 2 "Cdc 1"
|
||||
PROMPT 1 4 "Cdc 1"
|
||||
USE LF_CDC
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -298,7 +298,7 @@ END
|
||||
|
||||
STRING S_CDC2 20
|
||||
BEGIN
|
||||
PROMPT 21 2 "Cdc 2"
|
||||
PROMPT 21 5 "Cdc 2"
|
||||
COPY USE S_CDC1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -306,7 +306,7 @@ END
|
||||
|
||||
STRING S_CDC3 20
|
||||
BEGIN
|
||||
PROMPT 41 2 "Cdc 3"
|
||||
PROMPT 41 6 "Cdc 3"
|
||||
COPY USE S_CDC1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -314,7 +314,7 @@ END
|
||||
|
||||
STRING S_CDC4 20
|
||||
BEGIN
|
||||
PROMPT 61 2 "Cdc 4"
|
||||
PROMPT 61 7 "Cdc 4"
|
||||
COPY USE S_CDC1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -322,7 +322,7 @@ END
|
||||
|
||||
STRING S_CMS1 20
|
||||
BEGIN
|
||||
PROMPT 1 3 "Cms 1"
|
||||
PROMPT 1 8 "Cms 1"
|
||||
USE LF_COMMESSE
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -330,7 +330,7 @@ END
|
||||
|
||||
STRING S_CMS2 20
|
||||
BEGIN
|
||||
PROMPT 21 3 "Cms 2"
|
||||
PROMPT 21 9 "Cms 2"
|
||||
COPY USE S_CMS1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -338,7 +338,7 @@ END
|
||||
|
||||
STRING S_CMS3 20
|
||||
BEGIN
|
||||
PROMPT 41 3 "Cms 3"
|
||||
PROMPT 41 10 "Cms 3"
|
||||
COPY USE S_CMS1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -346,7 +346,7 @@ END
|
||||
|
||||
STRING S_CMS4 20
|
||||
BEGIN
|
||||
PROMPT 61 3 "Cms 4"
|
||||
PROMPT 61 11 "Cms 4"
|
||||
COPY USE S_CMS1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -354,7 +354,7 @@ END
|
||||
|
||||
STRING S_FAS1 20
|
||||
BEGIN
|
||||
PROMPT 1 4 "Fas 1"
|
||||
PROMPT 1 12 "Fas 1"
|
||||
USE LF_FASI
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -362,7 +362,7 @@ END
|
||||
|
||||
STRING S_FAS2 20
|
||||
BEGIN
|
||||
PROMPT 21 4 "Fas 2"
|
||||
PROMPT 21 13 "Fas 2"
|
||||
COPY USE S_FAS1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -370,7 +370,7 @@ END
|
||||
|
||||
STRING S_FAS3 20
|
||||
BEGIN
|
||||
PROMPT 41 4 "Fas 3"
|
||||
PROMPT 41 14 "Fas 3"
|
||||
COPY USE S_FAS1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -378,7 +378,7 @@ END
|
||||
|
||||
STRING S_FAS4 20
|
||||
BEGIN
|
||||
PROMPT 61 4 "Fas 4"
|
||||
PROMPT 61 15 "Fas 4"
|
||||
COPY USE S_FAS1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -386,7 +386,7 @@ END
|
||||
|
||||
STRING S_CON1 20
|
||||
BEGIN
|
||||
PROMPT 1 5 "Con 1"
|
||||
PROMPT 1 16 "Con 1"
|
||||
USE LF_PCON
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -394,7 +394,7 @@ END
|
||||
|
||||
STRING S_CON2 20
|
||||
BEGIN
|
||||
PROMPT 21 5 "Con 2"
|
||||
PROMPT 21 17 "Con 2"
|
||||
COPY USE S_CON1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -402,7 +402,7 @@ END
|
||||
|
||||
STRING S_CON3 20
|
||||
BEGIN
|
||||
PROMPT 41 5 "Con 3"
|
||||
PROMPT 41 18 "Con 3"
|
||||
COPY USE S_CON1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
@ -410,7 +410,7 @@ END
|
||||
|
||||
STRING S_CON4 20
|
||||
BEGIN
|
||||
PROMPT 61 5 "Con 4"
|
||||
PROMPT 61 19 "Con 4"
|
||||
COPY USE S_CON1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
|
@ -1,3 +1,3 @@
|
||||
106
|
||||
0
|
||||
$pconana|0|0|73|0|Piano dei Conti Analitica|||
|
||||
$pconana|0|0|74|0|Piano dei Conti Analitico|||
|
||||
|
@ -1,9 +1,10 @@
|
||||
106
|
||||
4
|
||||
CODCONTO|1|20|0|Codice Conto analitica
|
||||
5
|
||||
CODCONTO|1|20|0|Codice Conto analitico
|
||||
DESCR|1|50|0|Descrizione
|
||||
SEZSALDI|1|1|0|Sezione preferenziale del saldo
|
||||
SOSPESO|8|1|0|Conto sospeso
|
||||
INDBIL|1|1|0|Indicatore di bilancio
|
||||
2
|
||||
CODCONTO|
|
||||
UPPER(DESCR)|X
|
||||
|
@ -4,6 +4,7 @@
|
||||
#define PANA_CODCONTO "CODCONTO"
|
||||
#define PANA_DESCR "DESCR"
|
||||
#define PANA_SEZSALDI "SEZSALDI"
|
||||
#define PANA_INDBIL "INDBIL"
|
||||
#define PANA_SOSPESO "SOSPESO"
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user