diff --git a/cg/cg0200.cpp b/cg/cg0200.cpp index 6dcaa3ea0..c86b3b4db 100755 --- a/cg/cg0200.cpp +++ b/cg/cg0200.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include @@ -14,6 +15,7 @@ #include #include #include +#include #include "cg0.h" #include "cg0200.h" @@ -29,7 +31,7 @@ class TClifo_application : public TRelation_application TLocalisamfile* _comuni; TLocalisamfile* _pcon; - bool _lbcn, _gesven; + bool _lbcn, _gesven, _has_cg, _liscatven; bool _savenew; TToken_string _tmp; @@ -77,7 +79,9 @@ inline TClifo_application& app() { return (TClifo_application&)main_app(); } bool TClifo_application::protected_record(TRectype &rec) -{ +{ + if (!_has_cg) + return FALSE; TMask* m = get_mask(MODE_MOD); const TString16 tipocf(m->get(F_TIPOCF)); const long codice = atol(m->get(F_CODCF)); @@ -422,8 +426,9 @@ HIDDEN bool codalleg_handler(TMask_field& f, KEY key) void TClifo_application::on_config_change() { TConfig cnf(CONFIG_DITTA); - _gesven = cnf.get_bool("GesVen"); + _gesven = cnf.get_bool("GesVen") || !_has_cg; _lbcn = cnf.get_bool("GsLbCn"); + _liscatven = cnf.get_bool("GESLISCV", "ve"); init_pages(*_msk); } @@ -446,7 +451,9 @@ void TClifo_application::init_query_mode(TMask& m) reset_sheet(); if (argc() > 2 && *argv(2) == 'F') - m.set(F_TIPOCF, "F"); + m.set(F_TIPOCF, "F"); + m.show(F_CODLIST, _liscatven); + m.show(F_CODLIST1, !_liscatven); } int TClifo_application::read(TMask& m) @@ -591,7 +598,7 @@ void TClifo_application::indsp_sheet_rebuilder() { TToken_string& riga= righe.row(i); TToken_string rigav; - rigav.add(riga.get(12)); + rigav.add(format("%d",i+1)); rigav.add(riga.get(0)); rigav.add(riga.get()); rigav.add(riga.get()); @@ -606,16 +613,6 @@ bool TClifo_application::indsp_notify(TSheet_field& indsp, int r, KEY key) { switch (key) { - case K_SPACE: - { - // Request to modify row #r - // Disable field CODIND update # of row - TMask& m = indsp.sheet_mask(); - if (m.get_int(F_CODINDI)==0) // Is it a new row ? - m.set(F_CODINDI,(long)(r+1)); - m.disable(F_CODINDI); - } - break; case K_INS: // request to add the row #r // To avoid rewriting of existing record. @@ -637,9 +634,14 @@ default: bool TClifo_application::user_create() // initvar e arrmask { + _has_cg = has_module(CGAUT, CHK_DONGLE); _rel = new TClifoVI; + if (_has_cg) + { + _mov = new TLocalisamfile(LF_MOV); + _mov->setkey(3); + } - _mov = new TLocalisamfile(LF_MOV); _anag = new TLocalisamfile(LF_ANAG); _fis = new TLocalisamfile(LF_ANAGFIS); _pcon = new TLocalisamfile(LF_PCON); @@ -659,10 +661,8 @@ bool TClifo_application::user_create() // initvar e arrmask _msk->set_handler(F_RAGSOC, rsoc_handler); TSheet_field& ind = (TSheet_field&) _msk->field(F_SHEET_G_VEN); - ind.set_notify(indsp_notify); + ind.set_notify(indsp_notify); - _mov->setkey(3); - TConfig config(CONFIG_STUDIO); _savenew = !config.get_bool("Cg02SN"); @@ -673,7 +673,8 @@ bool TClifo_application::user_destroy() // releasev e arrmask { delete _msk; delete _rel; - delete _mov; + if (_has_cg) + delete _mov; delete _anag; delete _fis; delete _pcon; diff --git a/cg/cg0200.h b/cg/cg0200.h index 4735ae473..6c4a6ea16 100755 --- a/cg/cg0200.h +++ b/cg/cg0200.h @@ -133,6 +133,7 @@ #define F_CODDEP 230 #define F_RAGGEFF 232 #define F_NUMCC 233 +#define F_CODLIST1 234 #define DLG_RIC 300 #define DLG_CST 301 @@ -157,7 +158,7 @@ #define F_PFAXI 110 #define F_FAXI 111 #define F_IVARIDI 112 -#define F_CODINDI 113 +//#define F_CODINDI 113 #define F_DENCOMI 114 #endif // __CG0200_H diff --git a/cg/cg0200a.uml b/cg/cg0200a.uml index 8d98517c4..4efee7afd 100755 --- a/cg/cg0200a.uml +++ b/cg/cg0200a.uml @@ -627,7 +627,7 @@ END NUMBER F_CODABI 5 BEGIN -PROMPT 2 4 "Codice ABI " +PROMPT 2 4 "Banca appoggio ABI " FIELD CODABI FLAGS "Z" USE %BAN KEY 1 SELECT CODTAB ?= "?????" @@ -644,7 +644,7 @@ END NUMBER F_CODBAN 5 BEGIN -PROMPT 56 4 "Codice CAB " +PROMPT 63 4 "CAB " FIELD CODCAB FLAGS "Z" USE %BAN KEY 1 SELECT CODTAB ?= "??????????" @@ -924,7 +924,6 @@ BEGIN ITEM "Prefisso fax" ITEM "Numero fax@30" ITEM "Iva Rid." - ITEM "Codice" END ENDPAGE @@ -1180,11 +1179,11 @@ BEGIN PROMPT 1 5 "Vettori" END -NUMBER F_CODVETT1 5 +NUMBER F_CODVETT1 6 BEGIN PROMPT 2 6 "Vettore 1 " FIELD LF_CFVEN->CODVETT1 - FLAGS "Z" + FLAGS "UZ" USE %VET INPUT CODTAB F_CODVETT1 DISPLAY "Codice vettore" CODTAB @@ -1192,22 +1191,22 @@ BEGIN OUTPUT F_CODVETT1 CODTAB END -NUMBER F_CODVETT2 5 +NUMBER F_CODVETT2 6 BEGIN PROMPT 2 7 "Vettore 2 " FIELD LF_CFVEN->CODVETT2 - FLAGS "Z" + FLAGS "UZ" COPY USE F_CODVETT1 INPUT CODTAB F_CODVETT2 COPY DISPLAY F_CODVETT1 OUTPUT F_CODVETT2 CODTAB END -NUMBER F_CODVETT3 5 +NUMBER F_CODVETT3 6 BEGIN PROMPT 2 8 "Vettore 3 " FIELD LF_CFVEN->CODVETT3 - FLAGS "Z" + FLAGS "UZ" COPY USE F_CODVETT1 INPUT CODTAB F_CODVETT3 COPY DISPLAY F_CODVETT1 @@ -1380,7 +1379,7 @@ END NUMBER F_CODABIPR 5 BEGIN - PROMPT 2 4 "Codice ABI effetti " + PROMPT 2 4 "Banca presentazione ABI " FIELD LF_CFVEN->CODABIPR FLAGS "Z" COPY USE F_CODABI @@ -1394,7 +1393,7 @@ END NUMBER F_CODBANPR 5 BEGIN - PROMPT 45 4 "Codice CAB effetti " + PROMPT 45 4 "CAB " FIELD LF_CFVEN->CODCABPR FLAGS "Z" COPY USE F_CODBAN @@ -1648,10 +1647,10 @@ BEGIN PROMPT 48 7 "Codice listino " FLAGS "U" FIELD LF_CFVEN->CODLIST - USE LF_CONDV + USE LF_CONDV SELECT CATVEN!="" JOIN CVE TO LF_CONDV INTO CODTAB=CATVEN INPUT TIPO "L" - INPUT CATVEN F_CATVEN SELECT + INPUT CATVEN F_CATVEN INPUT COD F_CODLIST DISPLAY "Cat.Ven." CATVEN DISPLAY "Codice" COD @@ -1663,6 +1662,25 @@ BEGIN WARNING "Listino assente" END +STRING F_CODLIST1 3 +BEGIN + PROMPT 48 7 "Codice listino " + FLAGS "UH" + FIELD LF_CFVEN->CODLIST + USE LF_CONDV SELECT CATVEN=="" + JOIN CVE TO LF_CONDV INTO CODTAB=CATVEN + INPUT TIPO "L" + INPUT CATVEN "" + INPUT COD F_CODLIST1 + DISPLAY "Cat.Ven." CATVEN + DISPLAY "Codice" COD + DISPLAY "Descrizione@50" DESCR + OUTPUT F_CODLIST1 COD + HELP "Codice listino utilizzato" + CHECKTYPE NORMAL + WARNING "Listino assente" +END + STRING F_CODSCC 2 BEGIN PROMPT 2 8 "Codice sconto cliente " diff --git a/cg/cg0200b.uml b/cg/cg0200b.uml index 6e3fb6986..712e26162 100755 --- a/cg/cg0200b.uml +++ b/cg/cg0200b.uml @@ -128,12 +128,6 @@ HELP "Indicare se e' soggetto a riduzione IVA" GROUP 1 END -NUMBER F_CODINDI 3 -BEGIN -PROMPT 1 1 "Codice " -FLAGS "D" -END - BUTTON DLG_OK 9 2 BEGIN PROMPT -14 -1 "" diff --git a/cg/cg2100s.uml b/cg/cg2100s.uml index 7c6df3550..c6b9f6119 100755 --- a/cg/cg2100s.uml +++ b/cg/cg2100s.uml @@ -289,12 +289,12 @@ STRING S_AGENTE 5 BEGIN PROMPT 2 16 "Agente " FLAGS "UZ" - USE AGE - INPUT CODTAB S_AGENTE - DISPLAY "Codice" CODTAB - DISPLAY "Descrizione @50" S0 - OUTPUT S_AGENTE CODTAB - OUTPUT S_DESCAGENTE S0 + USE LF_AGENTI + INPUT CODAGE S_AGENTE + DISPLAY "Codice" CODAGE + DISPLAY "Descrizione @50" RAGSOC + OUTPUT S_AGENTE CODAGE + OUTPUT S_DESCAGENTE RAGSOC CHECKTYPE NORMAL FIELD CODAG END @@ -302,10 +302,10 @@ END STRING S_DESCAGENTE 50 BEGIN PROMPT 24 16 "" - USE AGE KEY 2 - INPUT S0 S_DESCAGENTE - DISPLAY "Descrizione @50" S0 - DISPLAY "Codice" CODTAB + USE LF_AGENTI KEY 2 + INPUT RAGSOC S_DESCAGENTE + DISPLAY "Descrizione @50" RAGSOC + DISPLAY "Codice" CODAGE COPY OUTPUT S_AGENTE CHECKTYPE NORMAL END diff --git a/cg/cg2102.cpp b/cg/cg2102.cpp index e60775720..935330291 100755 --- a/cg/cg2102.cpp +++ b/cg/cg2102.cpp @@ -989,7 +989,7 @@ bool TPrimanota_application::dareavere_handler(TMask_field& f, KEY k) if (k == K_F8 && a.is_pagamento()) { - const TMask cm = a.curr_mask(); + const TMask& cm = a.curr_mask(); const long numreg = cm.insert_mode() ? NUMREG_PROVVISORIO : cm.get_long(F_NUMREG); const TImporto speso = a.partite().importo_speso(numreg, currig+1); diff --git a/cg/cg21sld.uml b/cg/cg21sld.uml index 5248af3f8..6891e6563 100755 --- a/cg/cg21sld.uml +++ b/cg/cg21sld.uml @@ -190,12 +190,12 @@ STRING FS_AGENTE 5 BEGIN PROMPT 2 10 "Agente " FLAGS "UZ" - USE AGE - INPUT CODTAB FS_AGENTE - DISPLAY "Codice" CODTAB - DISPLAY "Descrizione@50" S0 - OUTPUT FS_AGENTE CODTAB - OUTPUT FS_DESCAGENTE S0 + USE LF_AGENTI + INPUT CODAGE FS_AGENTE + DISPLAY "Codice" CODAGE + DISPLAY "Descrizione@50" RAGSOC + OUTPUT FS_AGENTE CODAGE + OUTPUT FS_DESCAGENTE RAGSOC CHECKTYPE NORMAL END diff --git a/cg/cg4301.cpp b/cg/cg4301.cpp index b1f4238a4..9f08980ea 100755 --- a/cg/cg4301.cpp +++ b/cg/cg4301.cpp @@ -514,10 +514,9 @@ void TLiquidazione_app::zero_att(int month, const char* codatt) } } } - - if (_isplafond && month != 13) - zero_plafond(month,codatt); } + if (_isplafond && month != 13) + zero_plafond(month,codatt); } void TLiquidazione_app::recalc_att(int month, const char* codatt) diff --git a/cg/cg4303.cpp b/cg/cg4303.cpp index 007f8783e..4c23c96e6 100755 --- a/cg/cg4303.cpp +++ b/cg/cg4303.cpp @@ -30,7 +30,7 @@ void TLiquidazione_app::zero_plafond (int month, const char* codatt) { real r; look_ppa(month,codatt,jj,TRUE); - if (is_first_month(month)) + if (month == 1 /*is_first_trim(month)*/) // controlla da sola nel caso di freq. mensile... { r = (jj == 1 ? _p8 : (jj == 2 ? _p8b : _p9)); } @@ -40,7 +40,8 @@ void TLiquidazione_app::zero_plafond (int month, const char* codatt) // se non c'e' quello del mese prima c'e' poco da fare, // si ricalcola tutto - if (!look_ppa(previous_month(month),codatt,jj)) + bool is_ok = TRUE; + if (!look_ppa(month == 1 ? 1 : month -1/*previous_month(month)*/, codatt,jj)) // mazza che bella chiamata ricorsiva { if (_recalc != needed) @@ -48,6 +49,7 @@ void TLiquidazione_app::zero_plafond (int month, const char* codatt) describe_error("Progressivi plafond non ricalcolati per " "i mesi precedenti: possibili errori", codatt); + is_ok = FALSE; } else { @@ -58,9 +60,11 @@ void TLiquidazione_app::zero_plafond (int month, const char* codatt) look_ppa(previous_month(month),codatt,jj); } } - r = _ppa_r->get_real("R2") - - _ppa_r->get_real("R0") - - _ppa_r->get_real("R1"); + + if (is_ok) // Se il record prec. esiste allora esegue i calcoli; In caso contrario diventa un errore sistematico + r = _ppa_r->get_real("R2") - + _ppa_r->get_real("R0") - + _ppa_r->get_real("R1"); _ppa->readat(rn); } diff --git a/cg/cg4304.cpp b/cg/cg4304.cpp index 2ebc14c09..01b78d23a 100755 --- a/cg/cg4304.cpp +++ b/cg/cg4304.cpp @@ -202,14 +202,18 @@ void TLiquidazione_app::describe_plafond(int month, const char* codatt) for (int jj = 1; jj <= 3; jj++) // three types of plafond { t1 = 0.0; t2 = 0.0; t3 = 0.0; + + if (month < 13) + { + look_ppa(_freqviva == "M" ? month : next_trim(month) -2, codatt,jj); + t3 = _ppa->get_real("R2"); + } for (int m = 1; m <= month && m < 13; m++) { if (is_month_ok(m,month) && look_ppa(m,codatt,jj)) { t1 += _ppa->get_real("R0"); t2 += _ppa->get_real("R1"); - if (month < 13) - t3 = _ppa->get_real("R2"); } } switch (jj) diff --git a/cg/cg4400.cpp b/cg/cg4400.cpp index b232b189b..b3f59f993 100755 --- a/cg/cg4400.cpp +++ b/cg/cg4400.cpp @@ -1068,6 +1068,7 @@ bool TStampa_registri_app::user_destroy() delete _tabpim; delete _tabprm; delete _tabprp; + //delete _cur; delete _rel; delete _desc27; @@ -2616,7 +2617,7 @@ void TStampa_registri_app::liq_other_case() if (_frequiva == 'T') mese += 2 - ((mese-1) % 3); - send_message(calc_reg ? 'R' : 'C', app, calc_reg ? _fino_a_mese : mese); + send_message(calc_reg ? 'R' : 'C', app, calc_reg ? _datareg.month()/*_fino_a_mese*/ : mese); } } } diff --git a/cg/cg6400.cpp b/cg/cg6400.cpp index 81de8be60..215613f31 100755 --- a/cg/cg6400.cpp +++ b/cg/cg6400.cpp @@ -20,7 +20,7 @@ class TRic_archivi : public TSkeleton_application { -// TTable* _tab_tra; + //TTable* _tab_tra; TTransfer_file* _tras_file; TLocalisamfile* _caus; TLocalisamfile* _rcaus; @@ -30,9 +30,9 @@ class TRic_archivi : public TSkeleton_application TLocalisamfile* _rmov; TLocalisamfile* _rmoviva; TLocalisamfile* _occas; - //TLocalisamfile* _part; - //TLocalisamfile* _scad; - //TLocalisamfile* _pagsca; + TLocalisamfile* _part; + TLocalisamfile* _scad; + TLocalisamfile* _pagsca; //TLocalisamfile* _tab; TString80 TEMP; @@ -92,7 +92,7 @@ bool TRic_archivi::create() { TApplication::create(); -// _tab_tra = new TTable ("%TRA"); + //_tab_tra = new TTable ("%TRA"); _tras_file = new TTransfer_file(_scelta); _caus = new TLocalisamfile (LF_CAUSALI); @@ -103,9 +103,9 @@ bool TRic_archivi::create() _rmov = new TLocalisamfile (LF_RMOV); _rmoviva = new TLocalisamfile (LF_RMOVIVA); _occas = new TLocalisamfile (LF_OCCAS); - //_part = new TLocalisamfile (LF_PARTITE); - //_scad = new TLocalisamfile (LF_SCADENZE); - //_pagsca = new TLocalisamfile (LF_PAGSCA); + _part = new TLocalisamfile (LF_PARTITE); + _scad = new TLocalisamfile (LF_SCADENZE); + _pagsca = new TLocalisamfile (LF_PAGSCA); //_tab = new TLocalisamfile (LF_TAB); _numdisk = 1; @@ -121,7 +121,7 @@ bool TRic_archivi::create() bool TRic_archivi::destroy() { -// delete _tab_tra; + //delete _tab_tra; delete _tras_file; delete _caus; @@ -132,9 +132,9 @@ bool TRic_archivi::destroy() delete _rmov; delete _rmoviva; delete _occas; - //delete _part; - //delete _scad; - //delete _pagsca; + delete _part; + delete _scad; + delete _pagsca; //delete _tab; return TApplication::destroy(); diff --git a/cg/cg6500.cpp b/cg/cg6500.cpp index d681f36fa..b9703a3e9 100755 --- a/cg/cg6500.cpp +++ b/cg/cg6500.cpp @@ -25,6 +25,8 @@ public: virtual void init_insert_mode(TMask&); virtual int write(const TMask& m); virtual int rewrite(const TMask& m); + virtual bool check_autorization() const + {return FALSE;} void leggi_trasfer(); char cerca_stato(long codditta); diff --git a/cg/cg6900.h b/cg/cg6900.h index 90e02787f..3bab6b7bb 100755 --- a/cg/cg6900.h +++ b/cg/cg6900.h @@ -60,6 +60,8 @@ public: virtual bool create(); virtual bool destroy(); virtual void main_loop(); + virtual bool check_autorization() const + {return FALSE;} bool esiste_tabella_studio(); bool record_controllo(); diff --git a/cg/cg6901.h b/cg/cg6901.h index bafa383c4..6e92523df 100755 --- a/cg/cg6901.h +++ b/cg/cg6901.h @@ -43,6 +43,8 @@ public: virtual bool create(); virtual bool destroy(); virtual bool menu(MENU_TAG m); + virtual bool check_autorization() const + {return FALSE;} bool set(); bool tabella_ditta(); diff --git a/cg/cg6903.h b/cg/cg6903.h index d42532946..3d3d39416 100755 --- a/cg/cg6903.h +++ b/cg/cg6903.h @@ -19,6 +19,8 @@ class TRip_flag : public TApplication TProgind* _prog; public: + virtual bool check_autorization() const + {return FALSE;} virtual bool create(); virtual bool destroy(); virtual bool menu(MENU_TAG m); diff --git a/cg/cg6904.cpp b/cg/cg6904.cpp index 48b9e4d7f..b8354a5e9 100755 --- a/cg/cg6904.cpp +++ b/cg/cg6904.cpp @@ -983,6 +983,8 @@ void TInv_cont::tipodocumento(long nreg, TString& tipodoc) tmov.put(MOV_NUMREG, nreg); if (tmov.read() == NOERR) tipodoc = tmov.get(MOV_TIPODOC); + else + tipodoc = ""; _tmov->readat(rec); } @@ -997,6 +999,7 @@ void TInv_cont::invio_righe_IVA() _prog = new TProgind(cicli,"Movimenti Iva: generazione file TRASFER per PC\nPrego attendere.",FALSE); _tras_file.open(_trasf,TRUE); + TString tipodoc; for (_triva->first(); !_triva->eof(); _triva->next()) { @@ -1021,9 +1024,12 @@ void TInv_cont::invio_righe_IVA() str.format("%-4s", (const char*) codiva); record.overwrite(str,60); - TString tipodoc = ""; if (nreg != nreg_p) + { tipodocumento(nreg,tipodoc); + } + // Tipo documento deve rimanere uguale fino a quando cambia il numero di registrazione! + // Non va percio' resettato ad ogni riga. nreg_p = nreg; real imponibile (_triva->get_real(RMI_IMPONIBILE)); if (tipodoc == "NC" || tipodoc =="ST") diff --git a/cg/cg6905.h b/cg/cg6905.h index 29b370919..db900f7e2 100755 --- a/cg/cg6905.h +++ b/cg/cg6905.h @@ -1,21 +1,23 @@ -// Ripristino flag invio PN e IVA - -#include -#include -#include - -#include "cglib04.h" - -class TCanc_file_invio : public TApplication -{ - TTransfer_file _tras_file; - -public: - virtual bool create(); - virtual bool destroy(); - virtual bool menu(MENU_TAG m); - - bool set(); - - TCanc_file_invio() {} -}; +// Ripristino flag invio PN e IVA + +#include +#include +#include + +#include "cglib04.h" + +class TCanc_file_invio : public TApplication +{ + TTransfer_file _tras_file; + +public: + virtual bool check_autorization() const + {return FALSE;} + virtual bool create(); + virtual bool destroy(); + virtual bool menu(MENU_TAG m); + + bool set(); + + TCanc_file_invio() {} +}; diff --git a/cg/cglib04.cpp b/cg/cglib04.cpp index bc175b8cf..5d6c3c79a 100755 --- a/cg/cglib04.cpp +++ b/cg/cglib04.cpp @@ -3108,6 +3108,8 @@ bool TTransfer_file::fcopytemp(const char* orig, const char* dest) const char* const rflag = "rb"; const char* const wflag = "ab"; + + TLocalisamfile tabella(LF_TAB); ordina_trasfer(orig); @@ -3217,10 +3219,12 @@ bool TTransfer_file::fcopytemp(const char* orig, const char* dest) scrivi_PN(nrec_mov); if (sigle.find('U') >= 0) scrivi_IVA(nrec_moviva); + if (sigle.find('B') >= 0) scrivi_SC(nrec_salda); - if (is_delete) delete _toccas; + if (is_delete) + delete _toccas; delete _ttab; diff --git a/cg/cgp2100a.uml b/cg/cgp2100a.uml index 358b5e59a..033f13119 100755 --- a/cg/cgp2100a.uml +++ b/cg/cgp2100a.uml @@ -63,7 +63,7 @@ END NUMBER F_FROMREG 7 BEGIN PROMPT 4 9 "Dalla registrazione " - USE LF_MOV + USE LF_MOV SELECT CODCAUS==#F_CAUS INPUT NUMREG F_FROMREG DISPLAY "Numero reg." NUMREG DISPLAY "Descrizione@50" DESCR diff --git a/cg/f18.dir b/cg/f18.dir index 9d6716b53..972e2c239 100755 --- a/cg/f18.dir +++ b/cg/f18.dir @@ -1,3 +1,3 @@ 18 0 -$occas|2|2|185|7|Clienti occasionali||| +$occas|2|2|185|0|Clienti occasionali||| diff --git a/cg/f20.dir b/cg/f20.dir index 580be6282..3177e88b0 100755 --- a/cg/f20.dir +++ b/cg/f20.dir @@ -1,3 +1,3 @@ 20 0 -$clifo|0|0|586|7|Clienti/Fornitori|NCF|| +$clifo|0|0|586|0|Clienti/Fornitori|NCF|| diff --git a/db/dbstord.uml b/db/dbstord.uml new file mode 100755 index 000000000..67b869b25 --- /dev/null +++ b/db/dbstord.uml @@ -0,0 +1,86 @@ +#include "../ba/ba3200.h" +PAGE "Stampa tabella ordinamenti "-1 -1 76 15 + +GROUPBOX DLG_NULL 74 5 +BEGIN + PROMPT 1 1 "Da" +END + +STRING F_INIZIO1 1 +BEGIN + PROMPT 2 3 "" + USE ORD + INPUT CODTAB F_INIZIO1 + DISPLAY "Codice@10" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_INIZIO1 CODTAB + OUTPUT F_INIZIO2 S0 + GROUP 1 + FIELD CODTAB + FLAGS "U" + CHECKTYPE SEARCH +END + +STRING F_INIZIO2 50 +BEGIN + PROMPT 15 3 "" + USE ORD + INPUT S0 F_INIZIO2 + DISPLAY "Descrizione@50" S0 + DISPLAY "Codice" CODTAB + OUTPUT F_INIZIO2 S0 + OUTPUT F_INIZIO1 CODTAB + GROUP 1 + FIELD S0 + FLAGS "U" + CHECKTYPE SEARCH +END + +GROUPBOX DLG_NULL 74 5 +BEGIN + PROMPT 1 6 "A" +END + +STRING F_FINE1 1 +BEGIN + PROMPT 2 8 "" + USE ORD + INPUT CODTAB F_FINE1 + DISPLAY "Codice@10" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_FINE1 CODTAB + OUTPUT F_FINE2 S0 + GROUP 2 + FIELD CODTAB + FLAGS "U" + CHECKTYPE SEARCH +END + +STRING F_FINE2 50 +BEGIN + PROMPT 15 8 "" + USE ORD + INPUT S0 F_FINE2 + DISPLAY "Descrizione@50" S0 + DISPLAY "Codice" CODTAB + OUTPUT F_FINE2 S0 + OUTPUT F_FINE1 CODTAB + GROUP 2 + FIELD S0 + FLAGS "U" + CHECKTYPE SEARCH +END + +BUTTON DLG_OK 10 2 +BEGIN + PROMPT -12 -1 "" +END + +BUTTON DLG_QUIT 10 2 +BEGIN + PROMPT -22 -1 "" +END + +ENDPAGE +ENDMASK + diff --git a/db/dbtblav.h b/db/dbtblav.h new file mode 100755 index 000000000..c501cb684 --- /dev/null +++ b/db/dbtblav.h @@ -0,0 +1,7 @@ +#define F_CODICE 101 +#define F_DESCR 102 +#define F_COSUNIT 103 +#define F_UNMIS 104 +#define F_STAMPA 105 +#define F_UMDESC 106 + diff --git a/db/dbtblav.uml b/db/dbtblav.uml new file mode 100755 index 000000000..2f086ea00 --- /dev/null +++ b/db/dbtblav.uml @@ -0,0 +1,80 @@ +#include "dbtblav.h" +TOOLBAR "" 0 19 80 3 +#include +ENDPAGE + PAGE "Anagrafica lavorazioni" -1 -1 65 15 + + GROUPBOX DLG_NULL 78 5 + BEGIN + PROMPT 1 1 "" + END + STRING F_CODICE 20 + BEGIN + PROMPT 2 2 "Codice " + FIELD CODTAB + KEY 1 + USE LAV + INPUT CODTAB F_CODICE + DISPLAY "Codice@20" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_CODICE CODTAB + OUTPUT F_DESCR S0 + CHECKTYPE REQUIRED + FLAGS "U" + END + STRING F_DESCR 50 + BEGIN + PROMPT 2 4 "Descrizione " + FIELD S0 + KEY 2 + USE LAV KEY 2 + INPUT S0 F_DESCR + DISPLAY "Descrizione@50" S0 + DISPLAY "Codice@20" CODTAB + OUTPUT F_DESCR S0 + OUTPUT F_CODICE CODTAB + CHECKTYPE REQUIRED + END + GROUPBOX DLG_NULL 78 8 + BEGIN + PROMPT 1 6 "" + END + STRING F_UNMIS 2 + BEGIN + PROMPT 2 7 "Unità di misura " + FIELD S6 + USE %UMS + INPUT CODTAB F_UNMIS + DISPLAY "Unità di misura@2" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_UNMIS CODTAB + OUTPUT F_UMDESC S0 + CHECKTYPE REQUIRED + END + STRING F_UMDESC 50 + BEGIN + PROMPT 22 7 " " + USE %UMS KEY 2 + INPUT S0 F_UMDESC + DISPLAY "Descrizione@50" S0 + DISPLAY "Unità di misura@2" CODTAB + OUTPUT F_UMDESC S0 + OUTPUT F_UNMIS CODTAB + CHECKTYPE REQUIRED + END + NUMBER F_COSUNIT 15 + BEGIN + PROMPT 2 9 "Costo unitario " + PICTURE "." + FIELD R0 + END + BOOLEAN F_STAMPA + BEGIN + PROMPT 2 11 "Stampa nelle esplosioni" + FIELD B0 + END + ENDPAGE + ENDMASK + + + diff --git a/db/dbtbord.h b/db/dbtbord.h new file mode 100755 index 000000000..99d5c0b52 --- /dev/null +++ b/db/dbtbord.h @@ -0,0 +1,9 @@ +#ifndef __DBTBORD_H +#define __DBTBORD_H + +#define F_CODICE 101 +#define F_DESC 102 +#define F_COMPLETA 103 +#define F_GLOBALE 104 + +#endif diff --git a/db/dbtbord.rpt b/db/dbtbord.rpt new file mode 100755 index 000000000..b95bc85c5 --- /dev/null +++ b/db/dbtbord.rpt @@ -0,0 +1,13 @@ +[Headers] +80 +Tabella "ORD" +1|@3g%s|Codice +1|@10g%s|Descrizione +1|@56g%s|Completa +1|@65g%s|Globale + +[Rows] +1|CODTAB|@3g@1,ls +1|S0|@10g@50,ls +1|B0|@60g@5,ls +1|B1|@68g@5,ls \ No newline at end of file diff --git a/db/dbtbord.uml b/db/dbtbord.uml new file mode 100755 index 000000000..eb7bf2ccc --- /dev/null +++ b/db/dbtbord.uml @@ -0,0 +1,57 @@ +#include "dbtbord.h" + +TOOLBAR "" 0 19 80 3 +#include +ENDPAGE + +PAGE "Tabella ordinamenti" -1 -1 65 15 +GROUPBOX DLG_NULL 78 5 +BEGIN + PROMPT 1 1 "" +END + +NUMBER F_CODICE 1 +BEGIN + PROMPT 2 2 "Codice " + FIELD CODTAB + KEY 1 + USE ORD + INPUT CODTAB F_CODICE + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_CODICE CODTAB + OUTPUT F_DESC S0 + CHECKTYPE REQUIRED + FLAGS "U" +END + +STRING F_DESC 50 +BEGIN + PROMPT 2 4 "Descrizione " + FIELD S0 + KEY 2 + USE ORD KEY 2 + INPUT S0 F_DESC + DISPLAY "Descrizione@50" S0 + DISPLAY "Codice@10" CODTAB + OUTPUT F_DESC S0 + OUTPUT F_CODICE CODTAB + CHECKTYPE REQUIRED +END + +BOOLEAN F_COMPLETA +BEGIN + PROMPT 2 10 "Completa" + MESSAGE TRUE ENABLE,F_GLOBALE + MESSAGE FALSE CLEAR,F_GLOBALE + FIELD B0 +END + +BOOLEAN F_GLOBALE +BEGIN + PROMPT 20 10 "Globale" + FIELD B1 +END + +ENDPAGE +ENDMASK diff --git a/db/dbtbvar.h b/db/dbtbvar.h new file mode 100755 index 000000000..bab659371 --- /dev/null +++ b/db/dbtbvar.h @@ -0,0 +1,3 @@ +#define F_CODICE 101 +#define F_DESCR 102 +#define F_VAR 103 diff --git a/db/dbtbvar.uml b/db/dbtbvar.uml new file mode 100755 index 000000000..bec505537 --- /dev/null +++ b/db/dbtbvar.uml @@ -0,0 +1,45 @@ +#include "dbtbvar.h" +TOOLBAR "" 0 19 80 3 +#include +ENDPAGE + PAGE "Tabella variabili" -1 -1 65 15 + + GROUPBOX DLG_NULL 70 8 + BEGIN + PROMPT 1 1 "" + END + STRING F_CODICE 20 + BEGIN + PROMT 2 2 "Codice " + FIELD CODTAB + KEY 1 + USE VAR + INPUT CODTAB F_CODICE + DISPLAY "Codice@20" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_CODICE CODTAB + OUTPUT F_DESCR S0 + CHECKPOINT REQUIRED + FLAG "U" + END + STRING F_DESCR 50 + BEGIN + PROMPT 2 4 "Descrizione " + FIELD S0 + KEY 2 + USE VAR KEY 2 + INPUT S0 F_DESCR + DISPLAY "Descrizione@50" S0 + DISPLAY "Codice@20" CODTAB + OUTPUT F_DESCR S0 + OUTPUT F_CODICE CODTAB + CHECKTYPE REQUIRED + END + BOOLEAN F_VAR + BEGIN + PROMPT 2 6 "Variabile numerica" + FIELD B0 + END + ENDPAGE + ENDMASK + diff --git a/ef/ef0300.cpp b/ef/ef0300.cpp index 5e52d3cba..f2ad0e062 100755 --- a/ef/ef0300.cpp +++ b/ef/ef0300.cpp @@ -83,6 +83,7 @@ void TVariazione_distinte::init_insert_mode(TMask&) _msk->enable(F_CODVAL); _msk->disable(F_NUMBER); _msk->disable(F_TIPODIST); + _msk->enable(F_TIPOPAG); } // quando si va in modify mode disabilta i campi relativi alla chiave diff --git a/ef/ef0300.h b/ef/ef0300.h index 79e9aa3f6..439d7a946 100755 --- a/ef/ef0300.h +++ b/ef/ef0300.h @@ -16,6 +16,7 @@ #define F_CODVAL 111 #define F_TIPOPAG 112 #define F_SHEET_RIBA 113 +#define F_NPROGTR 114 // Identificatori campi per lo spreadsheet di selezione RiBa da aggiungere // alla distinta (ef0300c.uml) diff --git a/ef/ef0300a.uml b/ef/ef0300a.uml index 9cca55274..427d8e77d 100755 --- a/ef/ef0300a.uml +++ b/ef/ef0300a.uml @@ -37,7 +37,7 @@ BEGIN FIELD LF_EFFETTI->NDIST FLAGS "R" KEY 4 - USE LF_EFFETTI KEY 4 SELECT NRIGADIST = 1 + USE LF_EFFETTI KEY 4 SELECT NRIGADIST == 1 INPUT NDIST F_NUMBER INPUT TIPODIST F_TIPODIST INPUT NRIGADIST F_NUMBERRIGA @@ -46,9 +46,18 @@ BEGIN OUTPUT F_NUMBER NDIST OUTPUT F_TIPODIST TIPODIST OUTPUT F_NUMBERRIGA NRIGADIST + OUTPUT F_NPROGTR NPROGTR CHECKTYPE REQUIRED END +NUMBER F_NPROGTR 7 +BEGIN + PROMPT 1 60 "" + KEY 1 + FIELD LF_EFFETTI->NPROGTR + FLAGS "D" +END + DATE F_DATA BEGIN PROMPT 2 2 "Data Distinta " diff --git a/ef/ef0500.cpp b/ef/ef0500.cpp index e6c252dcf..e05f89c15 100755 --- a/ef/ef0500.cpp +++ b/ef/ef0500.cpp @@ -377,9 +377,8 @@ void TEmissione::print_rb(char tipost, int ndist, char tipodist, int ncopie, con TCursor* fcur = _formrb->cursor(); TLocalisamfile &eff = fcur->file(LF_EFFETTI); TString16 filter; - if (tipost == 'D')// se stampa definitiva effetti - if (!_msk->get_bool(F_RIST))// se non deve ristampare le riba - filter = "EFFSTAMP=\" \"";// setta il filtro del cursore per ... + if (tipost == 'D' && !_msk->get_bool(F_RIST)) // se stampa definitiva effetti e se non deve ristampare le riba + filter = "EFFSTAMP=\" \"";// setta il filtro del cursore per ... fcur->setfilter(filter,TRUE);// ... stampare solo gli effetti non ancora stampati // setta la chiave 4 per il cursore per poter leggere tutti gli effetti della distinta fcur->setkey(4); @@ -418,7 +417,9 @@ void TEmissione::print_dse(char tipost, int ndist, char tipodist, int ncopie, co // setta la chiave 4 per il cursore per poter leggere tutti gli effetti // della distinta TString16 filter; - fcur->setfilter(filter,TRUE); + if (tipost == 'D' && !_msk->get_bool(F_RIST)) // se stampa definitiva effetti e se non deve ristampare le riba + filter = "DISTSTAM=\" \"";// setta il filtro del cursore per ... + fcur->setfilter(filter,TRUE); fcur->setkey(4); TRectype darec(eff.curr()); // fissa i dati per la scelta degli ... darec.zero(); // ... effetti nel primo e nell'ultimo record del cursore diff --git a/ef/ef0500a.uml b/ef/ef0500a.uml index 00969765b..7ad340754 100755 --- a/ef/ef0500a.uml +++ b/ef/ef0500a.uml @@ -1,30 +1,25 @@ // DEFINIZIONE CAMPI MASCHERA PER LA EMISSIONE DEGLI EFFETTI #include "ef0500.h" -PAGE "Emissione Effetti e Distinte" -1 -1 77 19 +PAGE "Emissione Effetti e Distinte" -1 -1 77 15 -RADIOBUTTON F_TIPOEMIS 76 -BEGIN - PROMPT 1 0 " " - ITEM "1|Emissione RI.BA. su floppy" +RADIOBUTTON F_TIPOEMIS 39 +BEGIN + PROMPT 2 0 " " + ITEM "1|Emissione su floppy" MESSAGE DISABLE,2@|DISABLE,4@|DISABLE,5@ MESSAGE ENABLE,1@|SHOW,F_NOMEFILE - ITEM "2|Emissione RI.BA. su moduli cartacei" + ITEM "2|Emissione su moduli cartacei" MESSAGE DISABLE,1@ MESSAGE ENABLE,2@|HIDE,F_NOMEFILE END STRING F_NOMEFILE 12 BEGIN - PROMPT 50 1 "Nome file:" + PROMPT 2 4 "File RI.BA. " FLAGS "D" END -GROUPBOX DLG_NULL 76 3 -BEGIN - PROMPT 1 4 "" -END - LIST F_TIPODIST 18 BEGIN PROMPT 2 5 "Tipo Distinta " @@ -60,15 +55,9 @@ BEGIN FLAGS "D" END -GROUPBOX DLG_NULL 76 3 -BEGIN - PROMPT 1 7 "" - GROUP 1 -END - LIST F_UNITA 9 -BEGIN - PROMPT 2 8 "Unità di output " +BEGIN + PROMPT 2 6 "Unità di output " ITEM "a|Drive A" ITEM "b|Drive B" GROUP 1 @@ -76,7 +65,7 @@ END LIST F_FOR_OUT 7 BEGIN - PROMPT 43 8 "Formato unità output " + PROMPT 43 6 "Formato unità output " ITEM "1|360 Kb" ITEM "2|720 Kb" ITEM "3|1,2 Mb" @@ -84,55 +73,49 @@ BEGIN GROUP 1 END -GROUPBOX DLG_NULL 76 5 -BEGIN - PROMPT 1 10 "" - GROUP 2 -END - LIST F_EMIS 20 -BEGIN - PROMPT 2 11 "Emissione " +BEGIN + PROMPT 2 8 "Emissione " ITEM "1|Emissione effetti" - MESSAGE DISABLE,4@|ENABLE,5@ + MESSAGE DISABLE,4@ ITEM "2|Emissione distinta" - MESSAGE ENABLE,4@|DISABLE,5@ + MESSAGE ENABLE,4@ GROUP 2 END NUMBER F_NCOPIE 3 -BEGIN - PROMPT 2 12 "Numero copie " +BEGIN + PROMPT 2 9 "Numero copie " NUM_EXPR {(#THIS_FIELD >= 0)} WARNING "Il numero di copie deve essere positivo" GROUP 2 END LIST F_TIPORD 14 -BEGIN - PROMPT 2 13 "Tipo Ordinamento " - ITEM "S|Scadenza " +BEGIN + PROMPT 2 10 "Tipo Ordinamento " + ITEM "S|Scadenza " ITEM "F|Fattura " GROUP 4 END LIST F_TIPOST 14 -BEGIN - PROMPT 43 12 "Tipo di Stampa " - ITEM "P|Provvisoria" +BEGIN + PROMPT 43 9 "Tipo di Stampa " + ITEM "P|Provvisoria" ITEM "D|Definitiva" GROUP 2 END BOOLEAN F_RIST BEGIN - PROMPT 43 13 "Ristampo RI.BA." - GROUP 5 + PROMPT 43 10 "Ristampa" + GROUP 2 END DATA F_DATAEMIS -BEGIN - PROMPT 2 15 "Data Emissione " +BEGIN + PROMPT 2 11 "Data Emissione " FLAGS "A" END diff --git a/ef/ef0800.cpp b/ef/ef0800.cpp index 0fa5ec01c..f3c210e26 100755 --- a/ef/ef0800.cpp +++ b/ef/ef0800.cpp @@ -143,39 +143,58 @@ inline TContabilizzazione_effetti_app& app() { return (TContabilizzazione_effett void TContabilizzazione_effetti_app::build_dist_sheet() { TRelation eff_rel(LF_EFFETTI); - TRectype da(LF_EFFETTI),a(LF_EFFETTI); - int num_eff = 0; - long ndist,ndist_prec=0L; - char tipo,tipo_prec='\0'; - bool is_last; - TCursor cur_dist(&eff_rel,"TIPODIST!=\"\"",4,&da,&a); +// TRectype da(LF_EFFETTI),a(LF_EFFETTI); + TCursor cur_dist(&eff_rel,"TIPODIST!=\"\"",4); //,&da,&a); TRectype& rec = cur_dist.curr(); const long items = cur_dist.items(); _dist_sheet->destroy(); // resetta lo sheet delle distinte - for (long i = 0; i 0) { - cur_dist = i; - ndist = rec.get_long(EFF_NDIST); - tipo = rec.get_char(EFF_TIPODIST); - is_last = i == items-1; - if (ndist_prec == 0 || tipo_prec == '\0') { ndist_prec = ndist; tipo_prec = tipo; } - if (ndist != ndist_prec || tipo != tipo_prec || is_last) - { - TToken_string * t = new TToken_string; - t->add(" ");t->add(tipo_prec); - t->add(ndist_prec); - t->add(is_last ? num_eff+1 : num_eff); - t->add(rec.get(EFF_CODABIP)); - t->add(rec.get(EFF_CODCABP)); - const long pos = _dist_sheet->add(t); //aggiunge una riga allo sheet delle distinte - num_eff = 1; - ndist_prec = ndist; - tipo_prec = tipo; - if (rec.get_bool(EFF_EFFCONT)) // Disabilita le distinte che contengono effetti gia' contabilizzati - _dist_sheet->disable_row(pos); // ?? Appunto: e se ci sono distinte con alcuni effetti contabilizzati e altri no ? - } - else num_eff++; // numero di effetti che compongono la distinta - } + cur_dist = 0; + long ndist_prec = rec.get_long(EFF_NDIST); + char tipo_prec = rec.get_char(EFF_TIPODIST); + TString16 codabi; + TString16 codcab; + bool enabled = TRUE; + int num_eff = 0; + + for (long i = 0; i< items; i++) + { + cur_dist = i; + const long ndist = rec.get_long(EFF_NDIST); + const char tipo = rec.get_char(EFF_TIPODIST); + if (ndist != ndist_prec || tipo != tipo_prec) + { + TToken_string * t = new TToken_string; + + t->add(" ");t->add(tipo_prec); + t->add(ndist_prec); + t->add(num_eff); + t->add(codabi); + t->add(codcab); + const long pos = _dist_sheet->add(t); //aggiunge una riga allo sheet delle distinte + _dist_sheet->enable_row(pos, enabled); + ndist_prec = ndist; + tipo_prec = tipo; + enabled = TRUE; + num_eff = 0; + } + num_eff++; // numero di effetti che compongono la distinta + codabi = rec.get(EFF_CODABIP); + codcab = rec.get(EFF_CODCABP); + enabled &= !rec.get_bool(EFF_EFFCONT); + } + + TToken_string * t = new TToken_string; + + t->add(" ");t->add(tipo_prec); + t->add(ndist_prec); + t->add(num_eff); + t->add(codabi); + t->add(codcab); + const long pos = _dist_sheet->add(t); //aggiunge una riga allo sheet delle distinte + _dist_sheet->enable_row(pos, enabled); + } } bool TContabilizzazione_effetti_app::handle_reset(TMask_field& f, KEY k) diff --git a/m770/77inst.ini b/m770/77inst.ini index b91d11e08..63102bd61 100755 --- a/m770/77inst.ini +++ b/m770/77inst.ini @@ -1,9 +1,9 @@ [77] -Data = 21-04-1998 -Descrizione = Modello 770 +Data = 01-06-1998 +Descrizione = Percipienti (Mod.770) Dischi = 1 Moduli = ba -Patch = 10 +Patch = 45 PostProcess = PreProcess = Prezzo(1) = 700,250 @@ -17,7 +17,7 @@ Versione = 19980103 [770] File(0) = 7700.bmp File(1) = 77area.men -Patch = 10 +Patch = 45 Versione = 19980103 [771] @@ -113,7 +113,7 @@ File(90) = 77g1a.msk File(91) = 77g1pa.msk File(92) = 77logazz.frm File(93) = 77prassi.hlp -File(94) = 77prassi.men +File(94) = 77prassi.men|X File(95) = 77qa.frm File(96) = 77qa1.frm File(97) = 77qa2.frm @@ -157,7 +157,7 @@ File(134) = batbca7.msk File(135) = batbcaf.msk File(136) = batbent.msk File(137) = menu_st.msk -Patch = 10 +Patch = 45 Versione = 19980103 [772] @@ -227,6 +227,6 @@ File(200) = recdesc\f76.dir File(201) = recdesc\f76.trr File(202) = recdesc\f77.dir File(203) = recdesc\f77.trr -Patch = 10 +Patch = 45 Versione = 19980103