Patch level :10.0

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
0001219: Selezione archivi per utente
Descrizione  La funzione "Selezione archivi per utente" praticamente non funziona.
Il filtro su utente nn visualizza alcun record e se immesso manualmente lo cancella.

fatta funzionare la scelta rchivi per utente, a quanto pare iniziata e mai usata da nessuno. non era meglio toglierla dal menu visto che non serve a un cazzo?

Sistemate anche le maschere in new look


git-svn-id: svn://10.65.10.50/trunk@18607 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-03-25 15:09:59 +00:00
parent 5d6e920a89
commit aae3e6c958
17 changed files with 211 additions and 133 deletions

View File

@ -89,7 +89,7 @@ TMask_tabanal::TMask_tabanal(const char* c, const char* k, const char* d)
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
// applicazione per la gestione delle tabelle di Contabilita' Analitica // applicazione per la gestione delle tabelle di Contabilita' Analitica
class Tab_app_ca : public Tab_application class TTab_app_ca : public Tab_application
{ {
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
@ -97,24 +97,27 @@ protected: // TRelation_application
virtual bool user_destroy() ; virtual bool user_destroy() ;
virtual bool user_create() ; virtual bool user_create() ;
virtual int rewrite(const TMask& m); virtual int rewrite(const TMask& m);
virtual void common_mode(TMask& m, const bool mode_insert);
virtual void init_insert_mode(TMask& m);
virtual void init_modify_mode(TMask& m);
virtual void init_query_mode(TMask& m); virtual void init_query_mode(TMask& m);
virtual void init_query_insert_mode(TMask& m); virtual void init_query_insert_mode(TMask& m);
virtual TMask * set_mask(TMask * _m=NULL); virtual TMask * set_mask(TMask * _m=NULL);
public: public:
Tab_app_ca(); TTab_app_ca();
virtual ~Tab_app_ca() {} virtual ~TTab_app_ca() {}
}; };
HIDDEN inline Tab_app_ca& app() { return (Tab_app_ca&)main_app(); } HIDDEN inline TTab_app_ca& app() { return (TTab_app_ca&)main_app(); }
// costruttore // costruttore
Tab_app_ca::Tab_app_ca() {} TTab_app_ca::TTab_app_ca() {}
// alloca/cambia la maschera dell'applicazione // alloca/cambia la maschera dell'applicazione
TMask * Tab_app_ca::set_mask(TMask * _m) TMask * TTab_app_ca::set_mask(TMask * _m)
{ {
if (_m != NULL) if (_m != NULL)
return Tab_application::set_mask(_m); return Tab_application::set_mask(_m);
@ -135,7 +138,7 @@ TMask * Tab_app_ca::set_mask(TMask * _m)
} }
} }
bool Tab_app_ca::user_create() bool TTab_app_ca::user_create()
{ {
bool ok = Tab_application::user_create(); bool ok = Tab_application::user_create();
@ -147,36 +150,67 @@ bool Tab_app_ca::user_create()
return ok; return ok;
} }
bool Tab_app_ca::user_destroy() bool TTab_app_ca::user_destroy()
{ {
return Tab_application::user_destroy(); return Tab_application::user_destroy();
} }
int Tab_app_ca::rewrite(const TMask& m) int TTab_app_ca::rewrite(const TMask& m)
{ {
return Tab_application::rewrite(m); return Tab_application::rewrite(m);
} }
void Tab_app_ca::init_query_mode(TMask& m) void TTab_app_ca::init_insert_mode(TMask& m)
{ {
Tab_application::init_query_mode(m); Tab_application::init_insert_mode(m);
m.show_default(); m.show_default();
if (get_tabname() == "%AUC")
m.hide(F_AUC_CODICE1);
// set_mode(MODE_QUERY);
} }
void Tab_app_ca::init_query_insert_mode(TMask& m) void TTab_app_ca::init_modify_mode(TMask& m)
{ {
Tab_application::init_query_mode(m); Tab_application::init_modify_mode(m);
m.show_default(); m.show_default();
}
void TTab_app_ca::common_mode(TMask& m, const bool mode_insert)
{
//Solo per tabella %AUC
//in ricerca semplice la ricerca viene fatta sulla tabella %AUC (quindi usa il campo F_AUC_CODICE)
//in inserimento la ricerca va fatta sul file USER (quindi usa il campo F_AUC_CODICE1)
if (get_tabname() == "%AUC") if (get_tabname() == "%AUC")
m.hide(F_AUC_CODICE); {
if (mode_insert)
{
m.hide(F_AUC_CODICE);
m.show(F_AUC_CODICE1);
}
else
{
m.hide(F_AUC_CODICE1);
m.show(F_AUC_CODICE);
}
}
}
void TTab_app_ca::init_query_mode(TMask& m)
{
Tab_application::init_query_mode(m);
m.show_default();
common_mode(m, false);
}
void TTab_app_ca::init_query_insert_mode(TMask& m)
{
Tab_application::init_query_insert_mode(m);
m.show_default();
common_mode(m, true);
} }
int ca0100(int argc, char* argv[]) int ca0100(int argc, char* argv[])
{ {
Tab_app_ca a; TTab_app_ca a;
a.run(argc, argv, TR("Tabella")); a.run(argc, argv, TR("Tabella"));
return 0; return 0;
} }

View File

@ -1,17 +1,7 @@
#include "ca0300a.h" #include "ca0300a.h"
TOOLBAR "topbar" 0 0 0 2 TOOLBAR "topbar" 0 0 0 2
#include <stdbar.h>
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -11 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -11 ""
END
ENDPAGE ENDPAGE
PAGE "Pagina 1" -1 -1 78 10 PAGE "Pagina 1" -1 -1 78 10
@ -500,6 +490,10 @@ BEGIN
GROUP 1 GROUP 1
END END
ENDPAGE
TOOLBAR "topbar" 0 0 0 2
BUTTON DLG_OK 10 2 BUTTON DLG_OK 10 2
BEGIN BEGIN
PROMPT -13 -1 "" PROMPT -13 -1 ""
@ -545,6 +539,10 @@ BEGIN
COPY OUTPUT SF_CODNUM COPY OUTPUT SF_CODNUM
END END
ENDPAGE
TOOLBAR "topbar" 0 0 0 2
BUTTON DLG_OK 10 2 BUTTON DLG_OK 10 2
BEGIN BEGIN
PROMPT -13 -1 "" PROMPT -13 -1 ""
@ -591,6 +589,10 @@ BEGIN
COPY OUTPUT SR_CODNUM COPY OUTPUT SR_CODNUM
END END
ENDPAGE
TOOLBAR "topbar" 0 0 0 2
BUTTON DLG_OK 10 2 BUTTON DLG_OK 10 2
BEGIN BEGIN
PROMPT -13 -1 "" PROMPT -13 -1 ""

View File

@ -24,14 +24,24 @@ public:
class TCdC_app : public TAnal_app class TCdC_app : public TAnal_app
{ {
int _maxlev; int _maxlev;
bool _has_filter;
protected:
virtual bool filtered() const;
protected:
virtual void init_modify_mode(TMask& mask); virtual void init_modify_mode(TMask& mask);
virtual void init_insert_mode(TMask& mask); virtual void init_insert_mode(TMask& mask);
virtual TSimple_anal_msk* create_mask() const { return new TCdC_anal_msk; } virtual TSimple_anal_msk* create_mask() const { return new TCdC_anal_msk; }
virtual bool user_create(); virtual bool user_create();
}; };
bool TCdC_app::filtered() const
{
if (_has_filter)
return true;
return TAnal_app::filtered();
}
void TCdC_app::init_modify_mode(TMask& mask) void TCdC_app::init_modify_mode(TMask& mask)
{ {
const short id = ((TCdC_anal_msk &)mask).get_field_id(_maxlev - 1, 1); const short id = ((TCdC_anal_msk &)mask).get_field_id(_maxlev - 1, 1);
@ -56,6 +66,9 @@ bool TCdC_app::user_create()
if (_maxlev <= 0) if (_maxlev <= 0)
return error_box(TR("I centri di costo non sono stati configurati")); return error_box(TR("I centri di costo non sono stati configurati"));
//eventuali filtri per utente
_has_filter = cache().get("%AUC", user(), "S0").full();
return TAnal_app::user_create(); return TAnal_app::user_create();
} }

View File

@ -31,14 +31,24 @@ TCms_anal_msk::TCms_anal_msk()
class TCms_app : public TAnal_app class TCms_app : public TAnal_app
{ {
int _maxlev; int _maxlev;
bool _has_filter;
protected:
virtual bool filtered() const;
protected:
virtual void init_modify_mode(TMask& mask); virtual void init_modify_mode(TMask& mask);
virtual void init_insert_mode(TMask& mask); virtual void init_insert_mode(TMask& mask);
virtual TSimple_anal_msk* create_mask() const { return new TCms_anal_msk; } virtual TSimple_anal_msk* create_mask() const { return new TCms_anal_msk; }
virtual bool user_create(); virtual bool user_create();
}; };
bool TCms_app::filtered() const
{
if (_has_filter)
return true;
return TAnal_app::filtered();
}
void TCms_app::init_modify_mode(TMask& mask) void TCms_app::init_modify_mode(TMask& mask)
{ {
const short id = ((TCms_anal_msk &)mask).get_field_id(_maxlev - 1 , 1); const short id = ((TCms_anal_msk &)mask).get_field_id(_maxlev - 1 , 1);
@ -63,6 +73,9 @@ bool TCms_app::user_create()
if (_maxlev <= 0) if (_maxlev <= 0)
return error_box(TR("Le commesse non sono state configurate")); return error_box(TR("Le commesse non sono state configurate"));
//eventuali filtri per utente
_has_filter = cache().get("%AUC", user(), "S0").full();
return TAnal_app::user_create(); return TAnal_app::user_create();
} }

View File

@ -543,7 +543,7 @@ BEGIN
OUTPUT H_CMS_MAG B0 OUTPUT H_CMS_MAG B0
MESSAGE EMPTY CLEAR,F_CMS_DEP MESSAGE EMPTY CLEAR,F_CMS_DEP
MESSAGE SHOW,F_CMS_DEP MESSAGE SHOW,F_CMS_DEP
GROUP 1 GROUP 1
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
@ -574,7 +574,7 @@ BEGIN
OUTPUT F_CMS_MAG CODTAB[1,3] OUTPUT F_CMS_MAG CODTAB[1,3]
OUTPUT F_CMS_DEP CODTAB[4,5] OUTPUT F_CMS_DEP CODTAB[4,5]
OUTPUT F_CMS_DESCDEP S0 OUTPUT F_CMS_DESCDEP S0
GROUP 1 GROUP 1
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END

View File

@ -36,18 +36,32 @@ bool TFsc_anal_msk::on_field_event(TOperable_field& o, TField_event e, long joll
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
// applicazione per la gestione delle fasi // applicazione per la gestione delle fasi
class TFsc_app : public TAnal_app class TFsc_app : public TAnal_app
{ {
protected: bool _has_filter;
protected:
virtual bool filtered() const;
virtual TSimple_anal_msk* create_mask() const { return new TFsc_anal_msk; } virtual TSimple_anal_msk* create_mask() const { return new TFsc_anal_msk; }
virtual bool user_create(); virtual bool user_create();
}; };
bool TFsc_app::filtered() const
{
if (_has_filter)
return true;
return TAnal_app::filtered();
}
bool TFsc_app::user_create() bool TFsc_app::user_create()
{ {
const TMultilevel_code_info& mci = ca_multilevel_code_info(LF_FASI); const TMultilevel_code_info& mci = ca_multilevel_code_info(LF_FASI);
if (mci.levels() <= 0) if (mci.levels() <= 0)
return error_box(TR("Le fasi non sono state configurate")); return error_box(TR("Le fasi non sono state configurate"));
//eventuali filtri per utente
_has_filter = cache().get("%AUC", user(), "S0").full();
return TAnal_app::user_create(); return TAnal_app::user_create();
} }

View File

@ -1,7 +1,6 @@
#include "ca0800a.h" #include "ca0800a.h"
TOOLBAR "topbar" 0 0 0 2 TOOLBAR "topbar" 0 0 0 2
#include <relapbar.h> #include <relapbar.h>
ENDPAGE ENDPAGE
@ -367,6 +366,10 @@ BEGIN
GROUP 1 GROUP 1
END END
ENDPAGE
TOOLBAR "topbar" 0 0 0 2
BUTTON DLG_OK 10 2 BUTTON DLG_OK 10 2
BEGIN BEGIN
PROMPT -13 -1 "" PROMPT -13 -1 ""

View File

@ -1,34 +1,28 @@
#include "ca1400a.h" #include "ca1400a.h"
PAGE "Stampa piano dei conti analitica" -1 -1 80 17 TOOLBAR "topbar" 0 0 0 2
#include <printbar.h>
ENDPAGE
PAGE "Stampa piano dei conti analitica" 0 2 0 0
GROUPBOX DLG_NULL 77 6 GROUPBOX DLG_NULL 77 6
BEGIN BEGIN
PROMPT 2 1 "Da conto" PROMPT 2 1 "Da conto"
END END
GROUPBOX DLG_NULL 77 6 GROUPBOX DLG_NULL 77 6
BEGIN BEGIN
PROMPT 2 7 "A conto" PROMPT 2 7 "A conto"
END END
STRING F_REPORT 20 STRING F_REPORT 20
BEGIN BEGIN
PROMPT 2 14 "Tipo di stampa " PROMPT 2 14 "Tipo di stampa "
RSELECT "ca1400a" RSELECT "ca1400a"
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -1,33 +1,27 @@
#include "ca1500a.h" #include "ca1500a.h"
PAGE "Stampa centri di costo" -1 -1 80 17 TOOLBAR "topbar" 0 0 0 2
#include <printbar.h>
ENDPAGE
PAGE "Stampa centri di costo" 0 2 0 0
GROUPBOX DLG_NULL 77 6 GROUPBOX DLG_NULL 77 6
BEGIN BEGIN
PROMPT 2 1 "Da centro di costo" PROMPT 2 1 "Da centro di costo"
END END
GROUPBOX DLG_NULL 77 6 GROUPBOX DLG_NULL 77 6
BEGIN BEGIN
PROMPT 2 7 "A centro di costo" PROMPT 2 7 "A centro di costo"
END END
STRING F_REPORT 20 STRING F_REPORT 20
BEGIN BEGIN
PROMPT 2 14 "Tipo di stampa " PROMPT 2 14 "Tipo di stampa "
RSELECT "ca1500a" RSELECT "ca1500a"
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE ENDPAGE

View File

@ -1,10 +1,10 @@
#include "ca1600a.h" #include "ca1600a.h"
TOOLBAR "topbar" 0 -2 0 2 TOOLBAR "topbar" 0 0 0 2
#include <printbar.h> #include <printbar.h>
ENDPAGE ENDPAGE
PAGE "Stampa commesse" 0 0 0 -2 PAGE "Stampa commesse" 0 2 0 0
GROUPBOX DLG_NULL 77 6 GROUPBOX DLG_NULL 77 6
BEGIN BEGIN
@ -52,7 +52,6 @@ BEGIN
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -1,34 +1,28 @@
#include "ca1700a.h" #include "ca1700a.h"
TOOLBAR "topbar" 0 0 0 2
#include <printbar.h>
ENDPAGE
PAGE "Stampa fasi" -1 -1 80 19 PAGE "Stampa fasi" -1 -1 80 19
GROUPBOX DLG_NULL 77 7 GROUPBOX DLG_NULL 77 7
BEGIN BEGIN
PROMPT 2 1 "Da fase" PROMPT 2 1 "Da fase"
END END
GROUPBOX DLG_NULL 77 7 GROUPBOX DLG_NULL 77 7
BEGIN BEGIN
PROMPT 2 8 "A fase" PROMPT 2 8 "A fase"
END END
STRING F_REPORT 20 STRING F_REPORT 20
BEGIN BEGIN
PROMPT 2 16 "Tipo di stampa " PROMPT 2 16 "Tipo di stampa "
RSELECT "ca1700a" RSELECT "ca1700a"
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -3,22 +3,13 @@
TOOLBAR "topbar" 0 0 0 2 TOOLBAR "topbar" 0 0 0 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -11 "~Elabora"
PICTURE TOOL_ELABORA
END
BUTTON DLG_SAVEREC 10 2 BUTTON DLG_SAVEREC 10 2
BEGIN BEGIN
PROMPT -23 -11 "~Salva" PROMPT -23 -11 "~Salva"
PICTURE TOOL_SAVEREC PICTURE TOOL_SAVEREC
END END
BUTTON DLG_QUIT 10 2 #include <elabar.h>
BEGIN
PROMPT -33 -11 ""
END
ENDPAGE ENDPAGE

View File

@ -1,6 +1,12 @@
#include "ca2300a.h" #include "ca2300a.h"
PAGE "Ricalcolo Saldi Analitica" -1 -1 47 10 TOOLBAR "topbar" 0 0 0 2
#include <stdbar.h>
ENDPAGE
PAGE "Ricalcolo Saldi Analitica" 0 2 0 0
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
@ -35,10 +41,4 @@ END
ENDPAGE ENDPAGE
TOOLBAR "topbar" 0 0 0 2
#include <stdbar.h>
ENDPAGE
ENDMASK ENDMASK

View File

@ -1,6 +1,10 @@
#include "ca9400k.h" #include "ca9400k.h"
PAGE "Stampa riclassificazione conti da analitici a contabili" -1 -1 64 10 TOOLBAR "topbar" 0 0 0 2
#include <printbar.h>
ENDPAGE
PAGE "Stampa riclassificazione conti da analitici a contabili" 0 2 0 0
STRING F_DACONTO 20 STRING F_DACONTO 20
BEGIN BEGIN
@ -26,16 +30,6 @@ BEGIN
KEY 2 KEY 2
END END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -1,6 +1,10 @@
#include "ca9400k.h" #include "ca9400k.h"
PAGE "Stampa riclassificazione conti da contabili ad analitici" -1 -1 64 12 TOOLBAR "topbar" 0 0 0 2
#include <printbar.h>
ENDPAGE
PAGE "Stampa riclassificazione conti da contabili ad analitici" 0 2 0 0
GROUPBOX DLG_NULL 60 5 GROUPBOX DLG_NULL 60 5
BEGIN BEGIN
@ -102,16 +106,6 @@ BEGIN
KEY 2 KEY 2
END END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -726,6 +726,7 @@ bool TSimple_anal_msk::on_field_event(TOperable_field& o, TField_event e, long j
const TTree_field& fld = (const TTree_field&)o; const TTree_field& fld = (const TTree_field&)o;
const TTree& tree = *fld.tree(); const TTree& tree = *fld.tree();
TToken_string curr; tree.curr_id(curr); TToken_string curr; tree.curr_id(curr);
TEdit_field* last = NULL;
for (int i = 0; ; i++) for (int i = 0; ; i++)
{ {
const short id = get_field_id(i); const short id = get_field_id(i);
@ -735,8 +736,15 @@ bool TSimple_anal_msk::on_field_event(TOperable_field& o, TField_event e, long j
TEdit_field& e = efield(id); TEdit_field& e = efield(id);
e.set(tok); e.set(tok);
e.show(); e.show();
last = &e;
}
if (last != NULL)
{
if (last->check())
stop_run(K_AUTO_ENTER);
else
warning_box(FR("L'utente %s non ha accesso a questo record"), (const char*)user());
} }
stop_run(K_AUTO_ENTER);
} }
else else
beep(0); beep(0);

View File

@ -8,7 +8,7 @@ ENDPAGE
PAGE "Selezione archivi per Utente" 0 0 0 2 PAGE "Selezione archivi per Utente" 0 0 0 2
STRING F_AUC_CODICE 25 STRING F_AUC_CODICE 16
BEGIN BEGIN
PROMPT 2 2 "Utente " PROMPT 2 2 "Utente "
USE %AUC USE %AUC
@ -25,12 +25,13 @@ BEGIN
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
STRING F_AUC_CODICE1 25 STRING F_AUC_CODICE1 16
BEGIN BEGIN
PROMPT 2 2 "Utente " PROMPT 2 2 "Utente "
USE LF_USER FIELD CODTAB
FLAGS "G" FLAGS "HG"
KEY 1 KEY 1
USE LF_USER
INPUT USERNAME F_AUC_CODICE1 INPUT USERNAME F_AUC_CODICE1
DISPLAY "Utente@16" USERNAME DISPLAY "Utente@16" USERNAME
DISPLAY "Gruppo@16" GROUPNAME DISPLAY "Gruppo@16" GROUPNAME
@ -38,7 +39,7 @@ BEGIN
OUTPUT F_AUC_CODICE1 USERNAME OUTPUT F_AUC_CODICE1 USERNAME
OUTPUT F_AUC_DESCR USERDESC OUTPUT F_AUC_DESCR USERDESC
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
MESSGAE COPY,F_AUC_CODICE MESSAGE COPY,F_AUC_CODICE
END END
STRING F_AUC_DESCR 50 STRING F_AUC_DESCR 50
@ -65,6 +66,36 @@ BEGIN
FIELD S2 FIELD S2
END END
TEXT -1
BEGIN
PROMPT 2 8 "I campi soprastanti sono di tipo formula. Si usano per indicare Commesse, Fasi,"
END
TEXT -1
BEGIN
PROMPT 2 9 "e CdC che l'utente selezionato è autorizzato o meno a consultare/modificare."
END
TEXT -1
BEGIN
PROMPT 2 10 "Esempi"
END
TEXT -1
BEGIN
PROMPT 2 11 "CODCMS=codicecommessa"
END
TEXT -1
BEGIN
PROMPT 2 12 "CODCOSTO=codicecdc"
END
TEXT -1
BEGIN
PROMPT 2 13 "CODFASE=codicefase"
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK