Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@19127 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0c6f9681fe
commit
e0d100d24d
114
ps/pg0068100.cpp
114
ps/pg0068100.cpp
@ -18,14 +18,19 @@
|
||||
///////////////////////////////////////////////
|
||||
// MASCHERA
|
||||
///////////////////////////////////////////////
|
||||
class TEleabollazione_HK_mask : public TAutomask
|
||||
class TElabollazione_HK_mask : public TAutomask
|
||||
{
|
||||
TArray_sheet* _num_sheet; // TArray_sheet contenente le selezioni sui codici numerazione
|
||||
TString_array _tipi_doc; // Array di stringhe contenente i tipi documenti da elaborare
|
||||
TArray_sheet* _num_sheet;
|
||||
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:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
// Costruisce lo sheet dei codici numerazione
|
||||
//void build_num_sheet(const short field);
|
||||
void build_num_sheet();
|
||||
|
||||
public:
|
||||
@ -33,40 +38,47 @@ public:
|
||||
bool doc_tipo_stato_ok(const TRectype& doc);
|
||||
// Restituisce lo sheet con le numerazioni da elaborare
|
||||
TArray_sheet& num_sheet() const { return *_num_sheet; }
|
||||
//TArray_sheet& num_sheet_provv() const { return *_num_sheet_provv; }
|
||||
// Constructor and Distructor
|
||||
TEleabollazione_HK_mask();
|
||||
~TEleabollazione_HK_mask();
|
||||
TElabollazione_HK_mask();
|
||||
~TElabollazione_HK_mask();
|
||||
};
|
||||
|
||||
TEleabollazione_HK_mask::TEleabollazione_HK_mask() : TAutomask("ve6800a")
|
||||
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_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");*/
|
||||
}
|
||||
|
||||
TEleabollazione_HK_mask::~TEleabollazione_HK_mask()
|
||||
TElabollazione_HK_mask::~TElabollazione_HK_mask()
|
||||
{
|
||||
delete _num_sheet;
|
||||
delete _num_sheet;
|
||||
/*delete _num_sheet_costi;
|
||||
delete _num_sheet_provv;*/
|
||||
}
|
||||
|
||||
bool TEleabollazione_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)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_CODICE_ELAB:
|
||||
case F_ELAB_COSTI:
|
||||
case F_ELAB_PROVV:
|
||||
if (e == fe_modify || e == fe_init)
|
||||
{
|
||||
const bool full = !o.empty();
|
||||
if (full)
|
||||
//build_num_sheet(o.dlg());
|
||||
build_num_sheet();
|
||||
enable(DLG_USER, full);
|
||||
enable(DLG_OK, full && _num_sheet->one_checked());
|
||||
enable(DLG_OK, full && _num_sheet->one_checked()); //(_num_sheet_costi->one_checked() && _num_sheet_provv->one_checked()));
|
||||
}
|
||||
break;
|
||||
case DLG_USER:
|
||||
if (e == fe_button && _num_sheet->run())
|
||||
if (e == fe_button && _num_sheet->run()) //(_num_sheet_costi->run() || _num_sheet_->run()))
|
||||
{
|
||||
// Hai selezionato qualcosa ? allora abilita il pulsante di conferma
|
||||
enable(DLG_OK, _num_sheet->one_checked());
|
||||
enable(DLG_OK, _num_sheet->one_checked()); //(_num_sheet_costi->one_checked() && _num_sheet_provv->one_checked()));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -75,12 +87,32 @@ bool TEleabollazione_HK_mask::on_field_event(TOperable_field& o, TField_event e,
|
||||
return true;
|
||||
}
|
||||
|
||||
void TEleabollazione_HK_mask::build_num_sheet()
|
||||
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();
|
||||
_tipi_doc.destroy();
|
||||
|
||||
const TContabilizzazione_analitica contanal(get(F_CODICE_ELAB));
|
||||
const TContabilizzazione_analitica contanal(get(F_ELAB_COSTI));
|
||||
if (!contanal.empty())
|
||||
{
|
||||
TToken_string t;
|
||||
@ -122,7 +154,7 @@ void TEleabollazione_HK_mask::build_num_sheet()
|
||||
}
|
||||
}
|
||||
|
||||
bool TEleabollazione_HK_mask::doc_tipo_stato_ok(const TRectype& doc)
|
||||
bool TElabollazione_HK_mask::doc_tipo_stato_ok(const TRectype& doc)
|
||||
// Verifica che il tipo documento corrente esista tra i tipi previsti dalla elaborazione
|
||||
// differita selezionata
|
||||
{
|
||||
@ -143,9 +175,9 @@ bool TEleabollazione_HK_mask::doc_tipo_stato_ok(const TRectype& doc)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// CLASSI DERIVATE DALLA TContabilizzazione_analitica (con le modifiche per il caso in questione)
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
class TContabilizzazione_analitica_costi : public TContabilizzazione_analitica
|
||||
{
|
||||
TString4 _codcaus;
|
||||
@ -180,7 +212,7 @@ bool TContabilizzazione_analitica_costi::elabora(TDocumento& doc, long numreg_cg
|
||||
descr = doc.tipo().descrizione();
|
||||
|
||||
const TString8 rif = doc.get(DOC_NUMDOCRIF);
|
||||
codcaus = caus.codice();
|
||||
codcaus = caus.codice(); //CAZZONISSIMO!! SBAGLIA!
|
||||
const bool use_rif = caus.iva() == iva_acquisti && rif.not_empty();
|
||||
if (use_rif)
|
||||
{
|
||||
@ -399,11 +431,11 @@ public:
|
||||
// APPLICAZIONE
|
||||
/////////////////////////////////////////////
|
||||
|
||||
// TEleabollazione_HK
|
||||
// TElabollazione_HK
|
||||
// Applicazione di contabilizzazione documenti
|
||||
class TEleabollazione_HK_app : public TSkeleton_application
|
||||
class TElabollazione_HK_app : public TSkeleton_application
|
||||
{
|
||||
TEleabollazione_HK_mask* _msk;
|
||||
TElabollazione_HK_mask* _msk;
|
||||
|
||||
virtual bool check_autorization() const {return false;}
|
||||
virtual const char * extra_modules() const {return "ve";}
|
||||
@ -419,7 +451,7 @@ public:
|
||||
};
|
||||
|
||||
|
||||
void TEleabollazione_HK_app::contabilize()
|
||||
void TElabollazione_HK_app::contabilize()
|
||||
{
|
||||
//Prende i dati dalla maschera (date,sheet numerazioni)
|
||||
const TDate data_ini = _msk->get_date(F_DATA_INI);
|
||||
@ -464,7 +496,6 @@ void TEleabollazione_HK_app::contabilize()
|
||||
{
|
||||
da.put(DOC_CODNUM, nums);
|
||||
a.put(DOC_CODNUM, nums);
|
||||
//filt_expr.cut(0); // Il filtro diventa inutile
|
||||
}
|
||||
|
||||
// Cursore complessivo con limiti di data (chiave 3). Viene sfruttata l'ottimizzazione
|
||||
@ -498,12 +529,19 @@ void TEleabollazione_HK_app::contabilize()
|
||||
}
|
||||
}
|
||||
//E finalmente fa l'agognata elaborazione!!!!!
|
||||
TString16 elaborazione = _msk->get(F_CODICE_ELAB);
|
||||
TContabilizzazione_analitica contanal(elaborazione);
|
||||
contanal.elabora(lista_in, lista_out, data_reg);
|
||||
TString16 elaborazione_costi = _msk->get(F_ELAB_COSTI);
|
||||
TContabilizzazione_analitica_costi contanal_costi(_msk->get(F_CAUS_COSTI), elaborazione_costi);
|
||||
contanal_costi.TContabilizzazione_analitica::elabora(lista_in, lista_out, data_reg);
|
||||
|
||||
if (contanal.processed_docs() > 0L)
|
||||
message_box(FR("Totale documenti contabilizzati: %ld"), contanal.processed_docs());
|
||||
if (contanal_costi.processed_docs() > 0L)
|
||||
message_box(FR("Totale documenti di costo contabilizzati: %ld"), contanal_costi.processed_docs());
|
||||
|
||||
TString16 elaborazione_provv = _msk->get(F_ELAB_PROVV);
|
||||
TContabilizzazione_analitica_provvigioni contanal_provv(_msk->get(F_CAUS_PROVV), elaborazione_provv);
|
||||
contanal_provv.TContabilizzazione_analitica::elabora(lista_in, lista_out, data_reg);
|
||||
|
||||
if (contanal_provv.processed_docs() > 0L)
|
||||
message_box(FR("Totale documenti di provvigione contabilizzati: %ld"), contanal_provv.processed_docs());
|
||||
}
|
||||
else
|
||||
warning_box(TR("Non vi sono documenti da contabilizzare per le numerazioni selezionate."));
|
||||
@ -512,24 +550,24 @@ void TEleabollazione_HK_app::contabilize()
|
||||
}
|
||||
|
||||
|
||||
bool TEleabollazione_HK_app::create()
|
||||
bool TElabollazione_HK_app::create()
|
||||
{
|
||||
//se non ha le vendite è impossibile da utilizzare
|
||||
if (!has_module(VEAUT) && !has_module(CAAUT))
|
||||
//se non ha le vendite e l'analitica è impossibile da utilizzare
|
||||
if (!has_module(VEAUT) || !has_module(CAAUT))
|
||||
return error_box(TR("Modulo non autorizzato"));
|
||||
|
||||
open_files(LF_TABCOM, LF_TAB, LF_DOC, LF_RIGHEDOC, LF_MOVANA, LF_RMOVANA, 0);
|
||||
_msk = new TEleabollazione_HK_mask();
|
||||
//open_files(LF_TABCOM, LF_TAB, LF_DOC, LF_RIGHEDOC, LF_MOVANA, LF_RMOVANA, 0);
|
||||
_msk = new TElabollazione_HK_mask();
|
||||
return TSkeleton_application::create();
|
||||
}
|
||||
|
||||
bool TEleabollazione_HK_app::destroy()
|
||||
bool TElabollazione_HK_app::destroy()
|
||||
{
|
||||
if (_msk) delete _msk;
|
||||
return TSkeleton_application::destroy();
|
||||
}
|
||||
|
||||
void TEleabollazione_HK_app::main_loop()
|
||||
void TElabollazione_HK_app::main_loop()
|
||||
{
|
||||
while (_msk->run() == K_ENTER)
|
||||
contabilize();
|
||||
@ -537,7 +575,7 @@ void TEleabollazione_HK_app::main_loop()
|
||||
|
||||
int pg0068100 (int argc, char **argv)
|
||||
{
|
||||
TEleabollazione_HK_app a;
|
||||
TElabollazione_HK_app a;
|
||||
a.run(argc,argv, TR("Contabilizzazione Hair Kulture"));
|
||||
return true;
|
||||
}
|
||||
|
@ -1,8 +1,14 @@
|
||||
// Include file per ve6800a.uml
|
||||
// Include file per pg0068100a.uml
|
||||
|
||||
#define F_CODICE_ELAB 101
|
||||
#define F_DESC_ELAB 102
|
||||
#define F_DATA_INI 103
|
||||
#define F_DATA_FIN 104
|
||||
#define F_DATA_AUTO 105
|
||||
#define F_DATA_REG 106
|
||||
#define F_ELAB_COSTI 101
|
||||
#define F_ELAB_COSTI_DESCR 102
|
||||
#define F_ELAB_PROVV 103
|
||||
#define F_ELAB_PROVV_DESCR 104
|
||||
#define F_DATA_INI 105
|
||||
#define F_DATA_FIN 106
|
||||
#define F_DATA_AUTO 107
|
||||
#define F_DATA_REG 108
|
||||
#define F_CAUS_COSTI 109
|
||||
#define F_CAUS_COSTI_DESCR 110
|
||||
#define F_CAUS_PROVV 111
|
||||
#define F_CAUS_PROVV_DESCR 112
|
||||
|
@ -1,60 +1,5 @@
|
||||
#include "pg0068100a.h"
|
||||
|
||||
PAGE "Contabilizzazione HAIR KULTURE" -1 -1 78 8
|
||||
|
||||
STRING F_CODICE_ELAB 8
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice "
|
||||
FLAG "U"
|
||||
USE %ELD SELECT I0 == 7
|
||||
INPUT CODTAB F_CODICE_ELAB
|
||||
DISPLAY "Codice@8" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODICE_ELAB CODTAB
|
||||
OUTPUT F_DESC_ELAB S0
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "E' necessario specificare il codice elaborazione"
|
||||
END
|
||||
|
||||
STRING F_DESC_ELAB 50
|
||||
BEGIN
|
||||
PROMPT 20 1 ""
|
||||
USE %ELD KEY 2 SELECT I0 == 7
|
||||
INPUT S0 F_DESC_ELAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice@8" CODTAB
|
||||
COPY OUTPUT F_CODICE_ELAB
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 26 4
|
||||
BEGIN
|
||||
PROMPT 1 2 "Date intervallo documenti"
|
||||
END
|
||||
|
||||
DATE F_DATA_INI
|
||||
BEGIN
|
||||
PROMPT 2 3 "Inizio "
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "La data di inizio intervallo e' obbligatoria"
|
||||
END
|
||||
|
||||
DATE F_DATA_FIN
|
||||
BEGIN
|
||||
PROMPT 2 4 "Fine "
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "La data di fine intervallo deve essere successiva a quella di inizio"
|
||||
VALIDATE DATE_CMP_FUNC >= F_DATA_INI
|
||||
END
|
||||
|
||||
DATE F_DATA_REG
|
||||
BEGIN
|
||||
PROMPT 2 6 "Data registrazione "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_USER 10 2
|
||||
@ -67,4 +12,164 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Contabilizzazione HAIR KULTURE" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 77 4
|
||||
BEGIN
|
||||
PROMPT 1 0 "@bElaborazioni"
|
||||
END
|
||||
|
||||
STRING F_ELAB_COSTI 8
|
||||
BEGIN
|
||||
PROMPT 2 1 "Costi "
|
||||
FLAG "U"
|
||||
USE %ELD SELECT I0 == 7
|
||||
INPUT CODTAB F_ELAB_COSTI
|
||||
DISPLAY "Codice@8" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_ELAB_COSTI CODTAB
|
||||
OUTPUT F_ELAB_COSTI_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "E' necessario specificare il codice elaborazione"
|
||||
END
|
||||
|
||||
STRING F_ELAB_COSTI_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 25 1 ""
|
||||
USE %ELD KEY 2 SELECT I0 == 7
|
||||
INPUT S0 F_ELAB_COSTI_DESCR
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice@8" CODTAB
|
||||
COPY OUTPUT F_ELAB_COSTI
|
||||
END
|
||||
|
||||
STRING F_ELAB_PROVV 8
|
||||
BEGIN
|
||||
PROMPT 2 2 "Provvigioni "
|
||||
FLAG "U"
|
||||
USE %ELD SELECT I0 == 7
|
||||
INPUT CODTAB F_ELAB_PROVV
|
||||
DISPLAY "Codice@8" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_ELAB_PROVV CODTAB
|
||||
OUTPUT F_ELAB_PROVV_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "E' necessario specificare il codice elaborazione"
|
||||
END
|
||||
|
||||
STRING F_ELAB_PROVV_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 25 2 ""
|
||||
USE %ELD KEY 2 SELECT I0 == 7
|
||||
INPUT S0 F_ELAB_PROVV_DESCR
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice@8" CODTAB
|
||||
COPY OUTPUT F_ELAB_PROVV
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 77 3
|
||||
BEGIN
|
||||
PROMPT 1 4 "@bDate intervallo documenti"
|
||||
END
|
||||
|
||||
DATE F_DATA_INI
|
||||
BEGIN
|
||||
PROMPT 2 5 "Inizio "
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "La data di inizio intervallo e' obbligatoria"
|
||||
END
|
||||
|
||||
DATE F_DATA_FIN
|
||||
BEGIN
|
||||
PROMPT 25 5 "Fine "
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "La data di fine intervallo deve essere successiva a quella di inizio"
|
||||
VALIDATE DATE_CMP_FUNC >= F_DATA_INI
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 77 6
|
||||
BEGIN
|
||||
PROMPT 1 7 "@bParametri movimenti generati"
|
||||
END
|
||||
|
||||
DATE F_DATA_REG
|
||||
BEGIN
|
||||
PROMPT 2 8 "Data registrazione "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 2 9 "@bCausali"
|
||||
END
|
||||
|
||||
STRING F_CAUS_COSTI 4
|
||||
BEGIN
|
||||
PROMPT 3 10 "Costi "
|
||||
FLAGS "UZ"
|
||||
USE LF_CAUSALI
|
||||
INPUT CODCAUS F_CAUS_COSTI
|
||||
DISPLAY "Cod." CODCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Documento" TIPODOC
|
||||
DISPLAY "Tipo movimento" TIPOMOV
|
||||
DISPLAY "Inc./Pag." CODCAUSIM
|
||||
OUTPUT F_CAUS_COSTI CODCAUS
|
||||
OUTPUT F_CAUS_COSTI_DESCR DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_CAUS_COSTI_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 22 10 ""
|
||||
USE LF_CAUSALI KEY 2
|
||||
INPUT DESCR F_CAUS_COSTI_DESCR
|
||||
DISPLAY "Descrizione @50" DESCR
|
||||
DISPLAY "Cod." CODCAUS
|
||||
DISPLAY "Documento" TIPODOC
|
||||
DISPLAY "Movimento" TIPOMOV
|
||||
DISPLAY "Inc./Pag." CODCAUSIM
|
||||
COPY OUTPUT F_CAUS_COSTI
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_CAUS_PROVV 4
|
||||
BEGIN
|
||||
PROMPT 3 11 "Provvigioni "
|
||||
FLAGS "UZ"
|
||||
USE LF_CAUSALI
|
||||
INPUT CODCAUS F_CAUS_PROVV
|
||||
DISPLAY "Cod." CODCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Documento" TIPODOC
|
||||
DISPLAY "Tipo movimento" TIPOMOV
|
||||
DISPLAY "Inc./Pag." CODCAUSIM
|
||||
OUTPUT F_CAUS_PROVV CODCAUS
|
||||
OUTPUT F_CAUS_PROVV_DESCR DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_CAUS_PROVV_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 22 11 ""
|
||||
USE LF_CAUSALI KEY 2
|
||||
INPUT DESCR F_CAUS_PROVV_DESCR
|
||||
DISPLAY "Descrizione @50" DESCR
|
||||
DISPLAY "Cod." CODCAUS
|
||||
DISPLAY "Documento" TIPODOC
|
||||
DISPLAY "Movimento" TIPOMOV
|
||||
DISPLAY "Inc./Pag." CODCAUSIM
|
||||
COPY OUTPUT F_CAUS_PROVV
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING DLG_PROFILE 50
|
||||
BEGIN
|
||||
PROMPT 9 -2 "Profilo "
|
||||
PSELECT
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
Loading…
x
Reference in New Issue
Block a user