Patch level : 10.0 396

Files correlati     :  tc1.exe
Ricompilazione Demo : [ ]
Commento

Aggiornamenti all invio a zucchetti (nuove tabelle)


git-svn-id: svn://10.65.10.50/trunk@19155 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2009-07-28 15:05:20 +00:00
parent 6cd4a967da
commit 256ef4829c
25 changed files with 1040 additions and 191 deletions

View File

@ -1,3 +1,3 @@
159
0
$riclpdc|0|0|123|0|Riclassificazioni piano dei conti|||
$riclpdc|2|2|123|0|Riclassificazioni piano dei conti|||

View File

@ -7,6 +7,6 @@ SOTTOCONTO|3|6|0|Sottoconto
CODICE|1|50|0|Codice elemento (comprensivo dell' eventuale codice tabella)
DESCRIZ|1|50|0|Descrizione
3
TIPORIC+CODICE+GRUPPO+CONTO+SOTTOCONTO|
TIPORIC+GRUPPO+CONTO+SOTTOCONTO|
TIPORIC+DESCRIZ|X
TIPORIC+GRUPPO+CONTO+SOTTOCONTO|X
TIPORIC+CODICE+GRUPPO+CONTO+SOTTOCONTO|X

View File

@ -1437,7 +1437,7 @@ void TTS_sender::set_parameters()
bool TTS_sender::create()
{
_tabelle = new TRiclassifica_cache;
_conti = new TRecord_cache(LF_RICLPDC, 3);
_conti = new TRecord_cache(LF_RICLPDC, 1);
set_parameters();
return TSkeleton_application::create();
}

View File

@ -7,8 +7,10 @@ int main(int argc, char** argv)
const int op = argc < 2 ? 0 : argv[1][1]-'0';
switch (op)
{
case 7: tc1800(argc,argv); break; //riclassificazione conti zucchetti
case 0: tc1100(argc,argv); break; //trasferimento zucchetti
case 7: tc1800(argc,argv); break; // riclassificazione conti zucchetti
case 6: tc1700(argc,argv); break; // riclassificazione tabelle
case 1: tc1200(argc,argv); break; // Tabelle
case 0: tc1100(argc,argv); break; // trasferimento zucchetti
default: tc1100(argc,argv); break;
}
exit(0);

View File

@ -2,6 +2,8 @@
#define __TC1_H
int tc1100(int argc, char** argv);
int tc1200(int argc, char** argv);
int tc1700(int argc, char** argv);
int tc1800(int argc, char** argv);
#endif // __TC1_H

View File

@ -15,10 +15,58 @@
#include <mov.h>
#include <rmov.h>
#include <rmoviva.h>
#include <multirel.h>
#define ALIAS_REG 100
// restituisce un riferimento all' applicazione
///////////////////////////////////////////////////////////
// TRiclassifica_cache
///////////////////////////////////////////////////////////
class TRiclassifica_cache : public TCache
{
TLocalisamfile _multirel;
protected:
virtual TObject* key2obj(const char* key);
public:
const char * sdecode(const char* tab, const TString& cod);
long decode(const char* tab, const TString& cod);
TRiclassifica_cache() : _multirel(LF_MULTIREL) {}
};
TObject* TRiclassifica_cache::key2obj(const char* key)
{
TToken_string tok(key);
TString8 tab, cod;
tok.get(0,tab);
tok.get(1, cod);
_multirel.put(MULTI_COD, tab);
_multirel.put(MULTI_FIRST, cod);
int err = _multirel.read(_isgteq);
if (err == NOERR && _multirel.get(MULTI_FIRST) == cod)
return new TString(_multirel.get(MULTI_SECOND));
return NULL;
}
long TRiclassifica_cache::decode(const char* tab, const TString& cod)
{
TToken_string tok;
tok.add(tab);
tok.add(cod);
const TString* ric = (const TString*) objptr(tok);
return (ric ? atol(*ric) : 0);
}
const char * TRiclassifica_cache::sdecode(const char* tab, const TString& cod)
{
TToken_string tok;
tok.add(tab);
tok.add(cod);
const TString* ric = (const TString*) objptr(tok);
return ric ? (const char *) *ric : "";
}
class TInvio;
inline TInvio& app() { return (TInvio&) main_app();}
@ -78,6 +126,7 @@ class TInvio : public TSkeleton_application
TInvio_mask* _msk;
TInvio_file* _trasfile;
TLog_report * _log;
TRiclassifica_cache * _tabelle;
TRecord_cache* _conti;
long _nrecords, _nrecsfattvend, _nrecsfattacqu, _nrecsmocontab;
int _nfiles;
@ -101,13 +150,14 @@ protected:
void i_zucchetti_testa();
void i_zucchetti_coda();
public:
int get_nfiles() {return _nfiles;};
long get_nrecords() {return _nrecords;};
long get_nrecsdettaglio() {return _nrecsdettaglio;};
TString16& get_descrdettaglio() {return _descrdettaglio;};
const bool totale() {return _totale;};
const bool finemov() {return _finemov;};
TRecord_cache& conti() {return *_conti;};
int get_nfiles() {return _nfiles;}
long get_nrecords() {return _nrecords;}
long get_nrecsdettaglio() {return _nrecsdettaglio;}
TString16& get_descrdettaglio() {return _descrdettaglio;}
const bool totale() {return _totale;}
const bool finemov() {return _finemov;}
TRecord_cache& conti() {return *_conti;}
TRiclassifica_cache & tabelle() { return * _tabelle;}
void log(int sev, const char* msg);
TInvio() {} ;
@ -138,17 +188,21 @@ const TString& TInvio_file::bill2ricl(const char t, int gr, int co, long so)
{
if (t <= ' ')
{
TToken_string cod("ZCCONTI");
TToken_string cod("ZUCONTI");
cod.add(gr);
cod.add(co);
cod.add(so);
codricl = app().conti().get(cod, "CODICE");
if (codricl.empty())
// Provo il sottoconto ma se non riesco provo con conto e poi anche gruppo
for (int c = 3; c > 0 && codricl <= 0; c--)
{
codricl = atol(app().conti().get(cod, "CODICE"));
cod.add(0, c);
}
if (codricl <= 0)
{
TString msg;
msg << TR("Conto") << " " << gr << " " << co << " " << so << " :" << TR("Non presente in tabella");
app().log(2, msg);
}
}
@ -205,15 +259,33 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt
}
else if (code == "_CAUSALE")
{
TFilename configname = "tc1100conf.ini";
TConfig configfile(configname);
TToken_string causali = configfile.get("STANDARD", "CAUSALI");
const char sezione = cur.curr(LF_RMOV).get_char(RMV_SEZIONE);
if (sezione == 'D')
valore = causali.get(0);
else
valore = causali.get(1);
valore = app().tabelle().sdecode("ZUCAU", str);
if (valore.blank())
valore = str;
}
else if (code == "_IVA" || code == "_NORMA")
{
valore = app().tabelle().sdecode("ZUIVA", str);
if (code == "_NORMA")
{
valore = cache().get("&ZIV", str, "S7");
if (valore.blank())
valore = str.mid(2);
}
else
if (valore.blank())
valore = str.left(2);
}
else if (code == "_BANCA")
{
valore = app().tabelle().sdecode("ZUBAN", str);
if (valore.blank())
{
valore = str.mid(2, 3);
valore << str.mid(7, 3);
}
}
else if (code == "_NUMFILES")
{
const int nfiles = app().get_nfiles();
@ -328,6 +400,11 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt
{
const int ln = s.get_int();
const TRectype & rec = cur.curr(ln);
char t = ' ';
const TString& tiponame = s.get();
if (s.full())
t = rec.get_char(tiponame);
if (ln == LF_CLIFO)
{
@ -335,7 +412,7 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt
const int co = rec.get_int(CLI_CONTORIC);
const long so = rec.get_int(CLI_SOTTOCRIC);
valore = bill2ricl(' ', gr, co, so);
valore = bill2ricl(t, gr, co, so);
}
else
{
@ -343,7 +420,7 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt
const int co = rec.get_int("CONTO");
const long so = rec.get_int("SOTTOCONTO");
valore = bill2ricl(' ', gr, co, so);
valore = bill2ricl(t, gr, co, so);
}
}
@ -552,13 +629,13 @@ long TInvio::i_zucchetti_moviva(const char acqven, const bool invio)
TRelation rel(LF_MOV);
rel.add(LF_RMOVIVA, "NUMREG==NUMREG", 1);
rel.add("REG", "CODTAB[1,4]==ANNOIVA|CODTAB[5,7]==REG", 1);
TString filtro = "(23->PROTIVA != \"\") && ";
TString filtro = "(23->PROTIVA != \"\")&&";
if (acqven == 'V')
filtro << "(REG->I0 == 1)";
else
filtro << "(REG->I0 == 2)";
TCursor cur(&rel, "", 2, &da, &a);
cur.setfilter(filtro, TRUE);
cur.setfilter(filtro, true);
const long cur_items = cur.items();
long totrec = 0;
if (cur_items != 0)
@ -686,9 +763,10 @@ void TInvio::invio_zucchetti()
bool TInvio::create()
{
_tabelle = new TRiclassifica_cache;
_msk = new TInvio_mask();
_trasfile = NULL;
_conti = new TRecord_cache(LF_RICLPDC, 3);
_conti = new TRecord_cache(LF_RICLPDC, 1);
return TSkeleton_application::create();
}
@ -698,6 +776,7 @@ bool TInvio::destroy()
delete _trasfile;
delete _msk;
delete _conti;
delete _tabelle;
return TSkeleton_application::destroy();
}

View File

@ -329,7 +329,8 @@ NAME(2) = SOTTOCONTO
TYPE(2) = NUMERO
POSITION(2) = 3
LENGTH(2) = 6
FIELD(2)=19->SOTTOCONTO
//FIELD(2)=19->SOTTOCONTO
MESSAGE(2)=_CONTO
NAME(3) = DESCRIZIONE
TYPE(3) = STRINGA
@ -627,7 +628,8 @@ NAME(2) = CODICE IVA
TYPE(2) = STRINGA
POSITION(2) = 3
LENGTH(2) = 2
FIELD(2)= 25->CODIVA[1,2]
FIELD(2)= 25->CODIVA
MESSAGE(2) = _IVA
FILLER(2) = '0'
NAME(3) = IMPORTO IMPONIBILE EURO
@ -660,7 +662,8 @@ NAME(7) = CODICE NORMA
TYPE(7) = STRINGA
POSITION(7) = 29
LENGTH(7) = 2
FIELD(7) = 25->CODIVA[3,4]
FIELD(7) = 25->CODIVA
MESSAGE(7)= _NORMA
FILLER(7) = '0'
NAME(8) = CENTRO DI COSTO
@ -672,7 +675,8 @@ NAME(9) = CONTROPARTITA
TYPE(9) = NUMERO
POSITION(9) = 35
LENGTH(9) = 6
FIELD(9) = 25->SOTTOCONTO
// FIELD(9) = 25->SOTTOCONTO
MESSAGE(9)= _CONTO,25,TIPOC
NAME(10) = IMPORTO TOTALE EURO
TYPE(10) = IMPORTO

55
tc/tc1200.cpp Executable file
View File

@ -0,0 +1,55 @@
// gestione tabelle di magazzino
#include <modaut.h>
#include <modtbapp.h>
#include <tabutil.h>
// applicazione per la gestione delle tabelle di magazzino
class Tab_app_zucc : public TTable_module_application
{
protected: // TRelation_application
virtual bool user_create() ;
public:
Tab_app_zucc() {}
virtual ~Tab_app_zucc() {}
};
HIDDEN inline Tab_app_zucc& app() { return (Tab_app_zucc&)main_app(); }
bool Tab_app_zucc::user_create()
{
/*
la Tab_application::user_create() apre la maschera TMask in modo automatico
basandosi sul parametro passato sulla linea di comando e sulla convenzione
nome = "BATB"+parametro;
ORA:
- questa convenzione cambierà per separare i programmi (e le maschere)
dei vari pacchetti
In tal caso ridefinire il metodo virtual mask_name()
- secondo il nuovo stile, gli handler vanno posti in maschere derivate
dalla TMask (TMask_tabzucc, TMask_tabcau, ecc), pertanto occorre che
la maschera aperta sia del tipo corretto
per questo motivo la maschera viene creata dalla user_create()
*/
bool ok = TTable_module_application::user_create();
if (ok)
{
//TMask& mask = *set_mask();
}
return ok;
}
int tc1200(int argc, char** argv)
{
Tab_app_zucc a;
a.run(argc, argv, TR("Tabella"));
return 0;
}

85
tc/tc1700.cpp Executable file
View File

@ -0,0 +1,85 @@
#include <tabapp.h>
#include "tc1.h"
#include "tczu.h"
class TZucchetti_multirel_app : public TMultirel_application
{
protected:
virtual void set_descr(TMask & m, const TString & desc);
virtual void get_mask_name(TString& tabname) const;
virtual void init_query_mode(TMask& m);
virtual void init_query_insert_mode(TMask& m);
virtual void init_modify_mode(TMask& m);
virtual void init_insert_mode(TMask& m);
//magico metodo per impedire la navigazione su tabelle diverse da quella corrente del cursore
virtual bool has_filtered_cursor() const { return true; }
virtual bool user_create();
public:
TZucchetti_multirel_app() {}
virtual ~TZucchetti_multirel_app() {}
};
void TZucchetti_multirel_app::set_descr(TMask & m, const TString & desc)
{
m.set(F_DESC, desc);
}
void TZucchetti_multirel_app::get_mask_name(TString& tabname) const
{
TMultirel_application::get_mask_name(tabname);
tabname.overwrite("zu", 2);
}
void TZucchetti_multirel_app::init_query_mode(TMask& m)
{
TMultirel_application::init_query_mode(m);
m.show(-1);
m.hide(-2);
m.disable(-3);
}
void TZucchetti_multirel_app::init_query_insert_mode(TMask& m)
{
TMultirel_application::init_query_insert_mode(m);
m.hide(-1);
m.show(-2);
m.enable(-3);
}
void TZucchetti_multirel_app::init_modify_mode(TMask& m)
{
TMultirel_application::init_modify_mode(m);
m.show(-1);
m.disable(-1);
m.hide(-2);
m.disable(-3);
}
void TZucchetti_multirel_app::init_insert_mode(TMask& m)
{
TMultirel_application::init_insert_mode(m);
m.show(-1);
m.disable(-1);
m.hide(-2);
m.disable(-3);
}
bool TZucchetti_multirel_app::user_create()
{
bool ok = TMultirel_application::user_create();
if (ok)
{
set_search_field(get_tabname() == "BAN" ? F_CODTAB1 : F_CODTAB);
}
return ok;
}
int tc1700(int argc, char* argv[])
{
TZucchetti_multirel_app a;
a.run(argc, argv, TR("Tabella"));
return 0;
}

View File

@ -1,4 +1,3 @@
// gestione files Contabilita' Analitica: CENTRI DI COSTO
#include <automask.h>
#include <execp.h>
#include <relapp.h>
@ -23,25 +22,6 @@ bool TZC_ricl_msk::on_field_event(TOperable_field& o, TField_event e, long jolly
switch (o.dlg())
{
case F_CONTO:
{
TString16 key;
key.format("%d|%d", o.mask().get_int(F_GRUPPO), o.mask().get_int(F_CONTO));
const TRectype & rec = cache().get(LF_PCON, key);
const char tsottoc = rec.get_char(PCN_TMCF);
if (tsottoc <= ' ')
{
enable(F_SOTTOCONTO);
enable(F_DESC);
}
else
{
disable(F_SOTTOCONTO);
disable(F_DESC);
reset(F_SOTTOCONTO);
}
}
break;
default:
break;
@ -72,17 +52,18 @@ protected:
// @cmember Ritorna la relazione da modificare
virtual TRelation* get_relation() const { CHECK(_rel, "Null relation"); return _rel; }
// @cmember Inizializza la maschera per il modo inserimento
// @cmember Inizializzazione dei dati dell'utente
virtual void init_query_mode(TMask& m) ;
// @cmember Inizializza la maschera per il modo ricerca ed inserimento (chiama <mf TRelation_application::init_query_mode>)
virtual void init_query_insert_mode(TMask& m) ;
virtual void init_insert_mode(TMask& m);
// @cmember Inizializza la maschera per il modo modifica
virtual void init_modify_mode(TMask& m);
// @cmember Inizializzazione dei dati dell'utente
virtual bool user_create() ;
virtual bool user_create() ;
// @cmember Distruzione dei dati dell'utente
virtual bool user_destroy() ;
// @cmember Chiama il programma di stampa
virtual void print();
// @cmember Riscrive sulla relazione i valori dalla maschera <p m>
virtual int rewrite(const TMask& m);
// @access Public Member
public:
@ -107,25 +88,20 @@ void TZCRiclass_application::print()
void TZCRiclass_application::init_insert_mode(TMask& m)
{
TLocalisamfile ricl(LF_RICLPDC);
m.show(-1);
m.disable(-1);
m.hide(-2);
}
void TZCRiclass_application::init_query_mode(TMask& m)
{
m.show(-1);
m.hide(-2);
}
ricl.put("TIPORIC", m.get(F_COD));
TString codice(m.get(F_TSSOTTOCONTO));
ricl.put("CODICE", codice);
if (ricl.read(_isgteq) == NOERR && codice == ricl.get("CODICE"))
m.set(F_DESCRIZ, ricl.get("DESCRIZ"));
for (int i = m.fields() - 1; i >= 0; i--)
{
TMask_field& c = m.fld(i);
if (c.in_group(1) && c.is_edit())
{
TEdit_field& e = (TEdit_field&)c;
e.enable();
if (e.browse() != NULL)
e.enable_check();
}
}
void TZCRiclass_application::init_query_insert_mode(TMask& m)
{
m.hide(-1);
m.show(-2);
}
void TZCRiclass_application::init_modify_mode(TMask& m)
@ -145,31 +121,9 @@ void TZCRiclass_application::init_modify_mode(TMask& m)
_gruppo = m.get_int(F_GRUPPO);
_conto = m.get_int(F_CONTO);
_sottoconto = m.get_long(F_SOTTOCONTO);
}
int TZCRiclass_application::rewrite(const TMask& m)
{
int err = TRelation_application::rewrite(m);
if (err != NOERR)
err = TRelation_application::write(m);
TRelation & rel = *get_relation();
int gruppo = rel.lfile().get_int("GRUPPO");
int conto = rel.lfile().get_int("CONTO");
long sottoconto = rel.lfile().get_long("SOTTOCONTO");
if (err == NOERR && (gruppo != _gruppo || conto != _conto || sottoconto != _sottoconto))
{
rel.save_status();
rel.lfile().put("GRUPPO", _gruppo);
rel.lfile().put("CONTO", _conto);
rel.lfile().put("SOTTOCONTO", _sottoconto);
rel.remove();
rel.restore_status();
}
return err;
m.show(-1);
m.disable(-1);
m.hide(-2);
}
bool TZCRiclass_application::user_create()
@ -177,13 +131,7 @@ bool TZCRiclass_application::user_create()
_rel = new TRelation(LF_RICLPDC);
_msk = new TZC_ricl_msk;
set_search_field(F_TSSOTTOCONTO);
//TConfig config(CONFIG_DITTA);
//const bool use_pcn = config.get_bool("ZCUSECMPCN");
//_msk->show(-10, use_pcn);
//_msk->show(-20, !use_pcn);
set_search_field(F_SOTTOCONTO);
TFilename rep("tczcricl.rep");

View File

@ -1,11 +1,14 @@
//id campi maschera tc1800a (file piano dei conti Zucchetti)
//campi normali
#define F_COD 101
#define F_TSSOTTOCONTO 102
#define F_DESCRIZ 103
#define F_GRUPPO 104
#define F_CONTO 105
#define F_SOTTOCONTO 106
#define F_DESCG 107
#define F_DESCC 108
#define F_DESC 109
#define F_GRUPPO 102
#define F_CONTO 103
#define F_SOTTOCONTO 104
#define F_GRUPPO1 105
#define F_CONTO1 106
#define F_SOTTOCONTO1 107
#define F_DESCG 108
#define F_DESCC 109
#define F_DESC 110
#define F_CONTOZU 111
#define F_DESCRIZ 112

View File

@ -9,128 +9,86 @@ PAGE "" 0 2 0 0
LIST F_COD 7
BEGIN
PROMPT 50 50 ""
ITEM "ZCCONTI|ZCCONTI"
ITEM "ZUCONTI|ZUCONTI"
FIELD TIPORIC
FLAGS "D"
KEY 1
END
GROUPBOX DLG_NULL 78 4
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 1 "Conto Zucchetti"
END
STRING F_TSSOTTOCONTO 5
BEGIN
PROMPT 2 2 "Sottoconto "
USE LF_RICLPDC
INPUT TIPORIC F_COD SELECT
INPUT CODICE F_TSSOTTOCONTO
DISPLAY "Sottoconto TS" CODICE
DISPLAY "Descrizione@50" DESCRIZ
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
OUTPUT F_TSSOTTOCONTO CODICE
OUTPUT F_DESCRIZ DESCRIZ
OUTPUT F_GRUPPO GRUPPO
OUTPUT F_CONTO CONTO
OUTPUT F_SOTTOCONTO SOTTOCONTO
CHECKTYPE REQUIRED
VALIDATE FIXLEN_FUNC 5
FIELD CODICE
KEY 1
END
STRING F_DESCRIZ 50
BEGIN
PROMPT 2 3 "Descrizione "
USE LF_RICLPDC KEY 2
INPUT TIPORIC F_COD SELECT
INPUT DESCRIZ F_DESCRIZ
DISPLAY "Descrizione@50" DESCRIZ
DISPLAY "Sottoconto TS" CODICE
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
COPY OUTPUT F_TSSOTTOCONTO
FIELD DESCRIZ
KEY 2
CHECKTYPE REQUIRED
PROMPT 1 1 "Conto Campo"
END
NUMBER F_GRUPPO 3
BEGIN
PROMPT 2 6 "Gruppo "
PROMPT 2 2 "Gruppo "
HELP "Codice del gruppo"
FIELD GRUPPO
KEY 1
USE LF_PCON KEY 1 SELECT CONTO=""
USE LF_RICLPDC
INPUT TIPORIC F_COD
INPUT GRUPPO F_GRUPPO
INPUT CONTO F_CONTO
INPUT SOTTOCONTO F_SOTTOCONTO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Descrizione@50" DESCR
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCRIZ
OUTPUT F_GRUPPO GRUPPO
OUTPUT F_DESCG DESCR
OUTPUT F_CONTO CONTO
OUTPUT F_SOTTOCONTO SOTTOCONTO
OUTPUT F_DESC DESCRIZ
MESSAGE_COPY F_GRUPPO1
VALIDATE REQIF_FUNC 1 F_SOTTOCONTO
CHECKTYPE NORMAL
GROUP 1
END
STRING F_DESCG 50
BEGIN
PROMPT 24 6 ""
PROMPT 24 2 ""
FLAGS "D"
END
NUMBER F_CONTO 3
BEGIN
PROMPT 2 8 "Conto "
PROMPT 2 3 "Conto "
HELP "Codice dell'eventuale conto"
FIELD CONTO
KEY 1
USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO=""))
COPY INPUT F_GRUPPO
INPUT CONTO F_CONTO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_GRUPPO GRUPPO
OUTPUT F_CONTO CONTO
OUTPUT F_DESCC DESCR
COPY ALL F_GRUPPO
CHECKTYPE NORMAL
MESSAGE_COPY F_CONTO1
VALIDATE REQIF_FUNC 1 F_SOTTOCONTO
WARNING "Manca il conto"
GROUP 1
END
STRING F_DESCC 50
BEGIN
PROMPT 24 8 ""
PROMPT 24 3 ""
FLAGS "D"
END
NUMBER F_SOTTOCONTO 6
BEGIN
PROMPT 2 10 "Sottoconto "
PROMPT 2 4 "Sottoconto "
HELP "Codice dell'eventuale sottoconto"
FIELD SOTTOCONTO
KEY 1
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
COPY INPUT F_CONTO
INPUT SOTTOCONTO F_SOTTOCONTO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Sosp." SOSPESO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_SOTTOCONTO SOTTOCONTO
OUTPUT F_GRUPPO GRUPPO
OUTPUT F_CONTO CONTO
OUTPUT F_DESC DESCR
COPY ALL F_GRUPPO
MESSAGE_COPY F_SOTTOCONTO1
CHECKTYPE NORMAL
GROUP 1
END
STRING F_DESC 50
BEGIN
PROMPT 24 10 ""
PROMPT 24 4 ""
USE LF_PCON KEY 2
KEY 2
FILED DESCRIZ
INPUT DESCR F_DESC
DISPLAY "Descrizione@50" DESCR
DISPLAY "Sosp." SOSPESO
@ -143,6 +101,104 @@ BEGIN
WARNING "Descrizione mancante"
END
NUMBER F_GRUPPO1 3
BEGIN
PROMPT 2 2 "Gruppo "
HELP "Codice del gruppo"
FIELD GRUPPO
KEY 1
USE LF_PCON KEY 1 SELECT CONTO=""
INPUT GRUPPO F_GRUPPO1
DISPLAY "Gruppo" GRUPPO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_GRUPPO GRUPPO
OUTPUT F_DESCG DESCR
VALIDATE REQIF_FUNC 1 F_CONTO1
CHECKTYPE NORMAL
GROUP 2
FLAGS "HG"
ADD RUN cg0 -0
END
NUMBER F_CONTO1 3
BEGIN
PROMPT 2 3 "Conto "
HELP "Codice dell'eventuale conto"
FIELD CONTO
KEY 1
USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO=""))
COPY INPUT F_GRUPPO1
INPUT CONTO F_CONTO1
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_GRUPPO1 GRUPPO
OUTPUT F_CONTO1 CONTO
OUTPUT F_DESCC DESCR
CHECKTYPE REQUIRED
VALIDATE REQIF_FUNC 1 F_SOTTOCONTO1
WARNING "Manca il conto"
GROUP 2
FLAGS "HG"
ADD RUN cg0 -0
END
NUMBER F_SOTTOCONTO1 6
BEGIN
PROMPT 2 4 "Sottoconto "
HELP "Codice dell'eventuale sottoconto"
FIELD SOTTOCONTO
KEY 1
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
COPY INPUT F_CONTO1
INPUT SOTTOCONTO F_SOTTOCONTO1
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Sosp." SOSPESO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_SOTTOCONTO1 SOTTOCONTO
OUTPUT F_GRUPPO1 GRUPPO
OUTPUT F_CONTO1 CONTO
OUTPUT F_DESC DESCR
CHECKTYPE NORMAL
GROUP 2
FLAGS "HG"
ADD RUN cg0 -0
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 6 "Conto Zucchetti"
END
STRING F_CONTOZU 6
BEGIN
PROMPT 2 7 "Sottoconto "
USE &ZCO
INPUT CODTAB F_CONTOZU
DISPLAY "Conto Zucchetti" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_CONTOZU CODTAB
OUTPUT F_DESCRIZ S0
CHECKTYPE REQUIRED
VALIDATE FIXLEN_FUNC 5
FIELD CODICE
END
STRING F_DESCRIZ 50
BEGIN
PROMPT 24 7 ""
USE &ZCO KEY 2
INPUT S0 F_DESCRIZ
DISPLAY "Descrizione@50" S0
DISPLAY "Conto Zucchetti" CODTAB
COPY OUTPUT F_CONTOZU
FIELD DESCRIZ
CHECKTYPE REQUIRED
END
ENDPAGE
ENDMASK

View File

@ -48,5 +48,25 @@ Caption = "Zucchetti"
Picture = <cg01>
Module = 27
Flags = ""
Item_01 = "Trasferimento", "tc1 -0", ""
Item_02 = "Riclassificazione conti", "tc1 -7", ""
Item_01 = "Tabelle Zucchetti", [TCMENU_006]
Item_02 = "Tabelle di Riclassificazione", [TCMENU_007]
Item_03 = "Trasferimento", "tc1 -0", ""
[TCMENU_006]
Caption = "Tabelle Zucchetti"
Picture = <cg01>
Module = 27
Flags = ""
Item_01 = "Banche", "tc1 -1 &ZBA", ""
Item_02 = "Causali", "tc1 -1 &ZCA", ""
Item_03 = "Codici IVA", "tc1 -1 &ZIV", ""
[TCMENU_007]
Caption = "Tabelle di Riclassificazione"
Picture = <cg01>
Module = 27
Flags = ""
Item_01 = "Banche", "tc1 -6 BAN", ""
Item_02 = "Causali", "tc1 -6 CAU", ""
Item_03 = "Codici IVA", "tc1 -6 IVA", ""
Item_04 = "Conti", "tc1 -7", ""

3
tc/tctbzba.h Executable file
View File

@ -0,0 +1,3 @@
#define F_CODTAB 101
#define F_DESC 102
#define F_CODTAB1 103

57
tc/tctbzba.uml Executable file
View File

@ -0,0 +1,57 @@
#include "tctbzba.h"
TOOLBAR "topbar" 0 0 0 2
#include <relapbar.h>
ENDPAGE
PAGE "Banche" 0 2 0 0
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 1 "Banca Zucchetti"
END
NUMBER F_CODTAB 3
BEGIN
PROMPT 2 2 "Codice "
USE &ZBA
INPUT CODTAB[1,3] F_CODTAB
INPUT CODTAB[4,6] F_CODTAB1
DISPLAY "Codice" CODTAB[1,3]
DISPLAY "Codice" CODTAB[4,6]
DISPLAY "Descrizione@60" S0
OUTPUT F_CODTAB CODTAB[1,3]
OUTPUT F_CODTAB1 CODTAB[4,6]
OUTPUT F_DESC S0
CHECKTYPE REQUIRED
FIELD CODTAB[1,3]
FLAGS "Z"
KEY 1
END
NUMBER F_CODTAB1 3
BEGIN
PROMPT 21 2 ""
COPY ALL F_CODTAB
CHECKTYPE REQUIRED
FIELD CODTAB[4,6]
FLAGS "Z"
KEY 1
END
STRING F_DESC 50
BEGIN
PROMPT 2 5 "Descrizione "
USE &ZBA KEY 2
INPUT S0 F_DESC
DISPLAY "Descrizione@60" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_CODTAB
FIELD S0
KEY 2
CHECKTYPE REQUIRED
END
ENDPAGE
ENDMASK

2
tc/tctbzca.h Executable file
View File

@ -0,0 +1,2 @@
#define F_CODTAB 102
#define F_DESC 103

44
tc/tctbzca.uml Executable file
View File

@ -0,0 +1,44 @@
#include "tctbzca.h"
TOOLBAR "topbar" 0 0 0 2
#include <relapbar.h>
ENDPAGE
PAGE "Conti" 0 2 0 0
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 1 "Causale Zucchetti"
END
NUMBER F_CODTAB 3
BEGIN
PROMPT 2 2 "Codice "
USE &ZCA
INPUT CODTAB F_CODTAB
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@60" S0
OUTPUT F_CODTAB CODTAB
OUTPUT F_DESC S0
CHECKTYPE REQUIRED
FIELD CODTAB
VALIDATE FIXLEN_FUNC 3
KEY 1
END
STRING F_DESC 50
BEGIN
PROMPT 2 5 "Descrizione "
USE &ZCA KEY 2
INPUT S0 F_DESC
DISPLAY "Descrizione@60" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_CODTAB
FIELD S0
KEY 2
CHECKTYPE REQUIRED
END
ENDPAGE
ENDMASK

2
tc/tctbzco.h Executable file
View File

@ -0,0 +1,2 @@
#define F_CODTAB 102
#define F_DESC 103

44
tc/tctbzco.uml Executable file
View File

@ -0,0 +1,44 @@
#include "tctbzco.h"
TOOLBAR "topbar" 0 0 0 2
#include <relapbar.h>
ENDPAGE
PAGE "Conti" 0 2 0 0
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 1 "Conto Zucchetti"
END
NUMBER F_CODTAB 6
BEGIN
PROMPT 2 2 "Codice "
USE &ZCO
INPUT CODTAB F_CODTAB
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@60" S0
OUTPUT F_CODTAB CODTAB
OUTPUT F_DESC S0
CHECKTYPE REQUIRED
FIELD CODTAB
VALIDATE FIXLEN_FUNC 5
KEY 1
END
STRING F_DESC 50
BEGIN
PROMPT 2 5 "Descrizione "
USE &ZCO KEY 2
INPUT S0 F_DESC
DISPLAY "Descrizione@60" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_CODTAB
FIELD S0
KEY 2
CHECKTYPE REQUIRED
END
ENDPAGE
ENDMASK

3
tc/tctbziv.h Executable file
View File

@ -0,0 +1,3 @@
#define F_CODTAB 101
#define F_DESC 102
#define F_NORMA 103

55
tc/tctbziv.uml Executable file
View File

@ -0,0 +1,55 @@
#include "tctbziv.h"
TOOLBAR "topbar" 0 0 0 2
#include <relapbar.h>
ENDPAGE
PAGE "IVA" 0 2 0 0
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 1 "IVA Zucchetti"
END
NUMBER F_CODTAB 2
BEGIN
PROMPT 2 2 "Codice "
USE &ZIV
INPUT CODTAB F_CODTAB
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@60" S0
DISPLAY "Codice Norma" S7
OUTPUT F_CODTAB CODTAB
OUTPUT F_DESC S0
CHECKTYPE REQUIRED
FIELD CODTAB
VALIDATE FIXLEN_FUNC 2
FLAG "Z"
KEY 1
END
STRING F_DESC 50
BEGIN
PROMPT 2 5 "Descrizione "
USE &ZIV KEY 2
INPUT S0 F_DESC
DISPLAY "Descrizione@60" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_CODTAB
FIELD S0
KEY 2
CHECKTYPE REQUIRED
END
NUMBER F_NORMA 2
BEGIN
PROMPT 2 7 "Codice Norma "
CHECKTYPE REQUIRED
VALIDATE FIXLEN_FUNC 2
FIELD S7
FLAG "Z"
END
ENDPAGE
ENDMASK

10
tc/tczu.h Executable file
View File

@ -0,0 +1,10 @@
#define F_COD 101
#define F_CODTAB 102
#define F_CODTAB1 103
#define F_DESC 104
#define F_COD_CORR 105
#define F_DESC_CORR 106
#define F_CODTAB10 107
#define F_CODTAB11 108
#define F_COD_CORR1 109

153
tc/tczuban.uml Executable file
View File

@ -0,0 +1,153 @@
#include "tczu.h"
TOOLBAR "topbar" 0 0 0 2
#include <relapbar.h>
ENDPAGE
PAGE "Banche" 0 2 0 0
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 1 "Banca Campo"
END
LIST F_COD 5
BEGIN
PROMPT 50 50 ""
ITEM "ZUBAN|ZUBAN"
FIELD COD
FLAGS "D"
KEY 1
END
NUMBER F_CODTAB 5
BEGIN
PROMPT 2 2 "Codice ABI "
USE LF_MULTIREL
JOIN %BAN INTO CODTAB==FIRST
INPUT COD F_COD SELECT
INPUT FIRST[1,5] F_CODTAB
INPUT FIRST[6,10] F_CODTAB10
DISPLAY "Codice ABI " FIRST[1,5]
DISPLAY "Codice CAB " FIRST[6,10]
DISPLAY "Descrizione@60" %BAN->S0
DISPLAY "Banca Zucchetti ABI" DATA[1,3]
DISPLAY "Banca Zucchetti CAB" DATA[4,6]
OUTPUT F_CODTAB FIRST[1,5]
OUTPUT F_CODTAB1 FIRST[1,5]
OUTPUT F_CODTAB10 FIRST[6,10]
OUTPUT F_CODTAB11 FIRST[6,10]
OUTPUT F_DESC %BAN->S0
FIELD FIRST[1,5]
FLAGS "Z"
KEY 1
CHECKTYPE REQUIRED
GROUP 1
END
NUMBER F_CODTAB10 5
BEGIN
PROMPT 26 2 "CAB "
COPY ALL F_CODTAB
FIELD FIRST[6,10]
FLAGS "Z"
KEY 1
CHECKTYPE REQUIRED
GROUP 1
END
STRING F_CODTAB1 5
BEGIN
PROMPT 2 2 "Codice ABI "
FIELD FIRST[1,5]
FLAGS "ZHG"
USE %BAN SELECT CODTAB ?= "?????"
INPUT CODTAB F_CODTAB1
DISPLAY "ABI@5" CODTAB
DISPLAY "Istituto@50" S0
OUTPUT F_CODTAB CODTAB
OUTPUT F_CODTAB1 CODTAB
OUTPUT F_DESC S0
WARNING "Istituto assente"
KEY 1
CHECKTYPE REQUIRED
GROUP 2
END
STRING F_CODTAB11 5
BEGIN
PROMPT 26 2 "CAB "
FIELD FIRST[6,10]
FLAGS "ZHG"
USE %BAN SELECT CODTAB ?= "??????????"
INPUT CODTAB[1,5] F_CODTAB
INPUT CODTAB[6,10] F_CODTAB1
DISPLAY "ABI@5" CODTAB[1,5]
DISPLAY "CAB@5" CODTAB[6,10]
DISPLAY "Dipendenza" I0
DISPLAY "Denominazione@50" S0
OUTPUT F_CODTAB CODTAB[1,5]
OUTPUT F_CODTAB1 CODTAB[1,5]
OUTPUT F_CODTAB10 CODTAB[6,10]
OUTPUT F_CODTAB11 CODTAB[6,10]
OUTPUT F_DESC S0
WARNING "Istituto assente"
KEY 1
CHECKTYPE REQUIRED
GROUP 2
END
STRING F_DESC 50
BEGIN
PROMPT 2 5 "Descrizione "
USE %BAN KEY 2
INPUT S0 F_DESC
DISPLAY "Descrizione@60" S0
DISPLAY "Codice ABI " CODTAB[1,5]
DISPLAY "Codice CAB " CODTAB[6,10]
COPY OUTPUT F_CODTAB11
CHECKTYPE NORMAL
GROUP 3
KEY 2
END
STRING F_COD_CORR 3
BEGIN
PROMPT 2 7 "Banca Zucchetti "
USE &ZBA
INPUT CODTAB[1,3] F_COD_CORR
INPUT CODTAB[4,6] F_COD_CORR1
DISPLAY "Banca Zucchetti ABI" CODTAB[1,3]
DISPLAY "Banca Zucchetti CAB" CODTAB[4,6]
DISPLAY "Descrizione@60" S0
OUTPUT F_COD_CORR CODTAB[1,3]
OUTPUT F_COD_CORR1 CODTAB[4,6]
OUTPUT F_DESC_CORR S0
FIELD DATA[1,3]
FLAGS "Z"
CHECKTYPE REQUIRED
END
STRING F_COD_CORR1 3
BEGIN
PROMPT 30 7 ""
COPY ALL F_COD_CORR
FIELD DATA[4,6]
FLAGS "Z"
CHECKTYPE REQUIRED
END
STRING F_DESC_CORR 50 40
BEGIN
PROMPT 37 7 ""
USE &ZBA KEY 2
INPUT S0 F_DESC_CORR
DISPLAY "Descrizione@50" S0
DISPLAY "Banca Zucchetti ABI" CODTAB[1,3]
DISPLAY "Banca Zucchetti CAB" CODTAB[4,6]
COPY OUTPUT F_COD_CORR
END
ENDPAGE
ENDMASK

112
tc/tczucau.uml Executable file
View File

@ -0,0 +1,112 @@
#include "tczu.h"
TOOLBAR "topbar" 0 0 0 2
#include <relapbar.h>
ENDPAGE
PAGE "Causali" 0 2 0 0
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 1 "Causale Campo"
END
LIST F_COD 5
BEGIN
PROMPT 50 50 ""
ITEM "ZUCAU|ZUCAU"
FIELD COD
FLAGS "D"
KEY 1
END
NUMBER F_CODTAB 3
BEGIN
PROMPT 2 2 ""
USE LF_MULTIREL
JOIN LF_CAUSALI INTO CODCAUS==FIRST
INPUT COD F_COD SELECT
INPUT FIRST F_CODTAB
DISPLAY "Codice" FIRST
DISPLAY "Descrizione@60" LF_CAUSALI->DESCR
DISPLAY "Causale Zucchetti" DATA
OUTPUT F_CODTAB FIRST
OUTPUT F_CODTAB1 FIRST
OUTPUT F_COD_CORR DATA
CHECKTYPE REQUIRED
FIELD FIRST
FLAGS "UZ"
KEY 1
GROUP 1
END
STRING F_CODTAB1 3
BEGIN
PROMPT 2 2 ""
FIELD FIRST
FLAGS "UZHG"
USE LF_CAUSALI
INPUT CODCAUS F_CODTAB1
DISPLAY "Cod." CODCAUS
DISPLAY "Descrizione@50" DESCR
DISPLAY "Documento" TIPODOC
DISPLAY "Registro" REG
DISPLAY "Tipo movimento" TIPOMOV
DISPLAY "Inc./Pag." CODCAUSIM
DISPLAY "770" M770
DISPLAY "Cespiti" COLLCESP
OUTPUT F_CODTAB1 CODCAUS
OUTPUT F_CODTAB CODCAUS
OUTPUT F_DESC DESCR
KEY 1
CHECKTYPE REQUIRED
GROUP 2
END
STRING F_DESC 50
BEGIN
PROMPT 10 2 "Descrizione "
USE LF_CAUSALI KEY 2
INPUT DESCR F_DESC
DISPLAY "Descrizione@60" DESCR
DISPLAY "Documento" TIPODOC
DISPLAY "Registro" REG
DISPLAY "Tipo movimento" TIPOMOV
DISPLAY "Inc./Pag." CODCAUSIM
DISPLAY "770" M770
DISPLAY "Cespiti" COLLCESP
COPY OUTPUT F_CODTAB1
CHECKTYPE REQUIRED
KEY 2
GROUP 3
END
STRING F_COD_CORR 3
BEGIN
PROMPT 2 4 "Causale Zucchetti "
FIELD DATA
FLAGS "UZ"
USE &ZCA
INPUT CODTAB F_COD_CORR
DISPLAY "Cod." CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_COD_CORR CODTAB
OUTPUT F_DESC_CORR S0
VALIDATE FIXLEN_FUNC 3
CHECKTYPE NORMAL
END
STRING F_DESC_CORR 50
BEGIN
PROMPT 2 25 ""
USE &ZCA
INPUT S0 F_DESC_CORR
DISPLAY "Descrizione@50" S0
DISPLAY "Cod." CODTAB
COPY OUTPUT F_COD_CORR
KEY 1
END
ENDPAGE
ENDMASK

110
tc/tczuiva.uml Executable file
View File

@ -0,0 +1,110 @@
#include "tczu.h"
TOOLBAR "topbar" 0 0 0 2
#include <relapbar.h>
ENDPAGE
PAGE "Codici IVA" 0 2 0 0
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 1 "Codice IVA Campo"
END
LIST F_COD 5
BEGIN
PROMPT 50 50 ""
ITEM "ZUIVA|ZUIVA"
FIELD COD
FLAGS "D"
KEY 1
END
STRING F_CODTAB 4
BEGIN
PROMPT 2 2 ""
USE LF_MULTIREL
JOIN %IVA INTO CODTAB==FIRST
INPUT COD F_COD SELECT
INPUT FIRST F_CODTAB
DISPLAY "Codice" FIRST
DISPLAY "Descrizione@60" %IVA->S0
DISPLAY "Codice IVA Zucchetti" DATA
OUTPUT F_CODTAB FIRST
OUTPUT F_CODTAB1 FIRST
OUTPUT F_DESC %IVA->S0
OUTPUT F_COD_CORR DATA
CHECKTYPE REQUIRED
FIELD FIRST
VALIDATE ZEROFILL_FUNC 2
FLAGS "U"
KEY 1
GROUP 1
END
STRING F_CODTAB1 4
BEGIN
PROMPT 2 2 ""
FIELD FIRST
FLAGS "UHG"
USE %IVA
INPUT CODTAB F_CODTAB1
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
DISPLAY "Tipo" S1
DISPLAY "%@5" R0
DISPLAY "Vent." S6
DISPLAY "Sospeso" B2
OUTPUT F_CODTAB1 CODTAB
OUTPUT F_CODTAB CODTAB
OUTPUT F_DESC S0
HELP "Inserire il codice IVA"
KEY 1
CHECKTYPE REQUIRED
VALIDATE ZEROFILL_FUNC 2
GROUP 2
END
STRING F_DESC 50
BEGIN
PROMPT 10 2 "Descrizione "
USE %IVA KEY 2
INPUT S0 F_DESC
DISPLAY "Descrizione@60" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_CODTAB1
CHECKTYPE REQUIRED
KEY 2
GROUP 3
END
STRING F_COD_CORR 2
BEGIN
PROMPT 2 4 "Codice IVA Zucchetti "
FIELD DATA
FLAGS "UZ"
USE &ZIV
INPUT CODTAB F_COD_CORR
DISPLAY "Cod." CODTAB
DISPLAY "Descrizione@50" S0
DISPLAY "Codice Norma" S7
OUTPUT F_COD_CORR CODTAB
OUTPUT F_DESC_CORR S0
VALIDATE FIXLEN_FUNC 2
CHECKTYPE REQUIRED
END
STRING F_DESC_CORR 50
BEGIN
PROMPT 2 25 ""
USE &ZIV
INPUT S0 F_DESC_CORR
DISPLAY "Descrizione@50" S0
DISPLAY "Cod." CODTAB
DISPLAY "Codice Norma" S7
COPY OUTPUT F_COD_CORR
END
ENDPAGE
ENDMASK