Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@19132 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0d36cf062f
commit
d2d44d2c31
@ -22,15 +22,10 @@ class TElabollazione_HK_mask : public TAutomask
|
|||||||
{
|
{
|
||||||
TArray_sheet* _num_sheet;
|
TArray_sheet* _num_sheet;
|
||||||
TString_array _tipi_doc;
|
TString_array _tipi_doc;
|
||||||
/*TArray_sheet* _num_sheet_costi; //TArray_sheet contenenti le selezioni sui codici numerazione costi e provvigioni
|
|
||||||
TArray_sheet* _num_sheet_provv;
|
|
||||||
TString_array _tipi_doc_costi; //Array di stringhe contenenti i tipi documenti da elaborare per costi e provvigioni
|
|
||||||
TString_array _tipi_doc_provv;*/
|
|
||||||
|
|
||||||
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);
|
||||||
// Costruisce lo sheet dei codici numerazione
|
// Costruisce lo sheet dei codici numerazione
|
||||||
//void build_num_sheet(const short field);
|
|
||||||
void build_num_sheet();
|
void build_num_sheet();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -38,7 +33,6 @@ public:
|
|||||||
bool doc_tipo_stato_ok(const TRectype& doc);
|
bool doc_tipo_stato_ok(const TRectype& doc);
|
||||||
// Restituisce lo sheet con le numerazioni da elaborare
|
// Restituisce lo sheet con le numerazioni da elaborare
|
||||||
TArray_sheet& num_sheet() const { return *_num_sheet; }
|
TArray_sheet& num_sheet() const { return *_num_sheet; }
|
||||||
//TArray_sheet& num_sheet_provv() const { return *_num_sheet_provv; }
|
|
||||||
// Constructor and Distructor
|
// Constructor and Distructor
|
||||||
TElabollazione_HK_mask();
|
TElabollazione_HK_mask();
|
||||||
~TElabollazione_HK_mask();
|
~TElabollazione_HK_mask();
|
||||||
@ -47,15 +41,11 @@ public:
|
|||||||
TElabollazione_HK_mask::TElabollazione_HK_mask() : TAutomask("pg0068100a")
|
TElabollazione_HK_mask::TElabollazione_HK_mask() : TAutomask("pg0068100a")
|
||||||
{
|
{
|
||||||
_num_sheet = new TArray_sheet(-1, -1, -4, -4, "Codici numerazione", "@1|Cod. numerazione|Descrizione@50");
|
_num_sheet = new TArray_sheet(-1, -1, -4, -4, "Codici numerazione", "@1|Cod. numerazione|Descrizione@50");
|
||||||
/*_num_sheet_costi = new TArray_sheet(-1, -1, -4, -4, "Codici numerazione", "@1|Cod. numerazione|Descrizione@50");
|
|
||||||
_num_sheet_provv = new TArray_sheet(-1, -1, -4, -4, "Codici numerazione", "@1|Cod. numerazione|Descrizione@50");*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TElabollazione_HK_mask::~TElabollazione_HK_mask()
|
TElabollazione_HK_mask::~TElabollazione_HK_mask()
|
||||||
{
|
{
|
||||||
delete _num_sheet;
|
delete _num_sheet;
|
||||||
/*delete _num_sheet_costi;
|
|
||||||
delete _num_sheet_provv;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TElabollazione_HK_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
bool TElabollazione_HK_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
@ -68,17 +58,17 @@ bool TElabollazione_HK_mask::on_field_event(TOperable_field& o, TField_event e,
|
|||||||
{
|
{
|
||||||
const bool full = !o.empty();
|
const bool full = !o.empty();
|
||||||
if (full)
|
if (full)
|
||||||
//build_num_sheet(o.dlg());
|
|
||||||
build_num_sheet();
|
build_num_sheet();
|
||||||
|
|
||||||
enable(DLG_USER, full);
|
enable(DLG_USER, full);
|
||||||
enable(DLG_OK, full && _num_sheet->one_checked()); //(_num_sheet_costi->one_checked() && _num_sheet_provv->one_checked()));
|
enable(DLG_OK, full && _num_sheet->one_checked());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DLG_USER:
|
case DLG_USER:
|
||||||
if (e == fe_button && _num_sheet->run()) //(_num_sheet_costi->run() || _num_sheet_->run()))
|
if (e == fe_button && _num_sheet->run())
|
||||||
{
|
{
|
||||||
// Hai selezionato qualcosa ? allora abilita il pulsante di conferma
|
// Hai selezionato qualcosa ? allora abilita il pulsante di conferma
|
||||||
enable(DLG_OK, _num_sheet->one_checked()); //(_num_sheet_costi->one_checked() && _num_sheet_provv->one_checked()));
|
enable(DLG_OK, _num_sheet->one_checked());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -89,26 +79,6 @@ bool TElabollazione_HK_mask::on_field_event(TOperable_field& o, TField_event e,
|
|||||||
|
|
||||||
void TElabollazione_HK_mask::build_num_sheet() //(const short field)
|
void TElabollazione_HK_mask::build_num_sheet() //(const short field)
|
||||||
{
|
{
|
||||||
/*switch (field)
|
|
||||||
{
|
|
||||||
case F_ELAB_COSTI:
|
|
||||||
{
|
|
||||||
_num_sheet_costi->destroy();
|
|
||||||
_tipi_doc_costi.destroy();
|
|
||||||
const TContabilizzazione_analitica_costi contanal(get(F_ELAB_COSTI));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case F_ELAB_PROVV:
|
|
||||||
{
|
|
||||||
_num_sheet_provv->destroy();
|
|
||||||
_tipi_doc_provv.destroy();
|
|
||||||
const TContabilizzazione_analitica_provvigioni contanal(get(F_ELAB_PROVV));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
_num_sheet->destroy();
|
_num_sheet->destroy();
|
||||||
_tipi_doc.destroy();
|
_tipi_doc.destroy();
|
||||||
|
|
||||||
@ -182,26 +152,36 @@ class TContabilizzazione_analitica_costi : public TContabilizzazione_analitica
|
|||||||
{
|
{
|
||||||
TString4 _codcaus;
|
TString4 _codcaus;
|
||||||
bool _costi;
|
bool _costi;
|
||||||
|
TCausale * _caus;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual bool elabora(TDocumento& doc, long numreg_cg, TViswin* viswin, bool can_write, TAnal_mov& mov,
|
virtual bool elabora(TDocumento& doc, long numreg_cg, TViswin* viswin, bool can_write, TAnal_mov& mov,
|
||||||
bool riclassifica_fdr_fde = true);
|
bool riclassifica_fdr_fde = true);
|
||||||
|
|
||||||
|
virtual const TCausale& doc2caus(const TDocumento& doc);
|
||||||
|
|
||||||
TContabilizzazione_analitica_costi(const TString& codcaus, const char* cod = NULL, bool costi = true)
|
TContabilizzazione_analitica_costi(const TString& codcaus, const char* cod = NULL, bool costi = true)
|
||||||
: TContabilizzazione_analitica(cod), _codcaus(codcaus), _costi(costi) {}
|
: TContabilizzazione_analitica(cod), _codcaus(codcaus), _costi(costi), _caus(NULL) {}
|
||||||
TContabilizzazione_analitica_costi(const TString& codcaus, const TRectype& rec, bool costi = true)
|
TContabilizzazione_analitica_costi(const TString& codcaus, const TRectype& rec, bool costi = true)
|
||||||
: TContabilizzazione_analitica(rec), _codcaus(codcaus), _costi(costi) {}
|
: TContabilizzazione_analitica(rec), _codcaus(codcaus), _costi(costi), _caus(NULL) {}
|
||||||
virtual ~TContabilizzazione_analitica_costi() {}
|
virtual ~TContabilizzazione_analitica_costi() {}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const TCausale& TContabilizzazione_analitica_costi::doc2caus(const TDocumento& doc)
|
||||||
|
{
|
||||||
|
if (_caus == NULL)
|
||||||
|
_caus = new TCausale(_codcaus);
|
||||||
|
|
||||||
|
return *_caus;
|
||||||
|
}
|
||||||
|
|
||||||
bool TContabilizzazione_analitica_costi::elabora(TDocumento& doc, long numreg_cg, TViswin* viswin, bool can_write,
|
bool TContabilizzazione_analitica_costi::elabora(TDocumento& doc, long numreg_cg, TViswin* viswin, bool can_write,
|
||||||
TAnal_mov& mov, bool riclassifica_fdr_fde)
|
TAnal_mov& mov, bool riclassifica_fdr_fde)
|
||||||
{
|
{
|
||||||
TDate datareg, datacomp, datadoc;
|
TDate datareg, datacomp, datadoc;
|
||||||
int annoes = 0;
|
int annoes = 0;
|
||||||
TString descr, msg, codcaus;
|
TString descr, msg, codcaus;
|
||||||
bool dare = false;
|
|
||||||
TCausale caus(_codcaus);
|
TCausale caus(_codcaus);
|
||||||
|
|
||||||
datadoc = doc.get(DOC_DATADOC);
|
datadoc = doc.get(DOC_DATADOC);
|
||||||
@ -212,7 +192,7 @@ bool TContabilizzazione_analitica_costi::elabora(TDocumento& doc, long numreg_cg
|
|||||||
descr = doc.tipo().descrizione();
|
descr = doc.tipo().descrizione();
|
||||||
|
|
||||||
const TString8 rif = doc.get(DOC_NUMDOCRIF);
|
const TString8 rif = doc.get(DOC_NUMDOCRIF);
|
||||||
codcaus = caus.codice(); //CAZZONISSIMO!! SBAGLIA!
|
codcaus = caus.codice();
|
||||||
const bool use_rif = caus.iva() == iva_acquisti && rif.not_empty();
|
const bool use_rif = caus.iva() == iva_acquisti && rif.not_empty();
|
||||||
if (use_rif)
|
if (use_rif)
|
||||||
{
|
{
|
||||||
@ -225,19 +205,22 @@ bool TContabilizzazione_analitica_costi::elabora(TDocumento& doc, long numreg_cg
|
|||||||
descr << TR(" del ") << datadoc;
|
descr << TR(" del ") << datadoc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//..e quindi dovrebbe sempre bastare sezione = 'D'
|
||||||
if (_costi)
|
char sezione = 'D';
|
||||||
dare = true;
|
//questo non dovrebbe mai capitare!...
|
||||||
else
|
|
||||||
dare = doc.get_char(DOC_TIPOCF) == 'F';
|
|
||||||
|
|
||||||
if (doc.is_nota_credito())
|
if (doc.is_nota_credito())
|
||||||
dare = !dare;
|
sezione = 'A';
|
||||||
|
|
||||||
const char sezione = dare ? 'D' : 'A';
|
|
||||||
const int decimals = TCurrency::get_firm_dec();
|
const int decimals = TCurrency::get_firm_dec();
|
||||||
|
|
||||||
long numreg_ca = doc.get_long(DOC_NUMREGCA);
|
//in caso di righe doc di costo -> sul doc usa numregca, in caso di righe provvigione usa un campo virtuale..
|
||||||
|
//..NUMREGCAPR; questo è per poter avere i movimenti distinti (costi - provvigioni) e per poter collegare..
|
||||||
|
//..movana e doc di origine nei 2 versi
|
||||||
|
TString field_name(DOC_NUMREGCA);
|
||||||
|
if (!_costi)
|
||||||
|
field_name = "NUMREGCAPR";
|
||||||
|
|
||||||
|
long numreg_ca = doc.get_long(field_name);
|
||||||
if (numreg_ca > 0)
|
if (numreg_ca > 0)
|
||||||
{
|
{
|
||||||
const int err = mov.read(numreg_ca);
|
const int err = mov.read(numreg_ca);
|
||||||
@ -284,13 +267,12 @@ bool TContabilizzazione_analitica_costi::elabora(TDocumento& doc, long numreg_cg
|
|||||||
// salto valori nulli
|
// salto valori nulli
|
||||||
const real qta = riga.get(RDOC_QTA);
|
const real qta = riga.get(RDOC_QTA);
|
||||||
const real costo = riga.articolo().get_real(ANAMAG_ULTCOS1);
|
const real costo = riga.articolo().get_real(ANAMAG_ULTCOS1);
|
||||||
real valore = _costi ? qta * costo : riga.provvigione();
|
|
||||||
|
|
||||||
/*real valore;
|
real valore;
|
||||||
if (_costi)
|
if (_costi)
|
||||||
valore = qta * costo;
|
valore = qta * costo;
|
||||||
else
|
else
|
||||||
valore = riga.provvigione();*/
|
valore = riga.provvigione();
|
||||||
|
|
||||||
if (valore.is_zero())
|
if (valore.is_zero())
|
||||||
continue;
|
continue;
|
||||||
@ -403,7 +385,7 @@ bool TContabilizzazione_analitica_costi::elabora(TDocumento& doc, long numreg_cg
|
|||||||
{
|
{
|
||||||
mov.write(movana);
|
mov.write(movana);
|
||||||
numreg_ca = mov.get_long(MOVANA_NUMREG);
|
numreg_ca = mov.get_long(MOVANA_NUMREG);
|
||||||
doc.put(DOC_NUMREGCA, numreg_ca);
|
doc.put(field_name, numreg_ca);
|
||||||
}
|
}
|
||||||
if (viswin != NULL)
|
if (viswin != NULL)
|
||||||
{
|
{
|
||||||
@ -458,7 +440,7 @@ void TElabollazione_HK_app::contabilize()
|
|||||||
int year_from = data_ini.year();
|
int year_from = data_ini.year();
|
||||||
const TDate data_fine = _msk->get_date(F_DATA_FIN);
|
const TDate data_fine = _msk->get_date(F_DATA_FIN);
|
||||||
int year_to = data_fine.year();
|
int year_to = data_fine.year();
|
||||||
const TDate data_reg = _msk->get_date(F_DATA_REG);
|
const TDate data_reg(TODAY);
|
||||||
TArray_sheet& num_sheet = _msk->num_sheet();
|
TArray_sheet& num_sheet = _msk->num_sheet();
|
||||||
const long items = num_sheet.items();
|
const long items = num_sheet.items();
|
||||||
|
|
||||||
|
@ -12,3 +12,4 @@
|
|||||||
#define F_CAUS_COSTI_DESCR 110
|
#define F_CAUS_COSTI_DESCR 110
|
||||||
#define F_CAUS_PROVV 111
|
#define F_CAUS_PROVV 111
|
||||||
#define F_CAUS_PROVV_DESCR 112
|
#define F_CAUS_PROVV_DESCR 112
|
||||||
|
#define F_AUTO_DATA_REG 113
|
||||||
|
@ -92,21 +92,14 @@ BEGIN
|
|||||||
PROMPT 1 7 "@bParametri movimenti generati"
|
PROMPT 1 7 "@bParametri movimenti generati"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATA_REG
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 8 "Data registrazione "
|
|
||||||
FLAGS "A"
|
|
||||||
CHECKTYPE REQUIRED
|
|
||||||
END
|
|
||||||
|
|
||||||
TEXT -1
|
TEXT -1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 9 "@bCausali"
|
PROMPT 2 8 "@bCausali"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CAUS_COSTI 4
|
STRING F_CAUS_COSTI 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 10 "Costi "
|
PROMPT 3 9 "Costi "
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
USE LF_CAUSALI
|
USE LF_CAUSALI
|
||||||
INPUT CODCAUS F_CAUS_COSTI
|
INPUT CODCAUS F_CAUS_COSTI
|
||||||
@ -122,7 +115,7 @@ END
|
|||||||
|
|
||||||
STRING F_CAUS_COSTI_DESCR 50
|
STRING F_CAUS_COSTI_DESCR 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 22 10 ""
|
PROMPT 22 9 ""
|
||||||
USE LF_CAUSALI KEY 2
|
USE LF_CAUSALI KEY 2
|
||||||
INPUT DESCR F_CAUS_COSTI_DESCR
|
INPUT DESCR F_CAUS_COSTI_DESCR
|
||||||
DISPLAY "Descrizione @50" DESCR
|
DISPLAY "Descrizione @50" DESCR
|
||||||
@ -134,9 +127,9 @@ BEGIN
|
|||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CAUS_PROVV 4
|
STRING F_CAUS_PROVV 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 11 "Provvigioni "
|
PROMPT 3 10 "Provvigioni "
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
USE LF_CAUSALI
|
USE LF_CAUSALI
|
||||||
INPUT CODCAUS F_CAUS_PROVV
|
INPUT CODCAUS F_CAUS_PROVV
|
||||||
@ -152,7 +145,7 @@ END
|
|||||||
|
|
||||||
STRING F_CAUS_PROVV_DESCR 50
|
STRING F_CAUS_PROVV_DESCR 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 22 11 ""
|
PROMPT 22 10 ""
|
||||||
USE LF_CAUSALI KEY 2
|
USE LF_CAUSALI KEY 2
|
||||||
INPUT DESCR F_CAUS_PROVV_DESCR
|
INPUT DESCR F_CAUS_PROVV_DESCR
|
||||||
DISPLAY "Descrizione @50" DESCR
|
DISPLAY "Descrizione @50" DESCR
|
||||||
@ -164,6 +157,19 @@ BEGIN
|
|||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/*BOOL F_AUTO_DATA_REG
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 11 "Usare data documento come data registrazione"
|
||||||
|
MESSAGE FALSE ENABLE,F_DATA_REG
|
||||||
|
MESSAGE TRUE CLEAR,F_DATA_REG
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATA_REG
|
||||||
|
BEGIN
|
||||||
|
PROMPT 53 11 "Data reg. "
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END*/
|
||||||
|
|
||||||
STRING DLG_PROFILE 50
|
STRING DLG_PROFILE 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 9 -2 "Profilo "
|
PROMPT 9 -2 "Profilo "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user