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:
angelo 1994-09-19 14:28:25 +00:00
parent 0178369ee6
commit db3e624c9f
5 changed files with 339 additions and 111 deletions

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

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