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:
luca 2009-12-11 11:24:01 +00:00
parent 5c6d656833
commit c470dfa88e
3 changed files with 95 additions and 21 deletions

View File

@ -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!"));
}

View File

@ -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

View File

@ -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