Implementata la gestione vendite anche in stampa clienti/fornitori.
git-svn-id: svn://10.65.10.50/trunk@265 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0178369ee6
commit
db3e624c9f
@ -11,6 +11,8 @@
|
||||
#include <clifo.h>
|
||||
#include <anagr.h>
|
||||
#include <anafis.h>
|
||||
#include <cfven.h>
|
||||
#include <indsp.h>
|
||||
|
||||
#include "cg0.h"
|
||||
#include "cg0200.h"
|
||||
@ -396,28 +398,28 @@ int CG0200_application::read(TMask& m)
|
||||
{
|
||||
TRectype& rec=_rel->indirizzo(i);
|
||||
riga.cut(0);
|
||||
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"));
|
||||
riga.add(rec.get("CODIND"));
|
||||
riga.add(rec.get(IND_RAGSOC));
|
||||
riga.add(rec.get(IND_INDIR));
|
||||
riga.add(rec.get(IND_CIV));
|
||||
riga.add(rec.get(IND_LOCALITA));
|
||||
riga.add(rec.get(IND_CAP));
|
||||
riga.add(rec.get(IND_STATO));
|
||||
riga.add(rec.get(IND_COM));
|
||||
riga.add(rec.get(IND_PTEL));
|
||||
riga.add(rec.get(IND_TEL));
|
||||
riga.add(rec.get(IND_PFAX));
|
||||
riga.add(rec.get(IND_FAX));
|
||||
riga.add(rec.get(IND_IVARID));
|
||||
riga.add(rec.get(IND_CODIND));
|
||||
indsp_sheet().row(i)=riga;
|
||||
|
||||
// Load the sheets of CODINDDOC, CODINDSP, CODINDEFF.
|
||||
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(IND_CODIND));
|
||||
riga.add(rec.get(IND_RAGSOC));
|
||||
riga.add(rec.get(IND_INDIR));
|
||||
riga.add(rec.get(IND_CIV));
|
||||
riga.add(rec.get(IND_LOCALITA));
|
||||
field_sheet(F_CODINDDOC)->add(riga);
|
||||
field_sheet(F_CODINDSP)->add(riga);
|
||||
field_sheet(F_CODINDEFF)->add(riga);
|
||||
@ -492,21 +494,21 @@ void CG0200_application::common_f(const TMask& m)
|
||||
TRectype& rec=_rel->indirizzo(i);
|
||||
row.restart();
|
||||
rec.zero();
|
||||
rec.put("TIPOCF",tipocf);
|
||||
rec.put("CODCF",codcf);
|
||||
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",row.get_int());
|
||||
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());
|
||||
rec.put("CODIND",i+1);
|
||||
rec.put(IND_TIPOCF,tipocf);
|
||||
rec.put(IND_CODCF,codcf);
|
||||
rec.put(IND_RAGSOC,row.get());
|
||||
rec.put(IND_INDIR,row.get());
|
||||
rec.put(IND_CIV,row.get());
|
||||
rec.put(IND_LOCALITA,row.get());
|
||||
rec.put(IND_CAP,row.get());
|
||||
rec.put(IND_STATO,row.get_int());
|
||||
rec.put(IND_COM,row.get());
|
||||
rec.put(IND_PTEL,row.get());
|
||||
rec.put(IND_TEL,row.get());
|
||||
rec.put(IND_PFAX,row.get());
|
||||
rec.put(IND_FAX,row.get());
|
||||
rec.put(IND_IVARID,row.get());
|
||||
rec.put(IND_CODIND,i+1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
#include "cg0201.h"
|
||||
#include <lffiles.h>
|
||||
#include <clifo.h>
|
||||
#include <indsp.h>
|
||||
|
||||
|
||||
extern bool gest_vend();
|
||||
@ -39,7 +41,7 @@ int TClifoVI::read_indirizzi()
|
||||
destroy_rows();
|
||||
for (bool ok=is_first_match(LF_INDSP); ok; ok=next_match(LF_INDSP))
|
||||
{
|
||||
const int nriga=rind->get_int("CODIND") -1;
|
||||
const int nriga=rind->get_int(IND_CODIND) -1;
|
||||
indirizzo(nriga)=rind->curr();
|
||||
}
|
||||
}
|
||||
@ -67,15 +69,15 @@ int TClifoVI::write_rec(bool re, const TRectype& rec, TLocalisamfile* f)
|
||||
|
||||
int TClifoVI::cancella(TLocalisamfile* f, int da, int a)
|
||||
{
|
||||
const char tipocf=lfile()->get("TIPOCF")[0];
|
||||
const long codcf=lfile()->get_long("CODCF");
|
||||
const char tipocf=lfile()->get(IND_TIPOCF)[0];
|
||||
const long codcf=lfile()->get_long(IND_CODCF);
|
||||
|
||||
for (int i=da; i<=a;i++)
|
||||
{
|
||||
f->zero();
|
||||
f->put("TIPOCF",tipocf);
|
||||
f->put("CODCF",codcf);
|
||||
f->put("CODIND",i);
|
||||
f->put(IND_TIPOCF,tipocf);
|
||||
f->put(IND_CODCF,codcf);
|
||||
f->put(IND_CODIND,i);
|
||||
if (f->read(_isequal,_lock)==NOERR)
|
||||
f->remove();
|
||||
}
|
||||
@ -96,15 +98,15 @@ int TClifoVI::registra(bool re, bool force)
|
||||
if (err!=NOERR) return err;
|
||||
|
||||
TLocalisamfile* rind=lfile(LF_INDSP);
|
||||
const char tipocf=c->get("TIPOCF")[0];
|
||||
const long codcf=c->get_long("CODCF");
|
||||
const char tipocf=c->get(CLI_TIPOCF)[0];
|
||||
const long codcf=c->get_long(CLI_CODCF);
|
||||
|
||||
for (int i=0; i<indirizzi_items(); i++)
|
||||
{
|
||||
if (!re)
|
||||
{
|
||||
indirizzo(i).put("TIPOCF",tipocf);
|
||||
indirizzo(i).put("CODCF",codcf);
|
||||
indirizzo(i).put(IND_TIPOCF,tipocf);
|
||||
indirizzo(i).put(IND_CODCF,codcf);
|
||||
}
|
||||
err=write_rec(TRUE,indirizzo(i),rind);
|
||||
}
|
||||
|
343
cg/cg1200.cpp
343
cg/cg1200.cpp
@ -4,18 +4,21 @@
|
||||
#include <utility.h>
|
||||
#include <mailbox.h>
|
||||
#include <execp.h>
|
||||
#include <config.h>
|
||||
|
||||
#include <nditte.h>
|
||||
#include <clifo.h>
|
||||
#include <saldi.h>
|
||||
#include <comuni.h>
|
||||
#include <cfven.h>
|
||||
#include <indsp.h>
|
||||
#include "cg1200a.h"
|
||||
#include "cg1200b.h"
|
||||
|
||||
#define COMRF_ALIAS 50
|
||||
#define COMNASC_ALIAS 51
|
||||
|
||||
enum pt { undefined = 0, elenco = 1, rubriche = 2, etichette = 3 };
|
||||
enum pt { undefined = 0, elenco = 1, rubriche = 2, etichette = 3, vendite = 4 };
|
||||
enum pw { clienti = 1, fornitori = 2, both = 3 };
|
||||
|
||||
bool mask2_reset_fields(TMask_field& mf, KEY k);
|
||||
@ -32,12 +35,14 @@ class CG1200_App : public TPrintapp
|
||||
int _interline;
|
||||
bool _mov_only;
|
||||
TLocalisamfile* _saldi;
|
||||
TLocalisamfile* _comuni;
|
||||
|
||||
// etichette
|
||||
int _startrow, _rows_et, _cols_et, _startcol;
|
||||
|
||||
// variable field slots
|
||||
TString _piva, _cpercip, _fax, _telex, _name, _telefono, _indir;
|
||||
TString _piva, _cpercip, _fax, _telex, _name, _telefono, _indir,
|
||||
_localita;
|
||||
|
||||
|
||||
public:
|
||||
@ -60,10 +65,11 @@ public:
|
||||
void set_elenco();
|
||||
void set_rubriche();
|
||||
void set_etichette();
|
||||
void set_vendite(int f, int c) ;
|
||||
void process_link(int id, const char* txt);
|
||||
|
||||
CG1200_App() : TPrintapp(),_piva(18), _cpercip(10), _fax(50), _telex(50),
|
||||
_name(60), _telefono(90), _indir(70)
|
||||
_name(60), _telefono(90), _indir(70), _localita(90)
|
||||
{
|
||||
_rel = NULL; _pr_type = undefined; _startrow = 2; _startcol = 3;
|
||||
_rows_et = 9; _cols_et = 40;
|
||||
@ -72,6 +78,7 @@ public:
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* ---------------------------- Code ---------------------------------- */
|
||||
/* -------------------------------------------------------------------- */
|
||||
@ -101,57 +108,89 @@ const char* CG1200_App::look_tab(const char* tabname, TString& cod,
|
||||
|
||||
bool CG1200_App::preprocess_page(int file, int counter)
|
||||
{
|
||||
if (_mov_only)
|
||||
TString s;
|
||||
switch (file)
|
||||
{
|
||||
// se non movimentato
|
||||
_saldi->curr().zero();
|
||||
_saldi->curr().put(SLD_GRUPPO,get_field(LF_CLIFO,CLI_GRUPPO));
|
||||
_saldi->curr().put(SLD_CONTO,get_field(LF_CLIFO, CLI_CONTO));
|
||||
_saldi->curr().put(SLD_SOTTOCONTO,get_field(LF_CLIFO,CLI_CODCF));
|
||||
_saldi->read();
|
||||
if (_saldi->curr().get(SLD_GRUPPO) == get_field(LF_CLIFO, CLI_GRUPPO) &&
|
||||
_saldi->curr().get(SLD_CONTO) == get_field(LF_CLIFO,CLI_CONTO) &&
|
||||
_saldi->curr().get(SLD_SOTTOCONTO) == get_field(LF_CLIFO,CLI_CODCF))
|
||||
// OSTIA! e' MOVIMENTATO!
|
||||
case LF_CLIFO:
|
||||
if (_mov_only)
|
||||
{
|
||||
// se non movimentato
|
||||
_saldi->curr().zero();
|
||||
_saldi->curr().put(SLD_GRUPPO,get_field(LF_CLIFO,CLI_GRUPPO));
|
||||
_saldi->curr().put(SLD_CONTO,get_field(LF_CLIFO, CLI_CONTO));
|
||||
_saldi->curr().put(SLD_SOTTOCONTO,get_field(LF_CLIFO,CLI_CODCF));
|
||||
_saldi->read();
|
||||
if (_saldi->curr().get(SLD_GRUPPO) == get_field(LF_CLIFO, CLI_GRUPPO) &&
|
||||
_saldi->curr().get(SLD_CONTO) == get_field(LF_CLIFO,CLI_CONTO) &&
|
||||
_saldi->curr().get(SLD_SOTTOCONTO) == get_field(LF_CLIFO,CLI_CODCF))
|
||||
// OSTIA! e' MOVIMENTATO!
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// set variable fields
|
||||
_piva = get_field(LF_CLIFO, CLI_COFI);
|
||||
if (_piva.empty()) _piva = get_field(LF_CLIFO, CLI_PAIV);
|
||||
_telefono = get_field(LF_CLIFO, CLI_PTEL);
|
||||
if (!_telefono.empty()) _telefono << "/";
|
||||
_telefono << get_field(LF_CLIFO, CLI_TEL) << " ";
|
||||
s = get_field(LF_CLIFO, CLI_PTEL2);
|
||||
if (!s.empty()) s << "/";
|
||||
_telefono << s << get_field(LF_CLIFO, CLI_TEL2) << " ";
|
||||
s = get_field(LF_CLIFO, CLI_PTEL3);
|
||||
if (!s.empty()) s << "/";
|
||||
_telefono << s << get_field(LF_CLIFO, CLI_TEL3);
|
||||
_fax = get_field(LF_CLIFO, CLI_PFAX);
|
||||
if (!_fax.empty()) _fax << "/";
|
||||
_fax << get_field(LF_CLIFO, CLI_FAX);
|
||||
_telex = get_field(LF_CLIFO, CLI_PTELEX);
|
||||
if (!_telex.empty()) _telex << "/";
|
||||
_telex << get_field(LF_CLIFO, CLI_TELEX);
|
||||
_indir = get_field(LF_CLIFO, CLI_INDCF);
|
||||
|
||||
if (!_indir.empty()) _indir << " ";
|
||||
_indir << get_field(LF_CLIFO, CLI_CIVCF);
|
||||
|
||||
_localita = get_field(LF_CLIFO, CLI_LOCCF);
|
||||
if (!_localita.empty())
|
||||
_localita.trim();
|
||||
|
||||
_name = get_field(LF_CLIFO, CLI_RAGSOC);
|
||||
s = get_field(LF_CLIFO, CLI_CODANAGPER);
|
||||
_cpercip = "";
|
||||
if (s.not_empty()) _cpercip << get_field(LF_CLIFO, CLI_TIPOAPER) << " " << s;
|
||||
|
||||
// che mminghia sarrebbbe chisto aahnn??!
|
||||
// if (strcmp(get_field(LF_CLIFO, CLI_TIPOAPER),"F") == 0)
|
||||
// {
|
||||
// TString surname = _name.mid(30,50); surname.trim();
|
||||
// _name = _name.mid(0,30); _name.trim();
|
||||
// _name << " " << surname;
|
||||
// }
|
||||
break;
|
||||
case LF_INDSP:
|
||||
current_cursor()->items();
|
||||
if (atoi(get_field(LF_INDSP,IND_CODIND)) == 0)
|
||||
return FALSE;
|
||||
_telefono = get_field(LF_INDSP, IND_PTEL);
|
||||
if (!_telefono.empty()) _telefono << "/";
|
||||
_telefono << get_field(LF_INDSP, IND_TEL);
|
||||
_fax = get_field(LF_INDSP, IND_PFAX);
|
||||
if (!_fax.empty()) _fax << "/";
|
||||
_fax << get_field(LF_INDSP, IND_FAX);
|
||||
_localita = get_field(LF_INDSP,IND_LOCALITA);
|
||||
if (!_localita.empty())
|
||||
_localita << " - ";
|
||||
_comuni->curr().zero();
|
||||
_comuni->curr().put(COM_STATO,get_field(LF_INDSP,IND_STATO));
|
||||
_comuni->curr().put(COM_COM,get_field(LF_INDSP,IND_COM));
|
||||
_comuni->read();
|
||||
_localita << _comuni->curr().get(COM_DENCOM);
|
||||
_localita << " ";
|
||||
_localita << _comuni->curr().get(COM_PROVCOM);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// set variable fields
|
||||
_piva = get_field(LF_CLIFO, CLI_COFI);
|
||||
if (_piva.empty()) _piva = get_field(LF_CLIFO, CLI_PAIV);
|
||||
_telefono = get_field(LF_CLIFO, CLI_PTEL);
|
||||
if (!_telefono.empty()) _telefono << "/";
|
||||
_telefono << get_field(LF_CLIFO, CLI_TEL) << " ";
|
||||
TString s(get_field(LF_CLIFO, CLI_PTEL2));
|
||||
if (!s.empty()) s << "/";
|
||||
_telefono << s << get_field(LF_CLIFO, CLI_TEL2) << " ";
|
||||
s = get_field(LF_CLIFO, CLI_PTEL3);
|
||||
if (!s.empty()) s << "/";
|
||||
_telefono << s << get_field(LF_CLIFO, CLI_TEL3);
|
||||
_fax = get_field(LF_CLIFO, CLI_PFAX);
|
||||
if (!_fax.empty()) _fax << "/";
|
||||
_fax << get_field(LF_CLIFO, CLI_FAX);
|
||||
_telex = get_field(LF_CLIFO, CLI_PTELEX);
|
||||
if (!_telex.empty()) _telex << "/";
|
||||
_telex << get_field(LF_CLIFO, CLI_TELEX);
|
||||
_indir = get_field(LF_CLIFO, CLI_INDCF);
|
||||
|
||||
if (!_indir.empty()) _indir << " ";
|
||||
_indir << get_field(LF_CLIFO, CLI_CIVCF);
|
||||
|
||||
_name = get_field(LF_CLIFO, CLI_RAGSOC);
|
||||
s = get_field(LF_CLIFO, CLI_CODANAGPER);
|
||||
_cpercip = "";
|
||||
if (s.not_empty()) _cpercip << get_field(LF_CLIFO, CLI_TIPOAPER) << " " << s;
|
||||
|
||||
// che minchia e' questo
|
||||
// if (strcmp(get_field(LF_CLIFO, CLI_TIPOAPER),"F") == 0)
|
||||
// {
|
||||
// TString surname = _name.mid(30,50); surname.trim();
|
||||
// _name = _name.mid(0,30); _name.trim();
|
||||
// _name << " " << surname;
|
||||
// }
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -176,6 +215,25 @@ print_action CG1200_App::postprocess_print(int file, int counter)
|
||||
return NEXT_PAGE;
|
||||
}
|
||||
|
||||
bool gest_vend()
|
||||
{
|
||||
TConfig c(CONFIG_DITTA,"cg");
|
||||
return (c.get("GesVen") == "X");
|
||||
}
|
||||
|
||||
bool rdbtype_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB || k == K_SPACE)
|
||||
//every time that change focus or value, check flag to enable button
|
||||
{
|
||||
if ((atoi(f.get()) == 1) && gest_vend())
|
||||
f.mask().enable(BUT_CG12_VENDITE);
|
||||
else
|
||||
f.mask().disable(BUT_CG12_VENDITE);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool mask_ctrl_handler(TMask_field& mf, KEY k)
|
||||
{
|
||||
if (k == K_SPACE)
|
||||
@ -192,14 +250,19 @@ void CG1200_App::set_page(int file, int counter)
|
||||
switch(_pr_type)
|
||||
{
|
||||
case elenco:
|
||||
set_elenco();
|
||||
if (file == LF_CLIFO)
|
||||
set_elenco();
|
||||
break;
|
||||
case rubriche:
|
||||
set_rubriche();
|
||||
if (file == LF_CLIFO)
|
||||
set_rubriche();
|
||||
break;
|
||||
case etichette:
|
||||
set_etichette();
|
||||
if (file == LF_CLIFO)
|
||||
set_etichette();
|
||||
break;
|
||||
case vendite:
|
||||
set_vendite(file, counter);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -229,8 +292,8 @@ void CG1200_App::set_elenco()
|
||||
// body
|
||||
set_row(1,"$[r]@1s$[n] $[r]@pn$[n] #t", FLD(LF_CLIFO, CLI_TIPOCF),
|
||||
FLD(LF_CLIFO, CLI_CODCF,"@@@@@@"), &_name);
|
||||
set_row(2,"@9g#t@59g@s@66g@s @s", &_indir, FLD(LF_CLIFO, CLI_CAPCF),
|
||||
FLD(-COMRF_ALIAS,COM_DENCOM), FLD(-COMRF_ALIAS,COM_PROVCOM));
|
||||
set_row(2,"@9g#t@59g@s@66g#t@s @s", &_indir, FLD(LF_CLIFO, CLI_CAPCF),
|
||||
&_localita, FLD(-COMRF_ALIAS,COM_DENCOM), FLD(-COMRF_ALIAS,COM_PROVCOM));
|
||||
set_row(3,"@9g#t@90g#t@115g#t", &_telefono, &_fax, &_telex);
|
||||
set_row(4,"@9g@s @s@46g@ld@56g#t@92g@3n @3n @6n@115g@n@126g#t",
|
||||
FLD(-COMNASC_ALIAS, COM_DENCOM), FLD(-COMNASC_ALIAS, COM_PROVCOM),
|
||||
@ -264,8 +327,8 @@ void CG1200_App::set_rubriche()
|
||||
// body
|
||||
set_row(1,"$[r]@1s$[n] $[r]@pn$[n] #t", FLD(LF_CLIFO,CLI_TIPOCF),
|
||||
FLD(LF_CLIFO,CLI_CODCF,"@@@@@@"), &_name);
|
||||
set_row(2,"@9g#t@59g@s@66g@s @s", &_indir, FLD(LF_CLIFO, CLI_CAPCF),
|
||||
FLD(-COMRF_ALIAS,COM_DENCOM), FLD(-COMRF_ALIAS,COM_PROVCOM));
|
||||
set_row(2,"@9g#t@59g@s@66g#t@s @s", &_indir, FLD(LF_CLIFO, CLI_CAPCF),
|
||||
&_localita, FLD(-COMRF_ALIAS,COM_DENCOM), FLD(-COMRF_ALIAS,COM_PROVCOM));
|
||||
set_row(3,"@9g#t@90g#t@115g#t", &_telefono, &_fax, &_telex);
|
||||
|
||||
for(int i = 0; i < _interline; i++)
|
||||
@ -287,24 +350,158 @@ bool mask2_reset_fields(TMask_field& mf, KEY k)
|
||||
|
||||
void CG1200_App::set_etichette()
|
||||
{
|
||||
int r=_startrow;
|
||||
TString loccf=get_field(LF_CLIFO,CLI_LOCCF);
|
||||
|
||||
reset_header();
|
||||
for (int i = 1; i < _startrow; i++)
|
||||
set_row(i,"");
|
||||
|
||||
set_row(_startrow, format("@%dg#-%dt",_startcol, _cols_et - _startcol),
|
||||
set_row(r++, format("@%dg#-%dt",_startcol, _cols_et - _startcol),
|
||||
&_name);
|
||||
set_row(_startrow+1, format("@%dg#-%dt",_startcol, _cols_et - _startcol),
|
||||
set_row(r++, format("@%dg#-%dt",_startcol, _cols_et - _startcol),
|
||||
&_indir);
|
||||
set_row(_startrow+2, format("@%dg@5s @%ds @2s",_startcol,
|
||||
_cols_et - _startcol - 9),
|
||||
if (!loccf.empty())
|
||||
set_row(r++,format("@%dg#-%dt",_startcol, _cols_et - _startcol), &_localita);
|
||||
set_row(r++, format("@%dg@5s @%ds @2s",_startcol,
|
||||
_cols_et - _startcol - 9),
|
||||
FLD(LF_CLIFO, CLI_CAPCF),
|
||||
FLD(-COMRF_ALIAS, COM_DENCOM),
|
||||
FLD(-COMRF_ALIAS, COM_PROVCOM));
|
||||
|
||||
for (i = _startrow+3; i <= _rows_et; i++)
|
||||
for (i = r; i <= _rows_et; i++)
|
||||
set_row(i,"");
|
||||
}
|
||||
|
||||
void CG1200_App::set_vendite(int f, int c)
|
||||
|
||||
{ TString* rigs = new TString(132);
|
||||
|
||||
rigs->fill('-');
|
||||
|
||||
reset_header();
|
||||
// intestazione
|
||||
const long firm = get_firm();
|
||||
TLocalisamfile ditte(LF_NDITTE);
|
||||
ditte.zero();
|
||||
ditte.put(NDT_CODDITTA, firm);
|
||||
ditte.read();
|
||||
if (ditte.bad()) ditte.zero();
|
||||
TString s(ditte.get(NDT_RAGSOC));
|
||||
|
||||
switch (f)
|
||||
{
|
||||
case LF_CFVEN:
|
||||
/////////////////////////////////
|
||||
// Prints CFVEN information //
|
||||
/////////////////////////////////
|
||||
set_header(1, "Ditta %ld %s @102gData @<@125gPag @#", firm, (const char*) s);
|
||||
set_header(2, "Dati Clienti per Vendite");
|
||||
set_header(3, (const char *)(TString(132).fill('-')));
|
||||
set_header(4," Codice Ragione sociale");
|
||||
set_header(5,"@9gNote Cliente @25gLegale per contenz. @46gCat.Finanziaria @63gCat.Vendita @76gAss.Fiscale @93gZona @101gAgente @112gProvvigione");
|
||||
set_header(6,"@9gCod.Listino @25gCod. Magazzino @46gSpese da Addeb. @63gBolli Tr. @76gBolli R.B. @93gSpese incasso @112gBolli sup. 50.000");
|
||||
set_header(7,"@9gFornitore ass. @25gCod. Meccanografico @46gGest. Contratto @63gRid. Iva @76gUltimo sollecito @93gUltimo estr. conto @112gTitolo onorifico");
|
||||
set_header(8,"@9gSconto cliente @25gSconto di riga @46gSconto incond. @63gFatt. Sosp. @76gVs. Lettera Esenzione @112gNs. Lettera Esenz.");
|
||||
set_header(9,"@9gCod. ABI p.e. @25gCod. CAB p.e. @46gInd. Effetti @63gEmiss. Eff. @76gImporto Minimo @93gEffetti non acc. @112gScadenza effetti");
|
||||
set_header(10,"@9gInd.Documento @25gInd. Spedizione @46gNote Documento @63gCod.Mezzo @76gPorto @93gVettori");
|
||||
set_header(11,"@9gRaggr. ordini @25gImporto Minimo @46gImporto Massimo @63gPriorita ev. @76gTipo Evasione");
|
||||
set_header(12, (const char *)(TString(132).fill('-')));
|
||||
|
||||
set_row(1,"$[r]@1s$[n] $[r]@pn$[n] #t", FLD(LF_CLIFO, CLI_TIPOCF),
|
||||
FLD(LF_CLIFO, CLI_CODCF,"@@@@@@"), &_name);
|
||||
|
||||
set_row(2,"@9g@2s @25g@2s @46g@2s @63g@2s @76g@2s @93g@2s @101g@3s @112g@n",
|
||||
FLD(LF_CFVEN, CFV_CODNOTE),FLD(LF_CFVEN,CFV_CODLEG),
|
||||
FLD(LF_CFVEN,CFV_CATFIN),FLD(LF_CFVEN,CFV_CATVEN),
|
||||
FLD(LF_CFVEN,CFV_ASSFIS),FLD(LF_CFVEN,CFV_CODZONA),
|
||||
FLD(LF_CFVEN,CFV_CODAG),FLD(LF_CFVEN,CFV_PROVV));
|
||||
|
||||
set_row(3,"@9g@5s @25g@3s @46g@3s @3s @3s @3s @63g@f @76g@f @93g@f @112g@f",
|
||||
FLD(LF_CFVEN,CFV_CODLIST),FLD(LF_CFVEN,CFV_CODMAG),
|
||||
FLD(LF_CFVEN,CFV_CODSP1),FLD(LF_CFVEN,CFV_CODSP2),
|
||||
FLD(LF_CFVEN,CFV_CODSP3),FLD(LF_CFVEN,CFV_CODSP4),
|
||||
FLD(LF_CFVEN,CFV_ADDBOLLITR),FLD(LF_CFVEN,CFV_ADDBOLLIRB),
|
||||
FLD(LF_CFVEN,CFV_ADDSPINC),FLD(LF_CFVEN,CFV_ADDBNS1500));
|
||||
|
||||
set_row(4,"@9g@pn @25g@s @46g@f @63g@f @76g@d @93g@d @112g@2s",
|
||||
FLD(LF_CFVEN,CFV_CODCFASS,"@@@@@@"),
|
||||
FLD(LF_CFVEN,CFV_CODPRCF),FLD(LF_CFVEN,CFV_GESTCONTR),
|
||||
FLD(LF_CFVEN,CFV_IVARID),FLD(LF_CFVEN,CFV_DATAESC),
|
||||
FLD(LF_CFVEN,CFV_DATASOLL),FLD(LF_CFVEN,CFV_TITOLO));
|
||||
|
||||
set_row(5,"@9g@n @25g@15s @46g@2s @63g@f @76g@s del @d @112g@s del @d",
|
||||
FLD(LF_CFVEN,CFV_SCONTOCL),FLD(LF_CFVEN,CFV_SCONTOR),
|
||||
FLD(LF_CFVEN,CFV_CODSCINC),FLD(LF_CFVEN,CFV_FATTSOSP),
|
||||
FLD(LF_CFVEN,CFV_VSNRPROT),FLD(LF_CFVEN,CFV_VSDATAREG),
|
||||
FLD(LF_CFVEN,CFV_NSNPROT),FLD(LF_CFVEN,CFV_NSDATAREG));
|
||||
|
||||
set_row(6,"@9g@5pn @25g@5pn @46g@3,rn @63g@f @76g@pn @93g@s @112g@s",
|
||||
FLD(LF_CFVEN,CFV_CODABIPR,"@@@@@"),
|
||||
FLD(LF_CFVEN,CFV_CODCABPR,"@@@@@"),
|
||||
FLD(LF_CFVEN,CFV_CODINDEFF),FLD(LF_CFVEN,CFV_EMEFFRICH),
|
||||
FLD(LF_CFVEN,CFV_IMPMINEFF,"."),
|
||||
FLD(LF_CFVEN,CFV_NONACCEFF),
|
||||
FLD(LF_CFVEN,CFV_NONSCADEFF));
|
||||
|
||||
set_row(7,"@9g@3,rn @25g@3,rn @46g@2s @53g@2s @63g@2s @76g@2s @93g@3pn @96g@3pn @103g@3pn",
|
||||
FLD(LF_CFVEN,CFV_CODINDDOC),FLD(LF_CFVEN,CFV_CODINDSP),
|
||||
FLD(LF_CFVEN,CFV_CODNOTESP1),FLD(LF_CFVEN,CFV_CODNOTESP2),
|
||||
FLD(LF_CFVEN,CFV_CODSPMEZZO),FLD(LF_CFVEN,CFV_CODPORTO),
|
||||
FLD(LF_CFVEN,CFV_CODVETT1,"@@@"),
|
||||
FLD(LF_CFVEN,CFV_CODVETT2,"@@@"),
|
||||
FLD(LF_CFVEN,CFV_CODVETT3,"@@@"));
|
||||
|
||||
set_row(8,"@9g@s @25g@pn @46g@pn @63g@n @76g@2s",
|
||||
FLD(LF_CFVEN,CFV_RAGGOR),FLD(LF_CFVEN,CFV_MINORD,"."),
|
||||
FLD(LF_CFVEN,CFV_MAXORD,"."),FLD(LF_CFVEN,CFV_PREVORD),
|
||||
FLD(LF_CFVEN,CFV_TIPOEVORD));
|
||||
if (current_cursor()->is_first_match(LF_INDSP))
|
||||
{ // Test whether there are any Addresses. If so, prints
|
||||
// the header.
|
||||
set_row(9,"");
|
||||
set_row(10,"@9gIndirizzi di Spedizione");
|
||||
set_row(11,"@9g%t",rigs);
|
||||
set_row(12,"@9gCodice @17gRagione Sociale");
|
||||
set_row(13,"@17gIndirizzo @65gC.A.P. @72gLocalita");
|
||||
set_row(14,"@17gTelefono @60gFax @102gRiduzione IVA");
|
||||
set_row(15,"@9g%t",rigs);
|
||||
} else
|
||||
for (int i=0;i<_interline;i++)
|
||||
set_row(i+9,"");
|
||||
break;
|
||||
/////////////////////////////////////////
|
||||
// End of printing CFVEN information //
|
||||
/////////////////////////////////////////
|
||||
case LF_INDSP:
|
||||
//////////////////////////////////////////////////
|
||||
// Prints INDSP information for each customer //
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
set_row(1,"@9g@pn @17g@s",FLD(LF_INDSP,IND_CODIND,"@@@"),
|
||||
FLD(LF_INDSP,IND_RAGSOC));
|
||||
set_row(2,"@17g@s @s @65g@s @72g#t",FLD(LF_INDSP,IND_INDIR),
|
||||
FLD(LF_INDSP,IND_CIV),FLD(LF_INDSP,IND_CAP), &_localita);
|
||||
set_row(3,"@17g#t @60g#t @102g@f",&_telefono,&_fax,
|
||||
FLD(LF_INDSP,IND_IVARID));
|
||||
current_cursor()->save_status();
|
||||
if (!current_cursor()->next_match(LF_INDSP))
|
||||
for (int i=0;i<_interline;i++)
|
||||
set_row(i+4,"");
|
||||
else
|
||||
set_row(4,"");
|
||||
current_cursor()->restore_status();
|
||||
/////////////////////////////////////////
|
||||
// End of printing INDSP information //
|
||||
/////////////////////////////////////////
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
delete rigs;
|
||||
}
|
||||
|
||||
bool CG1200_App::set_print(int)
|
||||
{
|
||||
disable_links();
|
||||
@ -312,11 +509,13 @@ bool CG1200_App::set_print(int)
|
||||
|
||||
TMask mask("cg1200a.msk");
|
||||
|
||||
mask.set_handler(RDB_CG12_TYPE, rdbtype_handler);
|
||||
mask.set_handler(BUT_CG12_ELENCO, mask_ctrl_handler);
|
||||
mask.set_handler(BUT_CG12_RUBRICHE, mask_ctrl_handler);
|
||||
mask.set_handler(BUT_CG12_ETICHETTE, mask_ctrl_handler);
|
||||
mask.run();
|
||||
|
||||
force_setpage(FALSE);
|
||||
// set print type
|
||||
switch (mask.last_key())
|
||||
{
|
||||
@ -350,11 +549,16 @@ bool CG1200_App::set_print(int)
|
||||
_startcol = atoi(mask2.get(FLD_CGB_STARTCOL));
|
||||
_rows_et = atoi(mask2.get(FLD_CGB_ROWSET));
|
||||
_cols_et = atoi(mask2.get(FLD_CGB_COLSET));
|
||||
force_setpage();
|
||||
break;
|
||||
}
|
||||
case BUT_CG12_RUBRICHE:
|
||||
_pr_type = rubriche;
|
||||
break;
|
||||
case BUT_CG12_VENDITE:
|
||||
_pr_type = vendite;
|
||||
force_setpage();
|
||||
break;
|
||||
}
|
||||
|
||||
if (_pr_type != etichette)
|
||||
@ -420,10 +624,22 @@ void CG1200_App::user_create()
|
||||
_rel = new TRelation(LF_CLIFO);
|
||||
_rel->add(LF_COMUNI, "STATO==STATOCF|COM==COMCF", 1, 0, COMRF_ALIAS);
|
||||
_rel->add(LF_COMUNI, "STATO==STATONASC|COM==COMNASC", 1, 0, COMNASC_ALIAS);
|
||||
if (gest_vend())
|
||||
{
|
||||
_rel->add(LF_CFVEN,"TIPOCF=TIPOCF|CODCF=CODCF");
|
||||
_rel->add(LF_INDSP,"TIPOCF=TIPOCF|CODCF=CODCF");
|
||||
}
|
||||
|
||||
_saldi = new TLocalisamfile(LF_SALDI); _saldi->setkey(2);
|
||||
_comuni = new TLocalisamfile(LF_COMUNI);
|
||||
_cur_1 = add_cursor(new TCursor(_rel,"",1));
|
||||
_cur_2 = add_cursor(new TCursor(_rel,"",2));
|
||||
add_file(LF_CLIFO);
|
||||
if (gest_vend())
|
||||
{
|
||||
add_file(LF_CFVEN,LF_CLIFO);
|
||||
add_file(LF_INDSP,LF_CLIFO);
|
||||
}
|
||||
enable_print_menu();
|
||||
}
|
||||
|
||||
@ -432,6 +648,7 @@ bool CG1200_App::destroy()
|
||||
if (_rel)
|
||||
delete _rel;
|
||||
delete _saldi;
|
||||
delete _comuni;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -14,4 +14,5 @@
|
||||
#define BUT_CG12_ELENCO 115
|
||||
#define BUT_CG12_RUBRICHE 116
|
||||
#define BUT_CG12_ETICHETTE 117
|
||||
#define BUT_CG12_VENDITE 118
|
||||
|
||||
|
@ -11,7 +11,7 @@ BEGIN
|
||||
ITEM "2|Fornitori"
|
||||
MESSAGE HIDE,1@|SHOW,2@|RESET,1@
|
||||
ITEM "3|Entrambi"
|
||||
MESSAGE HIDE,1@|HIDE,2@|RESET,1@|RESET,2@
|
||||
MESSAGE HIDE,1@|HIDE,2@|RESET,1@
|
||||
END
|
||||
|
||||
RADIOBUTTON RDB_CG12_SORT 22
|
||||
@ -170,7 +170,7 @@ BEGIN
|
||||
HELP "Scegliere il numero di righe di interlinea tra i nominativi"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 47 4
|
||||
GROUPBOX DLG_NULL 51 4
|
||||
BEGIN
|
||||
PROMPT 2 13 "Stampa"
|
||||
END
|
||||
@ -183,19 +183,25 @@ END
|
||||
|
||||
BUTTON BUT_CG12_RUBRICHE 9 2
|
||||
BEGIN
|
||||
PROMPT 19 14 "~Rubriche"
|
||||
PROMPT 16 14 "~Rubriche"
|
||||
MESSAGE EXIT,BUT_CG12_RUBRICHE
|
||||
END
|
||||
|
||||
BUTTON BUT_CG12_ETICHETTE 9 2
|
||||
BEGIN
|
||||
PROMPT 35 14 "E~tichette"
|
||||
PROMPT 28 14 "E~tichette"
|
||||
MESSAGE EXIT,BUT_CG12_ETICHETTE
|
||||
END
|
||||
|
||||
BUTTON BUT_CG12_VENDITE 9 2
|
||||
BEGIN
|
||||
PROMPT 40 14 "~Vendite"
|
||||
MESSAGE EXIT,BUT_CG12_VENDITE
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT 53 14 ""
|
||||
PROMPT 55 14 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
Loading…
x
Reference in New Issue
Block a user