Implementata Gestione Vendite

git-svn-id: svn://10.65.10.50/trunk@189 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1994-09-08 13:45:55 +00:00
parent 94bfe36dfa
commit fcb4332ba2
9 changed files with 1256 additions and 674 deletions

View File

@ -8,58 +8,83 @@
#include <anafis.h>
#include <validate.h>
#include <defmask.h>
#include <msksheet.h>
#include <config.h>
#include "cg0.h"
#include "cg0200.h"
#include "cg0201.h"
bool gest_vend()
{
TConfig c(CONFIG_DITTA,"cg");
return (c.get("GesVen") == "X");
}
class CG0200_application : public TRelation_application
{
TMask* _msk;
TRelation *_rel;
TLocalisamfile* _saldi;
TLocalisamfile* _anag;
TLocalisamfile* _fis;
TLocalisamfile* _comuni;
TLocalisamfile* _pcon;
//TRelation *_rel;
TClifoVI *_rel;
TLocalisamfile* _saldi;
TLocalisamfile* _anag;
TLocalisamfile* _fis;
TLocalisamfile* _comuni;
TLocalisamfile* _pcon;
bool user_create();
bool user_destroy();
virtual TMask* get_mask(int mode) {return _msk;}
virtual bool changing_mask(int mode) {return FALSE;}
virtual bool protected_record(TRectype &rec);
virtual const char* get_next_key();
virtual void init_query_mode(TMask& m);
bool user_create();
bool user_destroy();
virtual TMask* get_mask(int mode) {return _msk;}
virtual bool changing_mask(int mode) {return FALSE;}
virtual bool protected_record(TRectype &rec);
virtual const char* get_next_key();
virtual void init_query_mode(TMask& m);
virtual void init_insert_mode(TMask& m);
public:
virtual TRelation* get_relation() const {return _rel;}
CG0200_application() {}
////////////
static bool indsp_notify(int r, KEY key);
static bool indsp_handler(TMask_field& f, KEY key) { return TRUE; }
virtual int write(const TMask& m);
virtual int rewrite(const TMask& m);
virtual int read(TMask& m);
TSheet_field& indsp_sheet() const;
void indsp_pack();
void common_f(const TMask& m);
///////////
public:
virtual TRelation* get_relation() const {return (TRelation*)_rel;}
CG0200_application() {}
};
inline CG0200_application& app()
{return (CG0200_application&)*MainApp();}
bool CG0200_application::protected_record(TRectype &rec)
{
TMask* m = get_mask(MODE_MOD);
const int gruppo = atoi(m->get(F_GRUPPO));
const int conto = atoi(m->get(F_CONTO));
const long sottoc = atol(m->get(F_CODCF));
TMask* m = get_mask(MODE_MOD);
const int gruppo = atoi(m->get(F_GRUPPO));
const int conto = atoi(m->get(F_CONTO));
const long sottoc = atol(m->get(F_CODCF));
_saldi->zero();
_saldi->put(PCN_GRUPPO, gruppo);
_saldi->put(PCN_CONTO, conto);
_saldi->put(PCN_SOTTOCONTO, sottoc);
_saldi->read();
_saldi->zero();
_saldi->put(PCN_GRUPPO, gruppo);
_saldi->put(PCN_CONTO, conto);
_saldi->put(PCN_SOTTOCONTO, sottoc);
_saldi->read();
return _saldi->good() &&
gruppo ==_saldi->get_int(PCN_GRUPPO) &&
conto ==_saldi->get_int(PCN_CONTO) &&
sottoc ==_saldi->get_long(PCN_SOTTOCONTO);
return _saldi->good() &&
gruppo ==_saldi->get_int(PCN_GRUPPO) &&
conto ==_saldi->get_int(PCN_CONTO) &&
sottoc ==_saldi->get_long(PCN_SOTTOCONTO);
}
const char* CG0200_application::get_next_key()
{
TLocalisamfile& clifo = *_rel->lfile() ;
long codcf = 1L ;
long codcf = 1L ;
const TString tipo(_msk->get(F_TIPOCF)) ;
if (!clifo.empty())
@ -87,95 +112,95 @@ const char* CG0200_application::get_next_key()
HIDDEN bool no_dup_fis(TMask_field& f, KEY key)
{
TMask& msk = f.mask() ;
if (msk.query_mode() || !f.to_check(key)) return TRUE;
CG0200_application* app = (CG0200_application*) MainApp();
TLocalisamfile& clifo = *app->get_relation()->lfile(LF_CLIFO) ;
TMask& msk = f.mask() ;
if (msk.query_mode() || !f.to_check(key)) return TRUE;
CG0200_application* app = (CG0200_application*) MainApp();
TLocalisamfile& clifo = *app->get_relation()->lfile(LF_CLIFO) ;
if ( f.get().not_empty() && !clifo.empty() )
{
clifo.zero() ;
const char t1 = msk.get(F_TIPOCF)[0] ;
if ( f.get().not_empty() && !clifo.empty() )
{
clifo.zero() ;
const char t1 = msk.get(F_TIPOCF)[0] ;
clifo.put(CLI_TIPOCF, t1);
clifo.put(CLI_COFI, f.get());
clifo.setkey(4) ;
clifo.read() ;
clifo.setkey(1) ;
const char t = clifo.get_char(CLI_TIPOCF);
const TFixed_string s = clifo.get(CLI_CODCF);
const TFixed_string s1(msk.get(F_CODCF));
clifo.put(CLI_TIPOCF, t1);
clifo.put(CLI_COFI, f.get());
clifo.setkey(4) ;
clifo.read() ;
clifo.setkey(1) ;
const char t = clifo.get_char(CLI_TIPOCF);
const TFixed_string s = clifo.get(CLI_CODCF);
const TFixed_string s1(msk.get(F_CODCF));
if (clifo.good() && (t1 != t || s1 != s))
{
f.yesno_box("Codice fiscale gia' utilizzato per il codice : %c/%s",
t, (const char*) s);
return FALSE;
}
}
return TRUE ;
if (clifo.good() && (t1 != t || s1 != s))
{
f.yesno_box("Codice fiscale gia' utilizzato per il codice : %c/%s",
t, (const char*) s);
return FALSE;
}
}
return TRUE ;
}
HIDDEN bool no_dup_iva(TMask_field& f, KEY key)
{
TMask& msk = f.mask() ;
if (msk.query_mode() || !f.to_check(key)) return TRUE;
CG0200_application* app = (CG0200_application*) MainApp();
TLocalisamfile& clifo = *app->get_relation()->lfile(LF_CLIFO) ;
TMask& msk = f.mask() ;
if (msk.query_mode() || !f.to_check(key)) return TRUE;
CG0200_application* app = (CG0200_application*) MainApp();
TLocalisamfile& clifo = *app->get_relation()->lfile(LF_CLIFO) ;
if ( f.get().not_empty() && !clifo.empty() )
{
clifo.zero() ;
const char t1 = msk.get(F_TIPOCF)[0];
clifo.put(CLI_TIPOCF, t1) ;
clifo.put(CLI_STATOPAIV, msk.get(F_STATOPAIV)) ;
clifo.put(CLI_PAIV, f.get()) ;
clifo.setkey(5) ;
clifo.read() ;
clifo.setkey(1) ;
const char t = clifo.get_char(CLI_TIPOCF);
const TFixed_string s = clifo.get(CLI_CODCF);
const TFixed_string s1(msk.get(F_CODCF));
if (clifo.good() && (t1 != t || s1 != s))
{
f.error_box("Partita iva gia' definita per il codice : %c/%s",
t, (const char*) s);
return FALSE ;
}
}
return TRUE ;
if ( f.get().not_empty() && !clifo.empty() )
{
clifo.zero() ;
const char t1 = msk.get(F_TIPOCF)[0];
clifo.put(CLI_TIPOCF, t1) ;
clifo.put(CLI_STATOPAIV, msk.get(F_STATOPAIV)) ;
clifo.put(CLI_PAIV, f.get()) ;
clifo.setkey(5) ;
clifo.read() ;
clifo.setkey(1) ;
const char t = clifo.get_char(CLI_TIPOCF);
const TFixed_string s = clifo.get(CLI_CODCF);
const TFixed_string s1(msk.get(F_CODCF));
if (clifo.good() && (t1 != t || s1 != s))
{
f.error_box("Partita iva gia' definita per il codice : %c/%s",
t, (const char*) s);
return FALSE ;
}
}
return TRUE ;
}
HIDDEN bool autoexit_handler(TMask_field& f, KEY key)
{
if (f.mask().query_mode())
{
if (key == K_TAB && f.focusdirty())
{
TArray parms;
parms.add((TString)format("%d", f.dlg()));
::validate(AUTOEXIT_FUNC, (TEdit_field&) f, key, parms);
}
}
else
if (f.to_check(key) && f.mask().get(F_ALLEG) != "4")
{
if (f.dlg() == F_COFI) return no_dup_fis(f, key);
else return no_dup_iva(f, key);
}
if (f.mask().query_mode())
{
if (key == K_TAB && f.focusdirty())
{
TArray parms;
parms.add((TString)format("%d", f.dlg()));
::validate(AUTOEXIT_FUNC, (TEdit_field&) f, key, parms);
}
}
else
if (f.to_check(key) && f.mask().get(F_ALLEG) != "4")
{
if (f.dlg() == F_COFI) return no_dup_fis(f, key);
else return no_dup_iva(f, key);
}
return TRUE;
}
HIDDEN bool lbcn = FALSE;
HIDDEN bool tipo_handler(TMask_field& f, KEY key)
{
TMask& m = f.mask();
@ -186,58 +211,58 @@ HIDDEN bool tipo_handler(TMask_field& f, KEY key)
}
HIDDEN bool percip_handler(TMask_field& f, KEY key)
{
TMask& m = f.mask();
if (f.to_check(key) && m.get(F_CODANAGPER).not_empty())
{
TLocalisamfile anag(LF_ANAG);
TString c(m.get(F_COFI)), p(m.get(F_PAIV));
if (f.to_check(key) && m.get(F_CODANAGPER).not_empty())
{
TLocalisamfile anag(LF_ANAG);
TString c(m.get(F_COFI)), p(m.get(F_PAIV));
if ((c.not_empty() && c != anag.get(ANA_COFI)) ||
(p.not_empty() && p != anag.get(ANA_PAIV))) return error_box("Percipiente non corretto");
TString r(anag.get(ANA_RAGSOC));
if (m.get(F_RAGSOC).empty() ||
(key == K_TAB && yesno_box("Ragione sociale differente correggo in %s", (const char*) r)))
m.set(F_RAGSOC, r, TRUE);
if (m.get(F_INDCF).empty()) m.set(F_INDCF, anag.get(ANA_INDRES));
if (m.get(F_CIVCF).empty()) m.set(F_CIVCF, anag.get(ANA_CIVRES));
if (m.get(F_CAPCF).empty()) m.set(F_CAPCF, anag.get(ANA_CAPRES));
if (m.get(F_COMCF).empty())
{
m.set(F_STATOCF, anag.get(ANA_STATORES), TRUE);
m.set(F_COMCF, anag.get(ANA_COMRES), TRUE);
}
if (c.empty()) m.set(F_COFI, anag.get(ANA_COFI));
if (p.empty()) m.set(F_PAIV, anag.get(ANA_PAIV));
if (m.get(F_TIPOAPER) == "F")
{
m.send_key(K_SHIFT + K_CTRL + (lbcn ? 's' : 'h'), -5);
if (lbcn)
{
TLocalisamfile fis(LF_ANAGFIS);
fis.zero();
fis.put(ANF_CODANAGR, anag.get(ANA_CODANAGR));
fis.read();
if (fis.good())
{
if (m.get(F_DATANASC).empty()) m.set(F_DATANASC, fis.get(ANF_DATANASC));
if (m.get(F_COMNASC).empty())
{
m.set(F_STATONASC, fis.get(ANF_STATONASC));
m.set(F_COMNASC, fis.get(ANF_COMNASC));
}
}
}
}
}
if ((c.not_empty() && c != anag.get(ANA_COFI)) ||
(p.not_empty() && p != anag.get(ANA_PAIV))) return error_box("Percipiente non corretto");
TString r(anag.get(ANA_RAGSOC));
if (m.get(F_RAGSOC).empty() ||
(key == K_TAB && yesno_box("Ragione sociale differente correggo in %s", (const char*) r)))
m.set(F_RAGSOC, r, TRUE);
if (m.get(F_INDCF).empty()) m.set(F_INDCF, anag.get(ANA_INDRES));
if (m.get(F_CIVCF).empty()) m.set(F_CIVCF, anag.get(ANA_CIVRES));
if (m.get(F_CAPCF).empty()) m.set(F_CAPCF, anag.get(ANA_CAPRES));
if (m.get(F_COMCF).empty())
{
m.set(F_STATOCF, anag.get(ANA_STATORES), TRUE);
m.set(F_COMCF, anag.get(ANA_COMRES), TRUE);
}
if (c.empty()) m.set(F_COFI, anag.get(ANA_COFI));
if (p.empty()) m.set(F_PAIV, anag.get(ANA_PAIV));
if (m.get(F_TIPOAPER) == "F")
{
m.send_key(K_SHIFT + K_CTRL + (lbcn ? 's' : 'h'), -5);
if (lbcn)
{
TLocalisamfile fis(LF_ANAGFIS);
fis.zero();
fis.put(ANF_CODANAGR, anag.get(ANA_CODANAGR));
fis.read();
if (fis.good())
{
if (m.get(F_DATANASC).empty()) m.set(F_DATANASC, fis.get(ANF_DATANASC));
if (m.get(F_COMNASC).empty())
{
m.set(F_STATONASC, fis.get(ANF_STATONASC));
m.set(F_COMNASC, fis.get(ANF_COMNASC));
}
}
}
}
}
return TRUE;
}
HIDDEN bool alleg_handler(TMask_field& f, KEY key)
{
@ -305,37 +330,195 @@ HIDDEN bool codalleg_handler(TMask_field& f, KEY key)
return TRUE;
}
void CG0200_application::init_insert_mode(TMask& m)
{
if (!gest_vend())
{
for (int j=3; j<8;j++)
m.disable_page(j);
for (int i=F_CODINDDOC; i<= F_SHEET_G_VEN; i++)
m.disable(i);
}
else
{
for (int j=3; j<8;j++)
m.enable_page(j);
for (int i=F_CODINDDOC; i<= F_SHEET_G_VEN; i++)
m.enable(i);
}
}
void CG0200_application::init_query_mode(TMask& m)
{
TConfig conf(CONFIG_DITTA, "cg");
lbcn = (conf.get("GsLbCn") == "X");
m.send_key(K_SHIFT + K_CTRL + (lbcn ? 's' : 'h'), -5);
TConfig conf(CONFIG_DITTA, "cg");
lbcn = (conf.get("GsLbCn") == "X");
m.send_key(K_SHIFT + K_CTRL + (lbcn ? 's' : 'h'), -5);
// Se non e' abilitata la gestione delle vendite disabilita le
// maschere dalla 4 in poi
if (!gest_vend())
{
for (int j=3; j<8;j++)
m.disable_page(j);
for (int i=F_CODINDDOC; i<= F_SHEET_G_VEN; i++)
m.disable(i);
}
else
{
for (int j=3; j<8;j++)
m.enable_page(j);
for (int i=F_CODINDDOC; i<= F_SHEET_G_VEN; i++)
m.enable(i);
}
}
int CG0200_application::read(TMask& m)
{
m.autoload(_rel);
indsp_sheet().reset();
TToken_string riga(240);
for (int i=0; i< _rel->indirizzi_items();i++)
{
TRectype& rec=_rel->indirizzo(i);
riga.cut(0);
riga.add(rec.get("CODIND"));
riga.add(rec.get("RAGSOC"));
riga.add(rec.get("INDIR"));
riga.add(rec.get("CIV"));
riga.add(rec.get("LOCALITA"));
riga.add(rec.get("CAP"));
riga.add(rec.get("STATO"));
riga.add(rec.get("COM"));
riga.add(rec.get("PTEL"));
riga.add(rec.get("TEL"));
riga.add(rec.get("PFAX"));
riga.add(rec.get("FAX"));
riga.add(rec.get("IVARID"));
indsp_sheet().row(i)=riga;
}
return _rel->status();
}
int CG0200_application::rewrite(const TMask& m)
{
common_f(m);
return _rel->rewrite(TRUE);
}
int CG0200_application::write(const TMask& m)
{
common_f(m);
return _rel->write(TRUE);
}
TSheet_field& CG0200_application::indsp_sheet() const
{
TSheet_field& o_sheet=(TSheet_field&) _msk->field(F_SHEET_G_VEN);
return o_sheet;
}
void CG0200_application::indsp_pack()
{
TArray& rows = indsp_sheet().rows_array();
int nr=rows.items();
for (int i=0; i<nr; i++)
{
TToken_string& riga=(TToken_string&)rows[i];
if (riga.empty_items())
rows.destroy(i,FALSE);
}
rows.pack();
}
void CG0200_application::common_f(const TMask& m)
{
char tipocf = m.get(F_TIPOCF)[0];
long codcf = m.get_long(F_CODCF);
_rel->lfile()->zero();
m.autosave(_rel);
_rel->destroy_rows();
indsp_pack();
TArray& rows=indsp_sheet().rows_array();
int n_items = rows.items();
for (int i=0; i<n_items;i++)
{
TToken_string& row=(TToken_string&)rows[i];
TRectype& rec=_rel->indirizzo(i);
rec.zero();
rec.put("TIPOCF",tipocf);
rec.put("CODCF",codcf);
rec.put("CODIND",row.get_long());
rec.put("RAGSOC",row.get());
rec.put("INDIR",row.get());
rec.put("CIV",row.get());
rec.put("LOCALITA",row.get());
rec.put("CAP",row.get());
rec.put("STATO",atoi(row.get()));
rec.put("COM",row.get());
rec.put("PTEL",row.get());
rec.put("TEL",row.get());
rec.put("PFAX",row.get());
rec.put("FAX",row.get());
rec.put("IVARID",row.get());
}
}
bool CG0200_application::indsp_notify(int r, KEY key)
{
TSheet_field& indsp=app().indsp_sheet();
switch (key)
{
case K_DEL:
// Request to delete the row #r
// I need an empty record; leave only TIPOCF CODCF & CODIND
// so it returns FALSE because I don't want it to remove this row
// see cg0200b.uml
return FALSE;
break;
case K_SPACE: //request to modify row #r
// I hope it's always something like K_SPACE (Request to modify)
// Disable field # 101 (CODIND) update # of row
TMask& m = indsp.sheet_mask();
if (m.get_int(101)==0) // Is it a new row ?
m.set(101,(long)indsp.items());
m.disable(101);
break;
case K_INS: // request to add the row #r
if (indsp.items() == 999)
{
error_box("Raggiunto il numero massimo degli indirizzi per questo C/F");
return FALSE; // Refuse Permission
}
break;
default:
break;
}
return TRUE;
}
bool CG0200_application::user_create() // initvar e arrmask
{
const bool ftaut = has_module(FTAUT);
const bool spaut = has_module(SPAUT);
const bool anyaut = spaut || ftaut;
const bool ftaut = has_module(FTAUT);
const bool spaut = has_module(SPAUT);
const bool anyaut = spaut || ftaut;
_rel = new TClifoVI;
_rel = new TRelation(LF_CLIFO);
_saldi = new TLocalisamfile(LF_SALDI);
_anag = new TLocalisamfile(LF_ANAG);
_fis = new TLocalisamfile(LF_ANAGFIS);
_anag = new TLocalisamfile(LF_ANAG);
_fis = new TLocalisamfile(LF_ANAGFIS);
_pcon = new TLocalisamfile(LF_PCON);
_comuni = new TLocalisamfile(LF_COMUNI);
_msk = new TMask("cg0200a") ;
_msk->enable(F_SCONTO,ftaut);
_msk->enable(F_CODVAL,ftaut);
_msk->enable(F_RAGGRB,ftaut);
_msk->enable(F_RAGGFT,ftaut);
_msk->enable(F_CODVETT1,ftaut);
_msk->enable(F_CODVETT2,ftaut);
_msk->enable(F_CODVETT3,ftaut);
_msk->enable(F_CODCFFATT,ftaut);
_msk->enable(F_DESTIN,ftaut);
_msk->enable(F_FIDO,spaut);
_msk->enable(F_CODABI, anyaut);
_msk->enable(F_CODBAN, anyaut);
@ -348,6 +531,11 @@ bool CG0200_application::user_create() // initvar e arrmask
_msk->set_handler(F_ALLEG, alleg_handler);
_msk->set_handler(F_CODALLEG, codalleg_handler);
_msk->set_handler(F_SHEET_G_VEN, indsp_handler);
TSheet_field& ind = (TSheet_field&) _msk->field(F_SHEET_G_VEN);
ind.set_notify(indsp_notify);
_saldi->setkey(2);
return TRUE;
}

View File

@ -1,15 +1,14 @@
#ifndef __CG0200_H
#define __CG0200_H
//#define PZ_COMUNI 0
//#define PZ_COMUNI 0
// posizione file comuni in _arrfiles
// posizione file comuni in _arrfiles
#define TCLI "C"
#define TFOR "F"
#define F_TIPOCF 101
#define F_CODCF 102
#define F_RAGSOC 103
@ -18,15 +17,15 @@
#define F_STATOCF 106
#define F_COMCF 107
#define F_CAPCF 108
#define F_COFI 109
#define F_COFI 109
#define F_STATOPAIV 110
#define F_PAIV 111
#define F_PAIV 111
#define F_TIPOPERS 112
#define F_ALLEG 113
#define F_GRUPPO 114
#define F_GRUPPO 114
#define F_CONTO 115
#define F_GRUPPORIC 116
#define F_CONTORIC 117
#define F_CONTORIC 117
#define F_SOTTOCRIC 118
#define F_TIPOAPER 119
#define F_CODANAGPER 120
@ -44,23 +43,86 @@
#define F_RAGSOC1 132
#define F_CODABI 133
#define F_CODBAN 134
#define F_SCONTO 135
#define F_CODVAL 136
#define F_RAGGRB 137
#define F_RAGGFT 138
#define F_FIDO 139
#define F_CODVETT1 140
#define F_CODVETT2 141
#define F_CODVETT3 142
#define F_CODCFFATT 143
#define F_DESTIN 144
#define F_LOCALITACF 144
#define F_CODAG 145
#define F_SOSPESO 146
#define F_CODALLEG 148
#define F_OCCASIONALE 149
#define F_DENCOMCF 150
#define F_DENCOMCF 150
#define F_PROVCF 152
#define DLG_RIC 200
#define DLG_CST 201
#endif // __CG0200_H
#define F_RICALT 151
#define F_PTEL2 153
#define F_TEL2 154
#define F_PTEL3 155
#define F_TEL3 156
#define F_CODLIN 157
#define F_TIPOCFVEN 158
#define F_CODCFVEN 159
#define F_CODINDDOC 160
#define F_CODNOTE 161
#define F_CODLEG 162
#define F_CODCATC 163
#define F_CODZONA 164
#define F_PROVV 165
#define F_LIQPAG 166
#define F_CODPRCF 167
#define F_CODINDSP 168
#define F_CODPORTO 169
#define F_RAGGDOC 170
#define F_NCOPIE 171
#define F_CODCFASS 172
#define F_ASSFIS 173
#define F_FATTSOSP 174
#define F_VSNRPROT 175
#define F_VSDATAREG 176
#define F_NSNRPROT 177
#define F_NSDATAREG 178
#define F_ADDBNS1500 179
#define F_CATFIN 180
#define F_CODABIPR 181
#define F_CODBANPR 182
#define F_CODINDEFF 183
#define F_EMEFFRICH 184
#define F_CODNOTESP1 185
#define F_CODNOTESP2 186
#define F_CODSPMEZZO 187
#define F_IMPMINEFF 188
#define F_NONACCEFF 189
#define F_NONSCADEFF 190
#define F_ADDBOLLIRB 191
#define F_ADDBOLLITR 192
#define F_ADDSPINC 193
#define F_IVARID 194
#define F_GESTCONTR 195
#define F_CATVEN 196
#define F_CODLIST 197
#define F_CODSCINC 198
#define F_SCONTOCL 199
#define F_CODMAG 200
#define F_CODSP1 201
#define F_CODSP2 202
#define F_CODSP3 203
#define F_CODSP4 204
#define F_PROFSOLL 205
#define F_MAXSOLL 206
#define F_DATAESC 207
#define F_DATASOLL 208
#define F_SCONTOR 209
#define F_TITOLO 210
#define F_RAGGOR 211
#define F_MINORD 212
#define F_MAXORD 213
#define F_PREVORD 214
#define F_TIPOEVORD 215
#define F_SHEET_G_VEN 216
#define F_CODVETT1 217
#define F_CODVETT2 218
#define F_CODVETT3 219
#define DLG_RIC 300
#define DLG_CST 301
#endif // __CG0200_H

138
cg/cg0200b.uml Executable file
View File

@ -0,0 +1,138 @@
#include "cg0200.h"
PAGE "" -1 -1 74 16
NUMBER 101 3
BEGIN
PROMPT 1 1 "Codice "
END
STRING 102 50
BEGIN
PROMPT 1 2 "Rag. soc. "
HELP "Inserire la ragione sociale"
GROUP 1
END
STRING 103 35
BEGIN
PROMPT 1 4 "Indirizzo "
HELP "Inserire l'indirizzo"
GROUP 1
END
STRING 104 10
BEGIN
PROMPT 54 4 "N. "
HELP "Inserire il numero civico"
GROUP 1
END
STRING 105 35
BEGIN
PROMPT 1 5 "Localita "
HELP "Inserire la localita"
GROUP 1
END
STRING 106 5
BEGIN
PROMPT 54 5 "CAP "
HELP "Inserire il Codice di Avviamento Postale"
GROUP 1
END
NUMBER 107 3
BEGIN
PROMPT 1 6 "Stato "
FLAGS "RZ"
USE %STA
INPUT CODTAB 107
DISPLAY "Codice" CODTAB
DISPLAY "Stato@50" S0
OUTPUT 107 CODTAB
CHECKTYPE NORMAL
WARNING "Stato assente"
HELP "Inserire il codice dello stato"
GROUP 1
END
STRING 108 4
BEGIN
PROMPT 54 6 "Comune "
FLAGS "U"
USE LF_COMUNI
INPUT STATO 107
INPUT COM 108
DISPLAY "Stato" STATO
DISPLAY "Codice" COM
DISPLAY "Comune@50" DENCOM
OUTPUT 107 STATO
OUTPUT 108 COM
OUTPUT 106 CAPCOM
CHECKTYPE NORMAL
WARNING "Comune assente"
ADD MASK ba4100a
HELP "Inserire il codice del comune"
GROUP 1
END
GROUPBOX DLG_NULL 72 4
BEGIN
PROMPT 1 8 "Numeri Telefonici"
END
STRING 109 10
BEGIN
PROMPT 2 9 "Telefono "
HELP "Inserire il prefisso ed il numero di telefono"
GROUP 1
END
STRING 110 30
BEGIN
PROMPT 40 9 ""
GROUP 1
END
STRING 111 10
BEGIN
PROMPT 2 10 "Fax "
HELP "Inserire il prefisso del numero di fax"
GROUP 1
END
STRING 112 30
BEGIN
PROMPT 40 10 ""
GROUP 1
END
BOOLEAN 113
BEGIN
PROMPT 2 13 "Riduzione IVA"
HELP "Flag per la riduzione IVA"
GROUP 1
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_NULL 9 2
BEGIN
PROMPT -33 -1 "Elimina"
MESSAGE RESET,1@
MESSAGE EXIT,K_ENTER
END
ENDPAGE
ENDMASK

147
cg/cg0201.cpp Executable file
View File

@ -0,0 +1,147 @@
#include "cg0201.h"
#include <lffiles.h>
extern bool gest_vend();
// Definizione dei metodi relativi alla classe TClifoVI
TClifoVI::TClifoVI():TRelation(LF_CLIFO), _oldindirizzi(0)
{
add(LF_CFVEN,"TIPOCF=TIPOCF|CODCF=CODCF");
add(LF_INDSP,"TIPOCF=TIPOCF|CODCF=CODCF");
}
void TClifoVI::destroy_rows()
{
_indirizzi.destroy();
}
TRectype& TClifoVI::indirizzo(int i)
{
TRectype *r=(TRectype*)_indirizzi.objptr(i);
if (r == NULL)
{
r = new TRectype(LF_INDSP);
_indirizzi.add(r,i);
}
return *r;
}
int TClifoVI::read_indirizzi()
{
const TLocalisamfile* rind = lfile(LF_INDSP);
// Put here gest_vend() discrimination
if (gest_vend())
{
position_rels();
destroy_rows();
for (bool ok=is_first_match(LF_INDSP); ok; ok=next_match(LF_INDSP))
{
const int nriga=rind->get_int("CODIND") -1;
indirizzo(nriga)=rind->curr();
}
}
_oldindirizzi=indirizzi_items();
return NOERR;
}
int TClifoVI::read(TIsamop op, TReclock lockop, TDate& atdate)
{
int err=file()->read(op,lockop,atdate);
if (err==NOERR) read_indirizzi();
return err;
}
int TClifoVI::write_rec(bool re, const TRectype& rec, TLocalisamfile* f)
{
if (re)
{
const bool scrivi= (f->rewrite(rec)!=NOERR);
if (scrivi) f->write(rec);
} else
f->write(rec);
return f->status();
}
int TClifoVI::cancella(TLocalisamfile* f, int da, int a)
{
const char tipocf=lfile()->get("TIPOCF")[0];
const long codcf=lfile()->get_long("CODCF");
for (int i=da; i<=a;i++)
{
f->zero();
f->put("TIPOCF",tipocf);
f->put("CODCF",codcf);
f->put("CODIND",i);
if (f->read(_isequal,_lock)==NOERR)
f->remove();
}
return f->status();
}
int TClifoVI::registra(bool re, bool force)
{
TLocalisamfile* c=lfile(LF_CLIFO);
int err=write_rec(re,c->curr(),c);
if (err!=NOERR) return err;
// Put here gest_vend() discrimination
if (gest_vend())
{
TLocalisamfile* v=lfile(LF_CFVEN);
err=write_rec(TRUE,v->curr(),v);
if (err!=NOERR) return err;
TLocalisamfile* rind=lfile(LF_INDSP);
const char tipocf=c->get("TIPOCF")[0];
const long codcf=c->get_long("CODCF");
for (int i=0; i<indirizzi_items(); i++)
{
if (!re)
{
indirizzo(i).put("TIPOCF",tipocf);
indirizzo(i).put("CODCF",codcf);
}
err=write_rec(TRUE,indirizzo(i),rind);
}
if (i<_oldindirizzi)
cancella(rind,i+1,_oldindirizzi);
_oldindirizzi=indirizzi_items();
}
// END of gest_vend() discrimination
return err;
}
int TClifoVI::write(bool force, TDate&)
{
_oldindirizzi=0;
return registra(FALSE,force);
}
int TClifoVI::rewrite(bool force, TDate&)
{
return registra(TRUE,force);
}
int TClifoVI::remove(TDate&)
{
TLocalisamfile* c=lfile(LF_CLIFO);
TLocalisamfile* v=lfile(LF_CFVEN);
TLocalisamfile* rind=lfile(LF_INDSP);
c->remove();
// Put here gest_vend() discrimination
if (gest_vend())
{
cancella(rind,1,_oldindirizzi);
v->remove();
}
_oldindirizzi=0;
return c->status();
}

35
cg/cg0201.h Executable file
View File

@ -0,0 +1,35 @@
#ifndef __RELATION_H
#include <relation.h>
#endif
class TClifoVI:public TRelation
{
// @DPRIV
TArray _indirizzi;
int _oldindirizzi;
// @END
protected:
// @FPROT
int write_rec(bool re, const TRectype& r, TLocalisamfile* f);
int cancella(TLocalisamfile* f, int da, int a);
int registra(bool re, bool force);
int read_indirizzi();
// @END
public:
virtual int next(TReclock lockop=_nolock) {return (lfile()->next(lockop) || read_indirizzi());}
virtual int prev(TReclock lockop=_nolock) {return (lfile()->prev(lockop) || read_indirizzi());}
virtual int first(TReclock lockop=_nolock) {return (lfile()->first(lockop) || read_indirizzi());}
virtual int last(TReclock lockop=_nolock) {return (lfile()->last(lockop) || read_indirizzi());}
virtual int skip(TReclock lockop=_nolock) {return (lfile()->skip(lockop) || read_indirizzi());}
virtual int read(TIsamop = _isgteq, TReclock lockop = _nolock, TDate& atdate = (TDate&) botime);
virtual int write(bool force=TRUE, TDate& atdate = (TDate&) botime);
virtual int rewrite(bool force=TRUE, TDate& atdate = (TDate&) botime);
virtual int remove(TDate& atdate = (TDate&) botime);
TRectype& indirizzo(int i);
int indirizzi_items() const {return _indirizzi.items();}
void destroy_rows();
TClifoVI();
virtual ~TClifoVI() {}
};

View File

@ -40,3 +40,5 @@
#define CHK_RRMECO 139
#define FLD_RRCCRA 140
#define FLD_RRCCRI 141
#define CHK_GESVEN 142

View File

@ -1,492 +1,498 @@
#include "cg5100a.h"
/* toolbar */
TOOLBAR "" 0 20 0 2
BUTTON DLG_OK 8 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 8 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
/* page1 */
PAGE "Impostazione parametri ditta" -1 -1 77 8
NUMBER FLD_ANLIIV 4
BEGIN
PROMPT 2 1 "@bANNO LIQUIDAZIONE IVA "
FLAGS "A"
FIELD AnLiIv
END
BOOLEAN CHK_ANCFCM
BEGIN
PROMPT 4 4 "Anagrafica clienti / anagrafica fornitori"
FLAGS "D"
FIELD AnCfCm
END
BOOLEAN CHK_PCTCCM
BEGIN
PROMPT 4 5 "Piano conti / tabella causali"
FLAGS "D"
FIELD PcTcCm
END
GROUPBOX DLG_NULL 53 4
BEGIN
PROMPT 2 3 "Archivi in comune"
END
RADIOBUTTON LST_RIFPAR 20
BEGIN
PROMPT 55 3 "Riferimenti partite "
ITEM " |N. protocollo"
ITEM "X|N. documento"
HELP ""
FIELD RifPar
END
GROUPBOX DLG_NULL 76 9
BEGIN
PROMPT 2 7 ""
END
BOOLEAN CHK_GSLBCN
BEGIN
PROMPT 4 8 "Gestione libro cronologico "
HELP ""
FIELD GsLbCn
END
BOOLEAN CHK_STTFFR
BEGIN
PROMPT 4 9 "Stampa totali fatture a fine registro "
HELP ""
FIELD StTfFr
END
BOOLEAN CHK_STLGIU
BEGIN
PROMPT 4 10 "Stampa libro giornale e libro IVA unico "
HELP ""
FIELD StLgiU
END
BOOLEAN CHK_GESSAL
BEGIN
PROMPT 4 11 "Gestione saldaconto "
HELP ""
FIELD GesSal
END
BOOLEAN CHK_NRCFDX
BEGIN
PROMPT 4 12 "N. Rif. allineato a destra per clienti/fornitori "
HELP ""
MESSAGE TRUE ENABLE,FLD_CMSGPC
MESSAGE FALSE DISABLE,FLD_CMSGPC
FIELD NrCfDx
END
NUMBER FLD_CMSGPC 1
BEGIN
PROMPT 56 12 " / "
HELP ""
FIELD CmSgPc
END
BOOLEAN CHK_GESVAL
BEGIN
PROMPT 4 13 "Gestione Valuta"
HELP ""
FIELD GesVal
END
BOOLEAN CHK_GELIDI
BEGIN
PROMPT 4 14 "Gestione liquidazione differita"
HELP ""
FIELD GeLiDi
END
ENDPAGE
PAGE "Impostazione parametri ditta" -1 -1 77 8
GROUPBOX DLG_NULL 55 12
BEGIN
PROMPT 2 5 "Codici sottoconto"
END
GROUPBOX DLG_NULL 20 12
BEGIN
PROMPT 57 5 "Ratei/Riscontri"
END
NUMBER FLD_CODLIC 5
BEGIN
PROMPT 1 2 "Codice libro incassi/pagamenti "
HELP ""
USE ITL
INPUT CODTAB FLD_CODLIC
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT FLD_CODLIC CODTAB
CHECKTYPE NORMAL
FIELD CodLic
END
NUMBER FLD_CODLIN 5
BEGIN
PROMPT 42 2 "Codice lingua "
HELP ""
USE %LIN
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione " S0
OUTPUT FLD_CODLIN CODTAB
INPUT CODTAB FLD_CODLIN
FIELD CodLin
END
STRING FLD_COCACH 3
BEGIN
PROMPT 1 3 "Codice causale chiusura "
HELP ""
USE LF_CAUSALI SELECT TIPODOC=""
INPUT CODCAUS FLD_COCACH
DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR
OUTPUT FLD_COCACH CODCAUS
CHECKTYPE NORMAL
FIELD CoCaCh
END
STRING FLD_COCAAP 3
BEGIN
PROMPT 42 3 "Codice causale apertura "
HELP ""
COPY USE FLD_COCACH
INPUT CODCAUS FLD_COCAAP
COPY DISPLAY FLD_COCACH
OUTPUT FLD_COCAAP CODCAUS
CHECKTYPE NORMAL
FIELD CoCaAp
END
NUMBER FLD_CRIVAP 15
BEGIN
PROMPT 1 -2 "Credito IVA anno precedente "
PICTURE "."
HELP ""
FIELD CrIvAp
END
TEXT DLG_NULL
BEGIN
PROMPT 32 6 "Gruppo Conto Sottoconto"
END
TEXT DLG_NULL
BEGIN
PROMPT 31 7 "------------------------"
END
NUMBER FLD_CSBICHG 3
BEGIN
PROMPT 3 8 "Bilancio di chiusura "
HELP ""
USE LF_PCON SELECT CONTO==""
INPUT GRUPPO FLD_CSBICHG
INPUT CONTO FLD_CSBICHC
INPUT CONTO FLD_CSBICHS
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR
OUTPUT FLD_CSBICHG GRUPPO
OUTPUT FLD_CSBICHC CONTO
OUTPUT FLD_CSBICHS SOTTOCONTO
CHECKTYPE NORMAL
FIELD CsBiChG
END
NUMBER FLD_CSBICHC 3
BEGIN
PROMPT 39 8 ""
COPY ALL FLD_CSBICHG
CHCKTYPE NORMAL
FIELD CsBiChC
END
NUMBER FLD_CSBICHS 6
BEGIN
PROMPT 46 8 ""
COPY ALL FLD_CSBICHC
CHECKTYPE NORMAL
FIELD CsBiChS
END
NUMBER FLD_CSPRPEG 3
BEGIN
PROMPT 3 9 "Profitti e perdite "
HELP ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSPRPEG GRUPPO
OUTPUT FLD_CSPRPEC CONTO
OUTPUT FLD_CSPRPES SOTTOCONTO
INPUT GRUPPO FLD_CSPRPEG
INPUT CONTO FLD_CSPRPEC
INPUT SOTTOCONTO FLD_CSPRPES
FIELD CsPrPeG
END
NUMBER FLD_CSPRPEC 3
BEGIN
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPRPEG
COPY INPUT FLD_CSPRPEG
FIELD CsPrPeC
PROMPT 39 9 ""
END
NUMBER FLD_CSPRPES 6
BEGIN
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPRPEG
COPY INPUT FLD_CSPRPEG
FIELD CsPrPeS
PROMPT 46 9 ""
END
NUMBER FLD_CSBIAPG 3
BEGIN
PROMPT 3 10 "Bilancio di apertura "
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSBIAPG GRUPPO
OUTPUT FLD_CSBIAPC CONTO
OUTPUT FLD_CSBIAPS SOTTOCONTO
INPUT GRUPPO FLD_CSBIAPG
INPUT CONTO FLD_CSBIAPC
INPUT SOTTOCONTO FLD_CSBIAPS
HELP ""
FIELD CsBiApG
END
NUMBER FLD_CSBIAPC 3
BEGIN
PROMPT 39 10 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSBIAPG
COPY INPUT FLD_CSBIAPG
FIELD CsBiApC
END
NUMBER FLD_CSBIAPS 6
BEGIN
PROMPT 46 10 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSBIAPG
COPY INPUT FLD_CSBIAPG
FIELD CsBiApS
END
NUMBER FLD_CSUECPG 3
BEGIN
PROMPT 3 11 "Utile esercizio c/to patrim. "
HELP ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSUECPG GRUPPO
OUTPUT FLD_CSUECPC CONTO
OUTPUT FLD_CSUECPS SOTTOCONTO
INPUT GRUPPO FLD_CSUECPG
INPUT CONTO FLD_CSUECPC
INPUT SOTTOCONTO FLD_CSUECPS
FIELD CsUeCpG
END
NUMBER FLD_CSUECPC 3
BEGIN
PROMPT 39 11 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSUECPG
COPY INPUT FLD_CSUECPG
FIELD CsUeCpC
END
NUMBER FLD_CSUECPS 6
BEGIN
PROMPT 46 11 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSUECPG
COPY INPUT FLD_CSUECPG
FIELD CsUeCpS
END
NUMBER FLD_CSPECPG 3
BEGIN
PROMPT 3 12 "Perdita eserc. c/to patrim. "
HELP ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSPECPG GRUPPO
OUTPUT FLD_CSPECPC CONTO
OUTPUT FLD_CSPECPS SOTTOCONTO
INPUT GRUPPO FLD_CSPECPG
INPUT CONTO FLD_CSPECPC
INPUT SOTTOCONTO FLD_CSPECPS
FIELD CsPeCpG
END
NUMBER FLD_CSPECPC 3
BEGIN
PROMPT 39 12 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPECPG
COPY INPUT FLD_CSPECPG
FIELD CsPeCpC
END
NUMBER FLD_CSPECPS 6
BEGIN
PROMPT 46 12 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPECPG
COPY INPUT FLD_CSPECPG
FIELD CsPeCpS
END
NUMBER FLD_CSUECEG 3
BEGIN
PROMPT 3 13 "Utile esercizio c/to econ. "
HELP ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSUECEG GRUPPO
OUTPUT FLD_CSUECEC CONTO
OUTPUT FLD_CSUECES SOTTOCONTO
INPUT GRUPPO FLD_CSUECEG
INPUT CONTO FLD_CSUECEC
INPUT SOTTOCONTO FLD_CSUECES
FIELD CsUeCeG
END
NUMBER FLD_CSUECEC 3
BEGIN
PROMPT 39 13 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSUECEG
COPY INPUT FLD_CSUECEG
FIELD CsUeCeC
END
NUMBER FLD_CSUECES 6
BEGIN
PROMPT 46 13 ""
COPY USE FLD_CSBICHG
COPY OUTPUT FLD_CSUECEG
COPY INPUT FLD_CSUECEG
COPY DISPLAY FLD_CSBICHG
FIELD CsUeCeS
END
NUMBER FLD_CSPECEG 3
BEGIN
PROMPT 3 14 "Perdita eserc. c/to econ. "
HELP ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSPECEG GRUPPO
OUTPUT FLD_CSPECEC CONTO
OUTPUT FLD_CSPECES SOTTOCONTO
INPUT GRUPPO FLD_CSPECEG
INPUT CONTO FLD_CSPECEC
INPUT SOTTOCONTO FLD_CSPECES
FIELD CsPeCeG
END
NUMBER FLD_CSPECEC 3
BEGIN
PROMPT 39 14 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPECEG
COPY INPUT FLD_CSPECEG
FIELD CsPeCeC
END
NUMBER FLD_CSPECES 6
BEGIN
PROMPT 46 14 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPECEG
COPY INPUT FLD_CSPECEG
FIELD CsPeCeS
END
RADIOBUTTON LST_RRFRAM 15
BEGIN
PROMPT 57 6 ""
ITEM "A|Freq. Annuale"
ITEM "M|Freq. Mensile"
HELP ""
FIELD RrFrAm
END
BOOLEAN CHK_RRMECO
BEGIN
PROMPT 58 15 "Mese Commerc."
HELP ""
FIELD RrMeCo
END
TEXT DLG_NULL
BEGIN
PROMPT 58 10 "Causale ratei"
END
TEXT DLG_NULL
BEGIN
PROMPT 58 12 "Causale riscontri"
END
NUMBER FLD_RRCCRA 5
BEGIN
PROMPT 64 11 ""
HELP ""
COPY USE FLD_COCACH
COPY DISPLAY FLD_COCACH
OUTPUT FLD_RRCCRA CODCAUS
INPUT CODCAUS FLD_RRCCRA
FIELD RrCcRa
END
NUMBER FLD_RRCCRI 5
BEGIN
PROMPT 64 13 ""
HELP ""
COPY USE FLD_COCACH
COPY DISPLAY FLD_COCACH
OUTPUT FLD_RRCCRI CODCAUS
INPUT CODCAUS FLD_RRCCRI
FIELD RrCcRi
END
ENDPAGE
ENDMASK
#include "cg5100a.h"
/* toolbar */
TOOLBAR "" 0 20 0 2
BUTTON DLG_OK 8 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 8 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
/* page1 */
PAGE "Impostazione parametri ditta" -1 -1 77 8
NUMBER FLD_ANLIIV 4
BEGIN
PROMPT 2 1 "@bANNO LIQUIDAZIONE IVA "
FLAGS "A"
FIELD AnLiIv
END
BOOLEAN CHK_ANCFCM
BEGIN
PROMPT 4 4 "Anagrafica clienti / anagrafica fornitori"
FLAGS "D"
FIELD AnCfCm
END
BOOLEAN CHK_PCTCCM
BEGIN
PROMPT 4 5 "Piano conti / tabella causali"
FLAGS "D"
FIELD PcTcCm
END
GROUPBOX DLG_NULL 53 4
BEGIN
PROMPT 2 3 "Archivi in comune"
END
RADIOBUTTON LST_RIFPAR 20
BEGIN
PROMPT 55 3 "Riferimenti partite "
ITEM " |N. protocollo"
ITEM "X|N. documento"
HELP ""
FIELD RifPar
END
GROUPBOX DLG_NULL 76 10
BEGIN
PROMPT 2 7 ""
END
BOOLEAN CHK_GSLBCN
BEGIN
PROMPT 4 8 "Gestione libro cronologico "
HELP ""
FIELD GsLbCn
END
BOOLEAN CHK_STTFFR
BEGIN
PROMPT 4 9 "Stampa totali fatture a fine registro "
HELP ""
FIELD StTfFr
END
BOOLEAN CHK_STLGIU
BEGIN
PROMPT 4 10 "Stampa libro giornale e libro IVA unico "
HELP ""
FIELD StLgiU
END
BOOLEAN CHK_GESSAL
BEGIN
PROMPT 4 11 "Gestione saldaconto "
HELP ""
FIELD GesSal
END
BOOLEAN CHK_NRCFDX
BEGIN
PROMPT 4 12 "N. Rif. allineato a destra per clienti/fornitori "
HELP ""
MESSAGE TRUE ENABLE,FLD_CMSGPC
MESSAGE FALSE DISABLE,FLD_CMSGPC
FIELD NrCfDx
END
NUMBER FLD_CMSGPC 1
BEGIN
PROMPT 56 12 " / "
HELP ""
FIELD CmSgPc
END
BOOLEAN CHK_GESVAL
BEGIN
PROMPT 4 13 "Gestione Valuta"
HELP ""
FIELD GesVal
END
BOOLEAN CHK_GELIDI
BEGIN
PROMPT 4 14 "Gestione liquidazione differita"
HELP ""
FIELD GeLiDi
END
BOOLEAN CHK_GESVEN
BEGIN
PROMPT 4 15 "Gestione vendite"
HELP ""
FIELD GesVen
END
ENDPAGE
PAGE "Impostazione parametri ditta" -1 -1 77 8
GROUPBOX DLG_NULL 55 12
BEGIN
PROMPT 2 5 "Codici sottoconto"
END
GROUPBOX DLG_NULL 20 12
BEGIN
PROMPT 57 5 "Ratei/Riscontri"
END
NUMBER FLD_CODLIC 5
BEGIN
PROMPT 1 2 "Codice libro incassi/pagamenti "
HELP ""
USE ITL
INPUT CODTAB FLD_CODLIC
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT FLD_CODLIC CODTAB
CHECKTYPE NORMAL
FIELD CodLic
END
NUMBER FLD_CODLIN 5
BEGIN
PROMPT 42 2 "Codice lingua "
HELP ""
USE %LIN
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione " S0
OUTPUT FLD_CODLIN CODTAB
INPUT CODTAB FLD_CODLIN
FIELD CodLin
END
STRING FLD_COCACH 3
BEGIN
PROMPT 1 3 "Codice causale chiusura "
HELP ""
USE LF_CAUSALI SELECT TIPODOC=""
INPUT CODCAUS FLD_COCACH
DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR
OUTPUT FLD_COCACH CODCAUS
CHECKTYPE NORMAL
FIELD CoCaCh
END
STRING FLD_COCAAP 3
BEGIN
PROMPT 42 3 "Codice causale apertura "
HELP ""
COPY USE FLD_COCACH
INPUT CODCAUS FLD_COCAAP
COPY DISPLAY FLD_COCACH
OUTPUT FLD_COCAAP CODCAUS
CHECKTYPE NORMAL
FIELD CoCaAp
END
NUMBER FLD_CRIVAP 15
BEGIN
PROMPT 1 -2 "Credito IVA anno precedente "
PICTURE "."
HELP ""
FIELD CrIvAp
END
TEXT DLG_NULL
BEGIN
PROMPT 32 6 "Gruppo Conto Sottoconto"
END
TEXT DLG_NULL
BEGIN
PROMPT 31 7 "------------------------"
END
NUMBER FLD_CSBICHG 3
BEGIN
PROMPT 3 8 "Bilancio di chiusura "
HELP ""
USE LF_PCON SELECT CONTO==""
INPUT GRUPPO FLD_CSBICHG
INPUT CONTO FLD_CSBICHC
INPUT CONTO FLD_CSBICHS
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR
OUTPUT FLD_CSBICHG GRUPPO
OUTPUT FLD_CSBICHC CONTO
OUTPUT FLD_CSBICHS SOTTOCONTO
CHECKTYPE NORMAL
FIELD CsBiChG
END
NUMBER FLD_CSBICHC 3
BEGIN
PROMPT 39 8 ""
COPY ALL FLD_CSBICHG
CHCKTYPE NORMAL
FIELD CsBiChC
END
NUMBER FLD_CSBICHS 6
BEGIN
PROMPT 46 8 ""
COPY ALL FLD_CSBICHC
CHECKTYPE NORMAL
FIELD CsBiChS
END
NUMBER FLD_CSPRPEG 3
BEGIN
PROMPT 3 9 "Profitti e perdite "
HELP ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSPRPEG GRUPPO
OUTPUT FLD_CSPRPEC CONTO
OUTPUT FLD_CSPRPES SOTTOCONTO
INPUT GRUPPO FLD_CSPRPEG
INPUT CONTO FLD_CSPRPEC
INPUT SOTTOCONTO FLD_CSPRPES
FIELD CsPrPeG
END
NUMBER FLD_CSPRPEC 3
BEGIN
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPRPEG
COPY INPUT FLD_CSPRPEG
FIELD CsPrPeC
PROMPT 39 9 ""
END
NUMBER FLD_CSPRPES 6
BEGIN
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPRPEG
COPY INPUT FLD_CSPRPEG
FIELD CsPrPeS
PROMPT 46 9 ""
END
NUMBER FLD_CSBIAPG 3
BEGIN
PROMPT 3 10 "Bilancio di apertura "
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSBIAPG GRUPPO
OUTPUT FLD_CSBIAPC CONTO
OUTPUT FLD_CSBIAPS SOTTOCONTO
INPUT GRUPPO FLD_CSBIAPG
INPUT CONTO FLD_CSBIAPC
INPUT SOTTOCONTO FLD_CSBIAPS
HELP ""
FIELD CsBiApG
END
NUMBER FLD_CSBIAPC 3
BEGIN
PROMPT 39 10 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSBIAPG
COPY INPUT FLD_CSBIAPG
FIELD CsBiApC
END
NUMBER FLD_CSBIAPS 6
BEGIN
PROMPT 46 10 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSBIAPG
COPY INPUT FLD_CSBIAPG
FIELD CsBiApS
END
NUMBER FLD_CSUECPG 3
BEGIN
PROMPT 3 11 "Utile esercizio c/to patrim. "
HELP ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSUECPG GRUPPO
OUTPUT FLD_CSUECPC CONTO
OUTPUT FLD_CSUECPS SOTTOCONTO
INPUT GRUPPO FLD_CSUECPG
INPUT CONTO FLD_CSUECPC
INPUT SOTTOCONTO FLD_CSUECPS
FIELD CsUeCpG
END
NUMBER FLD_CSUECPC 3
BEGIN
PROMPT 39 11 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSUECPG
COPY INPUT FLD_CSUECPG
FIELD CsUeCpC
END
NUMBER FLD_CSUECPS 6
BEGIN
PROMPT 46 11 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSUECPG
COPY INPUT FLD_CSUECPG
FIELD CsUeCpS
END
NUMBER FLD_CSPECPG 3
BEGIN
PROMPT 3 12 "Perdita eserc. c/to patrim. "
HELP ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSPECPG GRUPPO
OUTPUT FLD_CSPECPC CONTO
OUTPUT FLD_CSPECPS SOTTOCONTO
INPUT GRUPPO FLD_CSPECPG
INPUT CONTO FLD_CSPECPC
INPUT SOTTOCONTO FLD_CSPECPS
FIELD CsPeCpG
END
NUMBER FLD_CSPECPC 3
BEGIN
PROMPT 39 12 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPECPG
COPY INPUT FLD_CSPECPG
FIELD CsPeCpC
END
NUMBER FLD_CSPECPS 6
BEGIN
PROMPT 46 12 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPECPG
COPY INPUT FLD_CSPECPG
FIELD CsPeCpS
END
NUMBER FLD_CSUECEG 3
BEGIN
PROMPT 3 13 "Utile esercizio c/to econ. "
HELP ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSUECEG GRUPPO
OUTPUT FLD_CSUECEC CONTO
OUTPUT FLD_CSUECES SOTTOCONTO
INPUT GRUPPO FLD_CSUECEG
INPUT CONTO FLD_CSUECEC
INPUT SOTTOCONTO FLD_CSUECES
FIELD CsUeCeG
END
NUMBER FLD_CSUECEC 3
BEGIN
PROMPT 39 13 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSUECEG
COPY INPUT FLD_CSUECEG
FIELD CsUeCeC
END
NUMBER FLD_CSUECES 6
BEGIN
PROMPT 46 13 ""
COPY USE FLD_CSBICHG
COPY OUTPUT FLD_CSUECEG
COPY INPUT FLD_CSUECEG
COPY DISPLAY FLD_CSBICHG
FIELD CsUeCeS
END
NUMBER FLD_CSPECEG 3
BEGIN
PROMPT 3 14 "Perdita eserc. c/to econ. "
HELP ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
OUTPUT FLD_CSPECEG GRUPPO
OUTPUT FLD_CSPECEC CONTO
OUTPUT FLD_CSPECES SOTTOCONTO
INPUT GRUPPO FLD_CSPECEG
INPUT CONTO FLD_CSPECEC
INPUT SOTTOCONTO FLD_CSPECES
FIELD CsPeCeG
END
NUMBER FLD_CSPECEC 3
BEGIN
PROMPT 39 14 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPECEG
COPY INPUT FLD_CSPECEG
FIELD CsPeCeC
END
NUMBER FLD_CSPECES 6
BEGIN
PROMPT 46 14 ""
COPY USE FLD_CSBICHG
COPY DISPLAY FLD_CSBICHG
COPY OUTPUT FLD_CSPECEG
COPY INPUT FLD_CSPECEG
FIELD CsPeCeS
END
RADIOBUTTON LST_RRFRAM 15
BEGIN
PROMPT 57 6 ""
ITEM "A|Freq. Annuale"
ITEM "M|Freq. Mensile"
HELP ""
FIELD RrFrAm
END
BOOLEAN CHK_RRMECO
BEGIN
PROMPT 58 15 "Mese Commerc."
HELP ""
FIELD RrMeCo
END
TEXT DLG_NULL
BEGIN
PROMPT 58 10 "Causale ratei"
END
TEXT DLG_NULL
BEGIN
PROMPT 58 12 "Causale riscontri"
END
NUMBER FLD_RRCCRA 5
BEGIN
PROMPT 64 11 ""
HELP ""
COPY USE FLD_COCACH
COPY DISPLAY FLD_COCACH
OUTPUT FLD_RRCCRA CODCAUS
INPUT CODCAUS FLD_RRCCRA
FIELD RrCcRa
END
NUMBER FLD_RRCCRI 5
BEGIN
PROMPT 64 13 ""
HELP ""
COPY USE FLD_COCACH
COPY DISPLAY FLD_COCACH
OUTPUT FLD_RRCCRI CODCAUS
INPUT CODCAUS FLD_RRCCRI
FIELD RrCcRi
END
ENDPAGE
ENDMASK

View File

@ -32,7 +32,9 @@ $(O)/cg0.o: cg0.cpp $(I10) $(I24) $(I32)
$(O)/cg0100.o: cg0100.cpp $(I15) $(I31) $(I53) cg0100.h cg0.h $(IP)pconti.h
$(O)/cg0200.o: cg0200.cpp $(I8) $(I15) $(I31) $(I53) $(I31) $(I43) $(I46) $(I56) cg0200.h cg0.h
$(O)/cg0200.o: cg0200.cpp $(I8) $(I15) $(I31) $(I53) $(I31) $(I43) $(I46) $(I56) cg0200.h cg0.h cg0201.h
$(O)/cg0201.o: cg0201.cpp $(I8) $(I15) $(I31) $(I53) $(I31) $(I43) $(I46) $(I56) cg0201.h
$(O)/cg0300.o: cg0300.cpp $(I15) $(I31) $(I53) cg0300.h cg0.h
@ -41,8 +43,8 @@ $(O)/cg0400.o: cg0400.cpp $(I6) $(I10) $(I24) $(I27) $(I33) $(I43) cg0400.h cg
$(O)/cg0500.o: cg0500.cpp $(I6) $(I10) $(I24) $(I27) $(I33) $(I43) cg0500.h
$(O)/cg0501.o: cg0501.cpp $(I6) $(I10) $(I24) $(I27) $(I33) $(I43) cg0500.h cg0501.h
$(EP)cg0: $(O)/cg0.o $(O)/cg0100.o $(O)/cg0200.o $(O)/cg0300.o $(O)/cg0400.o $(O)/cg0500.o $(O)/cg0501.o $(O)/conto.o $(LIBD1) $(EP)cg0.frl
$(LINK) $(LFLAGSD1) $@ $(O)/cg0.o $(O)/cg0100.o $(O)/cg0200.o $(O)/cg0300.o $(O)/cg0400.o $(O)/cg0500.o $(O)/cg0501.o $(O)/conto.o
$(EP)cg0: $(O)/cg0.o $(O)/cg0100.o $(O)/cg0200.o $(O)/cg0201.o $(O)/cg0300.o $(O)/cg0400.o $(O)/cg0500.o $(O)/cg0501.o $(O)/conto.o $(LIBD1) $(EP)cg0.frl
$(LINK) $(LFLAGSD1) $@ $(O)/cg0.o $(O)/cg0100.o $(O)/cg0200.o $(O)/cg0201.o $(O)/cg0300.o $(O)/cg0400.o $(O)/cg0500.o $(O)/cg0501.o $(O)/conto.o
$(EP)cg0.frl: cg0.url $(U1)
$(RCOMP) cg0 -l $(EP)cg0

View File

@ -74,5 +74,7 @@ RrMeCo = X
RrCcRa =
# Codice causale riscontri
RrCcRi =
# Gestione Vendite
GesVen =
[EOF]