diff --git a/ba/f159.dir b/ba/f159.dir index 4013c9cc7..8f2160085 100755 --- a/ba/f159.dir +++ b/ba/f159.dir @@ -1,3 +1,3 @@ 159 0 -$riclpdc|0|0|123|0|Riclassificazioni piano dei conti||| +$riclpdc|2|2|123|0|Riclassificazioni piano dei conti||| diff --git a/ba/f159.trr b/ba/f159.trr index 78c1cd056..39b017f94 100755 --- a/ba/f159.trr +++ b/ba/f159.trr @@ -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 diff --git a/tc/tc0701.cpp b/tc/tc0701.cpp index 7407db5d3..200d7e38e 100755 --- a/tc/tc0701.cpp +++ b/tc/tc0701.cpp @@ -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(); } diff --git a/tc/tc1.cpp b/tc/tc1.cpp index 4df0b40d2..c10209436 100755 --- a/tc/tc1.cpp +++ b/tc/tc1.cpp @@ -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); diff --git a/tc/tc1.h b/tc/tc1.h index c94358bf4..7f07825c9 100755 --- a/tc/tc1.h +++ b/tc/tc1.h @@ -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 diff --git a/tc/tc1100.cpp b/tc/tc1100.cpp index 6cfa60b99..cc06b4b8a 100755 --- a/tc/tc1100.cpp +++ b/tc/tc1100.cpp @@ -15,10 +15,58 @@ #include #include #include +#include #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(); } diff --git a/tc/tc1100a.ini b/tc/tc1100a.ini index df0f6ae29..41030f7cf 100755 --- a/tc/tc1100a.ini +++ b/tc/tc1100a.ini @@ -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 diff --git a/tc/tc1200.cpp b/tc/tc1200.cpp new file mode 100755 index 000000000..d5c496e0b --- /dev/null +++ b/tc/tc1200.cpp @@ -0,0 +1,55 @@ +// gestione tabelle di magazzino + +#include +#include +#include + + +// 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; +} + diff --git a/tc/tc1700.cpp b/tc/tc1700.cpp new file mode 100755 index 000000000..40307dbd3 --- /dev/null +++ b/tc/tc1700.cpp @@ -0,0 +1,85 @@ +#include + +#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; +} diff --git a/tc/tc1800.cpp b/tc/tc1800.cpp index de63b90e3..3c3e71f2d 100755 --- a/tc/tc1800.cpp +++ b/tc/tc1800.cpp @@ -1,4 +1,3 @@ -// gestione files Contabilita' Analitica: CENTRI DI COSTO #include #include #include @@ -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 ) + 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

- 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"); diff --git a/tc/tc1800a.h b/tc/tc1800a.h index 0e3ae2a1d..45cb49a90 100755 --- a/tc/tc1800a.h +++ b/tc/tc1800a.h @@ -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 diff --git a/tc/tc1800a.uml b/tc/tc1800a.uml index 63cb800e2..f38e8d2fd 100755 --- a/tc/tc1800a.uml +++ b/tc/tc1800a.uml @@ -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 \ No newline at end of file diff --git a/tc/tcmenu.men b/tc/tcmenu.men index d91a5f31f..a96de499e 100755 --- a/tc/tcmenu.men +++ b/tc/tcmenu.men @@ -48,5 +48,25 @@ Caption = "Zucchetti" Picture = 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 = +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 = +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", "" diff --git a/tc/tctbzba.h b/tc/tctbzba.h new file mode 100755 index 000000000..036d53aa2 --- /dev/null +++ b/tc/tctbzba.h @@ -0,0 +1,3 @@ +#define F_CODTAB 101 +#define F_DESC 102 +#define F_CODTAB1 103 diff --git a/tc/tctbzba.uml b/tc/tctbzba.uml new file mode 100755 index 000000000..a3e24afdf --- /dev/null +++ b/tc/tctbzba.uml @@ -0,0 +1,57 @@ +#include "tctbzba.h" + +TOOLBAR "topbar" 0 0 0 2 +#include +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 diff --git a/tc/tctbzca.h b/tc/tctbzca.h new file mode 100755 index 000000000..54de8e516 --- /dev/null +++ b/tc/tctbzca.h @@ -0,0 +1,2 @@ +#define F_CODTAB 102 +#define F_DESC 103 diff --git a/tc/tctbzca.uml b/tc/tctbzca.uml new file mode 100755 index 000000000..f81e52fb2 --- /dev/null +++ b/tc/tctbzca.uml @@ -0,0 +1,44 @@ +#include "tctbzca.h" + +TOOLBAR "topbar" 0 0 0 2 +#include +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 diff --git a/tc/tctbzco.h b/tc/tctbzco.h new file mode 100755 index 000000000..54de8e516 --- /dev/null +++ b/tc/tctbzco.h @@ -0,0 +1,2 @@ +#define F_CODTAB 102 +#define F_DESC 103 diff --git a/tc/tctbzco.uml b/tc/tctbzco.uml new file mode 100755 index 000000000..6222b8cd5 --- /dev/null +++ b/tc/tctbzco.uml @@ -0,0 +1,44 @@ +#include "tctbzco.h" + +TOOLBAR "topbar" 0 0 0 2 +#include +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 diff --git a/tc/tctbziv.h b/tc/tctbziv.h new file mode 100755 index 000000000..003e2f9cb --- /dev/null +++ b/tc/tctbziv.h @@ -0,0 +1,3 @@ +#define F_CODTAB 101 +#define F_DESC 102 +#define F_NORMA 103 diff --git a/tc/tctbziv.uml b/tc/tctbziv.uml new file mode 100755 index 000000000..cc1a1f2f0 --- /dev/null +++ b/tc/tctbziv.uml @@ -0,0 +1,55 @@ +#include "tctbziv.h" + +TOOLBAR "topbar" 0 0 0 2 +#include +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 diff --git a/tc/tczu.h b/tc/tczu.h new file mode 100755 index 000000000..160b64818 --- /dev/null +++ b/tc/tczu.h @@ -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 diff --git a/tc/tczuban.uml b/tc/tczuban.uml new file mode 100755 index 000000000..2724b32f5 --- /dev/null +++ b/tc/tczuban.uml @@ -0,0 +1,153 @@ +#include "tczu.h" + +TOOLBAR "topbar" 0 0 0 2 +#include +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 diff --git a/tc/tczucau.uml b/tc/tczucau.uml new file mode 100755 index 000000000..efa4ae7a2 --- /dev/null +++ b/tc/tczucau.uml @@ -0,0 +1,112 @@ +#include "tczu.h" + +TOOLBAR "topbar" 0 0 0 2 +#include +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 diff --git a/tc/tczuiva.uml b/tc/tczuiva.uml new file mode 100755 index 000000000..73dc1ecef --- /dev/null +++ b/tc/tczuiva.uml @@ -0,0 +1,110 @@ +#include "tczu.h" + +TOOLBAR "topbar" 0 0 0 2 +#include +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