Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento : stampa conti per commessa adattata anche a chi ha CA (e configurazione con UsePdcc=X); funziona anche su dinamica; muore selezionando la commessa AS08MB3INFITO git-svn-id: svn://10.65.10.50/trunk@19754 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
5c6d656833
commit
c470dfa88e
@ -27,6 +27,26 @@ public:
|
||||
|
||||
TPrint_contixcms_mask::TPrint_contixcms_mask() : TAutomask("ca1800a")
|
||||
{
|
||||
const bool has_ca = dongle().active(CAAUT);
|
||||
//se la chiave ha CA mostra i campi gruppo 2 (codice e descrizione commessa)..
|
||||
if (has_ca)
|
||||
{
|
||||
hide(-1);
|
||||
show(-2);
|
||||
//se le fasi sono figlie di nessuno può visualizzare il gruppo 3 (da fase a fase)
|
||||
TConfig& cfg = ca_config();
|
||||
const TString& fath_fasi = cfg.get("FathFasi");
|
||||
if (fath_fasi.empty())
|
||||
show(-3);
|
||||
else
|
||||
hide(-3);
|
||||
}
|
||||
else //..se invece ha CM mostra i campi gruppo 1 (da cms a cms) e gruppo 3 (da fase a fase)
|
||||
{
|
||||
hide(-2);
|
||||
show(-1);
|
||||
show(-3);
|
||||
}
|
||||
}
|
||||
|
||||
bool TPrint_contixcms_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
@ -219,6 +239,7 @@ bool TPrint_contixcms_recordset::aggiungi_riga(TISAM_recordset& recset)
|
||||
class TPrint_contixcms : public TSkeleton_application
|
||||
{
|
||||
TPrint_contixcms_mask* _mask;
|
||||
bool _has_ca;
|
||||
|
||||
protected:
|
||||
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
|
||||
@ -245,17 +266,24 @@ TPrint_contixcms_recordset* TPrint_contixcms::elabora() const
|
||||
//creazione della query per la creazione del recordset
|
||||
TString query;
|
||||
query << "USE RMOVANA KEY 3\n";
|
||||
query << "SELECT (BETWEEN(CODCMS,#DACODCMS,#ACODCMS))&&(BETWEEN(CODFASE,#DACODFASE,#ACODFASE))&&(BETWEEN(CODCONTO,#DACODCONTO,#ACODCONTO))\n";
|
||||
|
||||
if (_has_ca)
|
||||
query << "SELECT (BETWEEN(CODCMS,#CODCMS,#CODCMS))&&(BETWEEN(CODCONTO,#DACODCONTO,#ACODCONTO))\n";
|
||||
else
|
||||
query << "SELECT (BETWEEN(CODCMS,#DACODCMS,#ACODCMS))&&(BETWEEN(CODFASE,#DACODFASE,#ACODFASE))&&(BETWEEN(CODCONTO,#DACODCONTO,#ACODCONTO))\n";
|
||||
query << "FROM DATACOMP=#DADATA\n";
|
||||
query << "TO DATACOMP=#ADATA";
|
||||
|
||||
TISAM_recordset recset(query);
|
||||
|
||||
recset.set_var("#DACODCMS", TVariant(_mask->get(F_DACODCMS)));
|
||||
recset.set_var("#ACODCMS", TVariant(_mask->get(F_ACODCMS)));
|
||||
recset.set_var("#DACODFASE", TVariant(_mask->get(F_DACODFASE)));
|
||||
recset.set_var("#ACODFASE", TVariant(_mask->get(F_ACODFASE)));
|
||||
if (_has_ca)
|
||||
recset.set_var("#CODCMS", TVariant(_mask->get(F_CODCMS)));
|
||||
else
|
||||
{
|
||||
recset.set_var("#DACODCMS", TVariant(_mask->get(F_DACODCMS)));
|
||||
recset.set_var("#ACODCMS", TVariant(_mask->get(F_ACODCMS)));
|
||||
recset.set_var("#DACODFASE", TVariant(_mask->get(F_DACODFASE)));
|
||||
recset.set_var("#ACODFASE", TVariant(_mask->get(F_ACODFASE)));
|
||||
}
|
||||
|
||||
//per il conto va gestito il fatto che il conto è contabile e non analitico ed è 0-filled
|
||||
TString contone;
|
||||
@ -357,15 +385,13 @@ void TPrint_contixcms::main_loop()
|
||||
bool TPrint_contixcms::create()
|
||||
{
|
||||
//controlla se la chiave ha il modulo CA (e non solo CM) NON è ammesso CA E CM
|
||||
const bool has_ca = dongle().active(CAAUT);
|
||||
_has_ca = dongle().active(CAAUT);
|
||||
//in tal caso il programma è utilizzabile solo se si ha il piano dei conti contabile..
|
||||
//..e le fasi non legate alle commesse
|
||||
if (has_ca)
|
||||
if (_has_ca)
|
||||
{
|
||||
TConfig& cfg = ca_config();
|
||||
const bool usepdcc = cfg.get_bool("UsePdcc");
|
||||
const TString& fath_fasi = cfg.get("FathFasi");
|
||||
if (!usepdcc || fath_fasi == "CMS")
|
||||
if (!usepdcc)
|
||||
return error_box(TR("Il programma non è utilizzabile con la corrente configurazione CA!"));
|
||||
}
|
||||
|
||||
|
23
ca/ca1800a.h
23
ca/ca1800a.h
@ -16,16 +16,19 @@
|
||||
#define F_ACODFASE 112
|
||||
#define F_ADESFASE 113
|
||||
|
||||
#define F_GRUPPOINI 115
|
||||
#define F_CONTOINI 116
|
||||
#define F_SOTTOCINI 117
|
||||
#define F_DESCRINI 118
|
||||
#define F_GRUPPOFIN 120
|
||||
#define F_CONTOFIN 121
|
||||
#define F_SOTTOCFIN 122
|
||||
#define F_DESCRFIN 123
|
||||
#define F_CODCMS 114
|
||||
#define F_DESCMS 115
|
||||
|
||||
#define F_HIDESOTT 125
|
||||
#define F_GRUPPOINI 118
|
||||
#define F_CONTOINI 119
|
||||
#define F_SOTTOCINI 120
|
||||
#define F_DESCRINI 121
|
||||
#define F_GRUPPOFIN 122
|
||||
#define F_CONTOFIN 123
|
||||
#define F_SOTTOCFIN 124
|
||||
#define F_DESCRFIN 125
|
||||
|
||||
#define F_REPORT 126
|
||||
#define F_HIDESOTT 130
|
||||
|
||||
#define F_REPORT 131
|
||||
|
||||
|
@ -92,6 +92,7 @@ BEGIN
|
||||
OUTPUT F_DADESCMS DESCRIZ
|
||||
CHECKTYPE SEARCH
|
||||
FIELD #DACODCMS
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_DADESCMS 50 48
|
||||
@ -103,6 +104,7 @@ BEGIN
|
||||
DISPLAY "Codice@20" CODCMS
|
||||
COPY OUTPUT F_DACODCMS
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_ACODCMS 20
|
||||
@ -116,6 +118,7 @@ BEGIN
|
||||
OUTPUT F_ADESCMS DESCRIZ
|
||||
CHECKTYPE SEARCH
|
||||
FIELD #ACODCMS
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_ADESCMS 50 48
|
||||
@ -126,11 +129,49 @@ BEGIN
|
||||
COPY DISPLAY F_DADESCMS
|
||||
COPY OUTPUT F_ACODCMS
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
//campo solo per CA
|
||||
STRING F_CODCMS 20
|
||||
BEGIN
|
||||
PROMPT 2 8 ""
|
||||
FLAGS "UZ"
|
||||
USE COMMESSE
|
||||
INPUT CODCMS F_CODCMS
|
||||
DISPLAY "Codice@20" CODCMS
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
OUTPUT F_CODCMS CODCMS
|
||||
OUTPUT F_DESCMS DESCRIZ
|
||||
CHECKTYPE SEARCH
|
||||
FIELD #CODCMS
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
//campo solo per CA
|
||||
STRING F_DESCMS 50 48
|
||||
BEGIN
|
||||
PROMPT 29 8 ""
|
||||
USE COMMESSE KEY 2
|
||||
INPUT DESCRIZ F_DESCMS
|
||||
DISPLAY "Descrizione@50" DESCRIZ
|
||||
DISPLAY "Codice@20" CODCMS
|
||||
COPY OUTPUT F_CODCMS
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
//campo solo per CA
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 9 "Non selezionare alcuna commessa per stamparle tutte"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 79 4
|
||||
BEGIN
|
||||
PROMPT 1 11 "@bSelezione fasi"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING F_DACODFASE 10
|
||||
@ -145,6 +186,7 @@ BEGIN
|
||||
OUTPUT F_DADESFASE DESCRIZ
|
||||
CHECKTYPE SEARCH
|
||||
FIELD #DACODFASE
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING F_DADESFASE 50
|
||||
@ -156,6 +198,7 @@ BEGIN
|
||||
DISPLAY "Codice@20" CODFASE
|
||||
COPY OUTPUT F_DACODFASE
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING F_ACODFASE 10
|
||||
@ -169,6 +212,7 @@ BEGIN
|
||||
OUTPUT F_ADESFASE DESCRIZ
|
||||
CHECKTYPE SEARCH
|
||||
FIELD #ACODFASE
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING F_ADESFASE 50
|
||||
@ -179,6 +223,7 @@ BEGIN
|
||||
COPY DISPLAY F_DADESFASE
|
||||
COPY OUTPUT F_ACODFASE
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 79 6
|
||||
|
Loading…
x
Reference in New Issue
Block a user