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

@ -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
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
@ -97,24 +97,27 @@ protected: // TRelation_application
virtual bool user_destroy() ;
virtual bool user_create() ;
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_insert_mode(TMask& m);
virtual TMask * set_mask(TMask * _m=NULL);
public:
Tab_app_ca();
virtual ~Tab_app_ca() {}
TTab_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
Tab_app_ca::Tab_app_ca() {}
TTab_app_ca::TTab_app_ca() {}
// 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)
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();
@ -147,36 +150,67 @@ bool Tab_app_ca::user_create()
return ok;
}
bool Tab_app_ca::user_destroy()
bool TTab_app_ca::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);
}
void Tab_app_ca::init_query_mode(TMask& m)
void TTab_app_ca::init_insert_mode(TMask& m)
{
Tab_application::init_query_mode(m);
m.show_default();
if (get_tabname() == "%AUC")
m.hide(F_AUC_CODICE1);
// set_mode(MODE_QUERY);
Tab_application::init_insert_mode(m);
m.show_default();
}
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);
m.show_default();
Tab_application::init_modify_mode(m);
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")
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[])
{
Tab_app_ca a;
TTab_app_ca a;
a.run(argc, argv, TR("Tabella"));
return 0;
}

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

@ -24,14 +24,24 @@ public:
class TCdC_app : public TAnal_app
{
int _maxlev;
bool _has_filter;
protected:
virtual bool filtered() const;
protected:
virtual void init_modify_mode(TMask& mask);
virtual void init_insert_mode(TMask& mask);
virtual TSimple_anal_msk* create_mask() const { return new TCdC_anal_msk; }
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)
{
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)
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();
}

@ -31,14 +31,24 @@ TCms_anal_msk::TCms_anal_msk()
class TCms_app : public TAnal_app
{
int _maxlev;
bool _has_filter;
protected:
virtual bool filtered() const;
protected:
virtual void init_modify_mode(TMask& mask);
virtual void init_insert_mode(TMask& mask);
virtual TSimple_anal_msk* create_mask() const { return new TCms_anal_msk; }
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)
{
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)
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();
}

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

@ -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
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 bool user_create();
};
bool TFsc_app::filtered() const
{
if (_has_filter)
return true;
return TAnal_app::filtered();
}
bool TFsc_app::user_create()
{
const TMultilevel_code_info& mci = ca_multilevel_code_info(LF_FASI);
if (mci.levels() <= 0)
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();
}

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

@ -1,34 +1,28 @@
#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
BEGIN
PROMPT 2 1 "Da conto"
PROMPT 2 1 "Da conto"
END
GROUPBOX DLG_NULL 77 6
BEGIN
PROMPT 2 7 "A conto"
PROMPT 2 7 "A conto"
END
STRING F_REPORT 20
BEGIN
PROMPT 2 14 "Tipo di stampa "
RSELECT "ca1400a"
CHECKTYPE NORMAL
PROMPT 2 14 "Tipo di stampa "
RSELECT "ca1400a"
CHECKTYPE NORMAL
END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

@ -1,33 +1,27 @@
#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
BEGIN
PROMPT 2 1 "Da centro di costo"
PROMPT 2 1 "Da centro di costo"
END
GROUPBOX DLG_NULL 77 6
BEGIN
PROMPT 2 7 "A centro di costo"
PROMPT 2 7 "A centro di costo"
END
STRING F_REPORT 20
BEGIN
PROMPT 2 14 "Tipo di stampa "
RSELECT "ca1500a"
CHECKTYPE NORMAL
END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
PROMPT 2 14 "Tipo di stampa "
RSELECT "ca1500a"
CHECKTYPE NORMAL
END
ENDPAGE

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

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

@ -3,22 +3,13 @@
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
BEGIN
PROMPT -23 -11 "~Salva"
PICTURE TOOL_SAVEREC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -33 -11 ""
END
#include <elabar.h>
ENDPAGE

@ -1,6 +1,12 @@
#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
BEGIN
@ -35,10 +41,4 @@ END
ENDPAGE
TOOLBAR "topbar" 0 0 0 2
#include <stdbar.h>
ENDPAGE
ENDMASK

@ -1,6 +1,10 @@
#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
BEGIN
@ -26,16 +30,6 @@ BEGIN
KEY 2
END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

@ -1,6 +1,10 @@
#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
BEGIN
@ -102,16 +106,6 @@ BEGIN
KEY 2
END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

@ -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& tree = *fld.tree();
TToken_string curr; tree.curr_id(curr);
TEdit_field* last = NULL;
for (int i = 0; ; 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);
e.set(tok);
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
beep(0);

@ -8,7 +8,7 @@ ENDPAGE
PAGE "Selezione archivi per Utente" 0 0 0 2
STRING F_AUC_CODICE 25
STRING F_AUC_CODICE 16
BEGIN
PROMPT 2 2 "Utente "
USE %AUC
@ -25,12 +25,13 @@ BEGIN
CHECKTYPE REQUIRED
END
STRING F_AUC_CODICE1 25
STRING F_AUC_CODICE1 16
BEGIN
PROMPT 2 2 "Utente "
USE LF_USER
FLAGS "G"
FIELD CODTAB
FLAGS "HG"
KEY 1
USE LF_USER
INPUT USERNAME F_AUC_CODICE1
DISPLAY "Utente@16" USERNAME
DISPLAY "Gruppo@16" GROUPNAME
@ -38,7 +39,7 @@ BEGIN
OUTPUT F_AUC_CODICE1 USERNAME
OUTPUT F_AUC_DESCR USERDESC
CHECKTYPE REQUIRED
MESSGAE COPY,F_AUC_CODICE
MESSAGE COPY,F_AUC_CODICE
END
STRING F_AUC_DESCR 50
@ -65,6 +66,36 @@ BEGIN
FIELD S2
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
ENDMASK