Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            : Riportata la verione 98.01.04 sul main trunk


git-svn-id: svn://10.65.10.50/trunk@6985 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1998-08-25 17:57:12 +00:00
parent 4b004eff90
commit 588b3f3199
37 changed files with 546 additions and 190 deletions

View File

@ -6,6 +6,7 @@
#include <relapp.h>
#include <sheet.h>
#include <validate.h>
#include <utility.h>
#include <pconti.h>
#include <clifo.h>
@ -14,6 +15,7 @@
#include <cfven.h>
#include <mov.h>
#include <indsp.h>
#include <modaut.h>
#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;

View File

@ -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

View File

@ -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 "

View File

@ -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 ""

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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)

View File

@ -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);
}

View File

@ -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)

View File

@ -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);
}
}
}

View File

@ -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();

View File

@ -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);

View File

@ -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();

View File

@ -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();

View File

@ -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);

View File

@ -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")

View File

@ -1,21 +1,23 @@
// Ripristino flag invio PN e IVA
#include <applicat.h>
#include <isam.h>
#include <urldefid.h>
#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 <applicat.h>
#include <isam.h>
#include <urldefid.h>
#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() {}
};

View File

@ -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;

View File

@ -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

View File

@ -1,3 +1,3 @@
18
0
$occas|2|2|185|7|Clienti occasionali|||
$occas|2|2|185|0|Clienti occasionali|||

View File

@ -1,3 +1,3 @@
20
0
$clifo|0|0|586|7|Clienti/Fornitori|NCF||
$clifo|0|0|586|0|Clienti/Fornitori|NCF||

86
db/dbstord.uml Executable file
View File

@ -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

7
db/dbtblav.h Executable file
View File

@ -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

80
db/dbtblav.uml Executable file
View File

@ -0,0 +1,80 @@
#include "dbtblav.h"
TOOLBAR "" 0 19 80 3
#include <toolbar.h>
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

9
db/dbtbord.h Executable file
View File

@ -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

13
db/dbtbord.rpt Executable file
View File

@ -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

57
db/dbtbord.uml Executable file
View File

@ -0,0 +1,57 @@
#include "dbtbord.h"
TOOLBAR "" 0 19 80 3
#include <toolbar.h>
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

3
db/dbtbvar.h Executable file
View File

@ -0,0 +1,3 @@
#define F_CODICE 101
#define F_DESCR 102
#define F_VAR 103

45
db/dbtbvar.uml Executable file
View File

@ -0,0 +1,45 @@
#include "dbtbvar.h"
TOOLBAR "" 0 19 80 3
#include <toolbar.h>
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

View File

@ -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

View File

@ -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)

View File

@ -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 "

View File

@ -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

View File

@ -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

View File

@ -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<items; i++)
if (items > 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)

View File

@ -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