Pulizia stampe (cg1 - fase 1).

git-svn-id: svn://10.65.10.50/trunk@51 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1994-08-23 12:53:59 +00:00
parent ec0c54497d
commit 5f96e2e4ea
7 changed files with 7833 additions and 7967 deletions

View File

@ -1,25 +1,33 @@
#include <xvt.h> #include <xvt.h>
#include <checks.h> #include <checks.h>
#include "cg1.h" #include "cg1.h"
#define usage "Error - usage : %s -{0|1|2|3|4|5} [params]" #define usage "Error - usage : %s -{0|1|2|3|4|5} [params]"
int main(int argc,char** argv) int main(int argc,char** argv)
{ {
const int n = (argc > 1) ? atoi(argv[1]+1) : -1; const int n = (argc > 1) ? atoi(argv[1]+1) : -1;
switch(n) switch(n)
{ {
case 0: cg1100(argc,argv); break; case 0:
case 1: cg1200(argc,argv); break; cg1100(argc,argv); break;
case 2: cg1300(argc,argv); break; case 1:
case 3: cg1400(argc,argv); break; cg1200(argc,argv); break;
case 4: cg1500(argc,argv); break; case 2:
// case 5: cg1600(argc,argv); break; cg1300(argc,argv); break;
case 6: cg1700(argc,argv); break; case 3:
default: error_box(usage, argv[0]); break; cg1400(argc,argv); break;
} case 4:
cg1500(argc,argv); break;
return n < 0; case 5:
} cg1600(argc,argv); break;
case 6:
cg1700(argc,argv); break;
default:
error_box(usage, argv[0]); break;
}
return n < 0;
}

View File

@ -1,31 +1,31 @@
#ifndef __CG1_H #ifndef __CG1_H
#define __CG1_H #define __CG1_H
#ifdef MAIN #ifdef MAIN
#define extern #define extern
#endif #endif
#ifdef MAIN #ifdef MAIN
#undef extern #undef extern
#endif #endif
#ifndef __STRINGS_H #ifndef __STRINGS_H
#include <strings.h> #include <strings.h>
#endif #endif
const MAXSTR = 128; const MAXSTR = 128;
static char __tmp [MAXSTR]; static char __tmp [MAXSTR];
int cg1100(int argc, char* argv[]); int cg1100(int argc, char* argv[]);
int cg1200(int argc, char* argv[]); int cg1200(int argc, char* argv[]);
int cg1300(int argc, char* argv[]); int cg1300(int argc, char* argv[]);
int cg1400(int argc, char* argv[]); int cg1400(int argc, char* argv[]);
int cg1500(int argc, char* argv[]); int cg1500(int argc, char* argv[]);
//int cg1600(int argc, char* argv[]); int cg1600(int argc, char* argv[]);
int cg1700(int argc, char* argv[]); int cg1700(int argc, char* argv[]);
#endif // __CG1_H #endif // __CG1_H

File diff suppressed because it is too large Load Diff

View File

@ -1,413 +1,443 @@
#include <printapp.h> #include <printapp.h>
#include <mask.h> #include <mask.h>
#include <tabutil.h> #include <tabutil.h>
#include <utility.h> #include <utility.h>
#include <mailbox.h>
#include "cg1200a.h" #include <execp.h>
#include "cg1200b.h"
#include <clifo.h>
enum pt { undefined = 0, elenco = 1, rubriche = 2, etichette = 3 }; #include <saldi.h>
enum pw { clienti = 1, fornitori = 2, both = 3 }; #include <comuni.h>
#include "cg1200a.h"
bool mask2_reset_fields(TMask_field& mf, KEY k); #include "cg1200b.h"
class CG1200_App : public TPrintapp enum pt { undefined = 0, elenco = 1, rubriche = 2, etichette = 3 };
{ enum pw { clienti = 1, fornitori = 2, both = 3 };
friend bool mask2_reset_fields(TMask_field& mf, KEY k);
bool mask2_reset_fields(TMask_field& mf, KEY k);
pt _pr_type;
pw _pr_what; class CG1200_App : public TPrintapp
TRelation* _rel; {
int _cur_c1, _cur_c2, _cur_f1, _cur_f2; friend bool mask2_reset_fields(TMask_field& mf, KEY k);
int _sort;
int _interline; pt _pr_type;
bool _mov_only; pw _pr_what;
TLocalisamfile* _comuni; TRelation* _rel;
TLocalisamfile* _saldi; int _cur_c1, _cur_c2, _cur_f1, _cur_f2;
int _sort;
// etichette int _interline;
int _startrow, _rows_et, _cols_et, _startcol; bool _mov_only;
TLocalisamfile* _comuni;
// variable field slots TLocalisamfile* _saldi;
TString _piva;
TString _telefono; // etichette
TString _name; int _startrow, _rows_et, _cols_et, _startcol;
public: // variable field slots
TString _piva;
virtual bool preprocess_page(int counter); TString _telefono;
virtual bool preprocess_print(int counter); TString _name;
virtual print_action postprocess_print(int counter);
virtual void user_create(); public:
virtual bool destroy();
virtual bool set_print(int); virtual bool preprocess_page(int counter);
virtual bool preprocess_print(int counter);
int ccli() { return _sort == 1 ? _cur_c1 : _cur_c2; } virtual print_action postprocess_print(int counter);
int cfor() { return _sort == 1 ? _cur_f1 : _cur_f2; } virtual void user_create();
virtual bool destroy();
TRectype& look_com(TString& cod); virtual bool set_print(int);
const char* look_tab(const char* tabname, TString& cod,
const char* fld = "S0"); int ccli() { return _sort == 1 ? _cur_c1 : _cur_c2; }
const char* get_field(int ln, const char* fn) int cfor() { return _sort == 1 ? _cur_f1 : _cur_f2; }
{ return current_cursor()->curr(ln).get(fn); }
TRectype& look_com(TString& cod);
void set_rows(); const char* look_tab(const char* tabname, TString& cod,
void set_elenco(); const char* fld = "S0");
void set_rubriche(); const char* get_field(int ln, const char* fn)
void set_etichette(); { return current_cursor()->curr(ln).get(fn); }
CG1200_App() : TPrintapp(), _piva(30), _telefono(50), void set_rows();
_name(60) void set_elenco();
{ void set_rubriche();
_rel = NULL; _pr_type = undefined; _startrow = 2; _startcol = 3; void set_etichette();
_rows_et = 9; _cols_et = 40; void process_link(int id, const char* txt);
}
}; CG1200_App() : TPrintapp(), _piva(30), _telefono(50),
_name(60)
{
/* -------------------------------------------------------------------- */ _rel = NULL; _pr_type = undefined; _startrow = 2; _startcol = 3;
/* ---------------------------- Code ---------------------------------- */ _rows_et = 9; _cols_et = 40;
/* -------------------------------------------------------------------- */ }
};
TRectype& CG1200_App::look_com(TString& cod)
{
_comuni->curr().zero(); /* -------------------------------------------------------------------- */
_comuni->curr().put("COM",cod); /* ---------------------------- Code ---------------------------------- */
_comuni->read(); /* -------------------------------------------------------------------- */
if (_comuni->bad())
_comuni->curr().zero();
return _comuni->curr(); void CG1200_App::process_link(int id, const char* txt)
} {
TString ss = "1|";
const char* CG1200_App::look_tab(const char* tabname, TString& cod, switch (_pr_what)
const char* fld) {
{ case clienti :
TTable tab(tabname); ss << "C|"; break;
tab.curr().zero(); case fornitori :
tab.curr().put("CODTAB",cod); ss << "F|"; break;
tab.read(); case both :
if (tab.bad()) tab.curr().zero(); default :
return tab.curr().get(fld); break;
} }
ss << txt;
bool CG1200_App::preprocess_page(int counter) TMessage fs(cmd2name("cg0","1"), MSG_LN, ss);
{ TMailbox m;
if (_mov_only) m.send(fs);
{ TExternal_app cg0("cg -1");
// se non movimentato if (cg0.run()) beep();
_saldi->curr().zero(); }
_saldi->curr().put("GRUPPO",get_field(LF_CLIFO,"GRUPPO"));
_saldi->curr().put("CONTO",get_field(LF_CLIFO,"CONTO")); TRectype& CG1200_App::look_com(TString& cod)
_saldi->curr().put("SOTTOCONTO",get_field(LF_CLIFO,"CODCF")); {
_saldi->read(); _comuni->curr().zero();
if (_saldi->curr().get("GRUPPO") == get_field(LF_CLIFO,"GRUPPO") && _comuni->curr().put("COM",cod);
_saldi->curr().get("CONTO") == get_field(LF_CLIFO,"CONTO") && _comuni->read();
_saldi->curr().get("SOTTOCONTO") == get_field(LF_CLIFO,"CODCF")) if (_comuni->bad())
// OSTIA! e' MOVIMENTATO! _comuni->curr().zero();
return FALSE; return _comuni->curr();
} }
// set variable fields const char* CG1200_App::look_tab(const char* tabname, TString& cod,
_piva = get_field(LF_CLIFO,"COFI"); const char* fld)
if (_piva.empty()) _piva = get_field(LF_CLIFO,"PAIV"); {
_telefono = get_field(LF_CLIFO,"PTEL"); TTable tab(tabname);
if (!_telefono.empty()) _telefono << "/"; tab.curr().zero();
_telefono << get_field(LF_CLIFO,"TEL"); tab.curr().put("CODTAB",cod);
tab.read();
_name = get_field(LF_CLIFO,"RAGSOC"); if (tab.bad()) tab.curr().zero();
return tab.curr().get(fld);
if (strcmp(get_field(LF_CLIFO,"TIPOAPER"),"F") == 0) }
{
TString surname = _name.mid(30,50); surname.trim(); bool CG1200_App::preprocess_page(int counter)
_name = _name.mid(0,30); _name.trim(); {
_name << " " << surname; if (_mov_only)
} {
// se non movimentato
return TRUE; _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));
print_action CG1200_App::postprocess_print(int counter) _saldi->curr().put(SLD_SOTTOCONTO,get_field(LF_CLIFO,CLI_CODCF));
{ _saldi->read();
static bool more = FALSE; if (_saldi->curr().get(SLD_GRUPPO) == get_field(LF_CLIFO, CLI_GRUPPO) &&
if (_pr_what == both) _saldi->curr().get(SLD_CONTO) == get_field(LF_CLIFO,CLI_CONTO) &&
{ _saldi->curr().get(SLD_SOTTOCONTO) == get_field(LF_CLIFO,CLI_CODCF))
if (more) // OSTIA! e' MOVIMENTATO!
{ return FALSE;
more = FALSE; }
select_cursor(ccli());
return NEXT_PAGE; // set variable fields
} _piva = get_field(LF_CLIFO, CLI_COFI);
else if (_piva.empty()) _piva = get_field(LF_CLIFO, CLI_PAIV);
{ _telefono = get_field(LF_CLIFO, CLI_PTEL);
more = TRUE; if (!_telefono.empty()) _telefono << "/";
select_cursor(cfor()); _telefono << get_field(LF_CLIFO, CLI_TEL);
return REPEAT_PAGE;
} _name = get_field(LF_CLIFO, CLI_RAGSOC);
}
return NEXT_PAGE; if (strcmp(get_field(LF_CLIFO, CLI_TIPOAPER),"F") == 0)
} {
TString surname = _name.mid(30,50); surname.trim();
bool mask_ctrl_handler(TMask_field& mf, KEY k) _name = _name.mid(0,30); _name.trim();
{ _name << " " << surname;
if (k == K_SPACE) }
{
mf.mask().stop_run(mf.dlg()); return TRUE;
} }
return TRUE;
} print_action CG1200_App::postprocess_print(int counter)
{
// set printrows static bool more = FALSE;
if (_pr_what == both)
void CG1200_App::set_rows() {
{ if (more)
switch(_pr_type) {
{ more = FALSE;
case elenco: select_cursor(ccli());
set_elenco(); return NEXT_PAGE;
break; }
case rubriche: else
set_rubriche(); {
break; more = TRUE;
case etichette: select_cursor(cfor());
set_etichette(); return REPEAT_PAGE;
break; }
default: }
break; return NEXT_PAGE;
} }
}
bool mask_ctrl_handler(TMask_field& mf, KEY k)
void CG1200_App::set_elenco() {
{ if (k == K_SPACE)
reset_print(); {
reset_header(); mf.mask().stop_run(mf.dlg());
// intestazione }
set_header(1, "Ditta /*TBI*/@82gStudio /*TBI*/@102gData @<@125gPag @#"); return TRUE;
set_header(2, "Elenco %s",(_pr_what == both ? "Clienti+Fornitori" : }
(_pr_what == clienti ? "Clienti" : "Fornitori")));
set_header(3, (const char *)(TString(132).fill('-'))); // set printrows
set_header(4, "Codice Ragione sociale@55gIndirizzo@91gC.a.p.Localita'"
"@117gPr Telefono"); void CG1200_App::set_rows()
set_header(5,"@8gLuogo di nascita@29gData@40gProv. Nazione " {
"Partita IVA Codice fiscale@91gConto di costo/ricavo"); switch(_pr_type)
set_header(6,"@55gCodice per allegato@90gPercipiente 770"); {
set_header(7, (const char *)(TString(132).fill('-'))); case elenco:
// body set_elenco();
set_row(1,"@pn #s@55g@s@91g@s @s@117g@s #s", break;
FLD(LF_CLIFO, "CODCF","@@@@@@"), case rubriche:
(const char*)_name, set_rubriche();
FLD(LF_CLIFO, "INDCF"), break;
FLD(LF_CLIFO, "CAPCF"), case etichette:
FLD(LF_COMUNI,"DENCOM"), set_etichette();
FLD(LF_COMUNI,"PROVCOM"), break;
(const char*)_telefono); default:
set_row(2,"@54g#s@90g@2n @2n @pn", break;
(const char *)_piva, }
FLD(LF_CLIFO,"GRUPPORIC"), }
FLD(LF_CLIFO,"CONTORIC"),
FLD(LF_CLIFO,"SOTTOCRIC","@@@@@@")); void CG1200_App::set_elenco()
{
for(int i = 0; i < _interline; i++) reset_print();
set_row(i+3,""); reset_header();
} // intestazione
set_header(1, "Ditta /*TBI*/@82gStudio /*TBI*/@102gData @<@125gPag @#");
void CG1200_App::set_rubriche() set_header(2, "Elenco %s",(_pr_what == both ? "Clienti+Fornitori" :
{ (_pr_what == clienti ? "Clienti" : "Fornitori")));
reset_print(); set_header(3, (const char *)(TString(132).fill('-')));
reset_header(); set_header(4, "Codice Ragione sociale@55gIndirizzo@91gC.a.p.Localita'"
// intestazione "@117gPr Telefono");
set_header(1, "Ditta /*TBI*/@82gStudio /*TBI*/@102gData @<@125gPag @#"); set_header(5,"@8gLuogo di nascita@29gData@40gProv. Nazione "
set_header(2, "Rubrica %s",(_pr_what == both ? "Clienti+Fornitori" : "Partita IVA Codice fiscale@91gConto di costo/ricavo");
(_pr_what == clienti ? "Clienti" : "Fornitori"))); set_header(6,"@55gCodice per allegato@90gPercipiente 770");
set_header(3, (const char *)(TString(132).fill('-'))); set_header(7, (const char *)(TString(132).fill('-')));
set_header(4, "Codice C Ragione sociale@41gIndirizzo@77gCap@83gLocalita'" // body
"@104gPr Partita iva Telefono"); set_row(1,"$[r]@pn$[n} #s@55g@s@91g@s @s@117g@s #s",
set_header(5, (const char *)(TString(132).fill('-'))); FLD(LF_CLIFO, CLI_CODCF,"@@@@@@"),
// body (const char*)_name,
set_row(1,"@pn #s@55g@s@91g@s @s@117g@s #s", FLD(LF_CLIFO, CLI_INDCF),
FLD(LF_CLIFO,"CODCF","@@@@@@"), FLD(LF_CLIFO, CLI_CAPCF),
(const char *)_name, FLD(LF_COMUNI,COM_DENCOM),
FLD(LF_CLIFO,"INDCF"), FLD(LF_COMUNI,COM_PROVCOM),
FLD(LF_CLIFO,"CAPCF"), (const char*)_telefono);
FLD(LF_COMUNI,"DENCOM"), set_row(2,"@54g#s@90g@2n @2n @pn",
FLD(LF_COMUNI,"PROVCOM"), (const char *)_piva,
(const char*)_telefono); FLD(LF_CLIFO,CLI_GRUPPORIC),
} FLD(LF_CLIFO,CLI_CONTORIC),
FLD(LF_CLIFO, CLI_SOTTOCRIC,"@@@@@@"));
bool mask2_reset_fields(TMask_field& mf, KEY k)
{ for(int i = 0; i < _interline; i++)
if (k == K_SPACE) set_row(i+3,"");
{ }
CG1200_App* a = (CG1200_App*)MainApp();
mf.mask().field(FLD_CGB_STARTROW).set(format("%d",a->_startrow)); void CG1200_App::set_rubriche()
mf.mask().field(FLD_CGB_STARTCOL).set(format("%d",a->_startcol)); {
mf.mask().field(FLD_CGB_ROWSET).set(format("%d",a->_rows_et)); reset_print();
mf.mask().field(FLD_CGB_COLSET).set(format("%d",a->_cols_et)); reset_header();
} // intestazione
return TRUE; set_header(1, "Ditta /*TBI*/@82gStudio /*TBI*/@102gData @<@125gPag @#");
} set_header(2, "Rubrica %s",(_pr_what == both ? "Clienti+Fornitori" :
(_pr_what == clienti ? "Clienti" : "Fornitori")));
void CG1200_App::set_etichette() set_header(3, (const char *)(TString(132).fill('-')));
{ set_header(4, "Codice C Ragione sociale@41gIndirizzo@77gCap@83gLocalita'"
reset_print(); "@104gPr Partita iva Telefono");
reset_header(); set_header(5, (const char *)(TString(132).fill('-')));
TMask mask2("cg1200b.msk"); // body
set_row(1,"$[r]@pn$[n] #s@55g@s@91g@s @s@117g@s #s",
/* TBI read/save from - to config file */ FLD(LF_CLIFO,CLI_CODCF,"@@@@@@"),
(const char *)_name,
mask2.set_handler(BUT_CGB_RESET, mask2_reset_fields); FLD(LF_CLIFO,CLI_INDCF),
FLD(LF_CLIFO, CLI_CAPCF),
mask2.field(FLD_CGB_ROWSET).set(format("%d",_rows_et)); FLD(LF_COMUNI, COM_DENCOM),
mask2.field(FLD_CGB_COLSET).set(format("%d",_cols_et)); FLD(LF_COMUNI, COM_PROVCOM),
(const char*)_telefono);
mask2.field(FLD_CGB_STARTROW).set(format("%d",_startrow)); }
mask2.field(FLD_CGB_STARTCOL).set(format("%d",_startcol));
bool mask2_reset_fields(TMask_field& mf, KEY k)
// set defaults {
if (k == K_SPACE)
mask2.run(); {
CG1200_App* a = (CG1200_App*)MainApp();
_startrow = atoi(mask2.get(FLD_CGB_STARTROW)); mf.mask().field(FLD_CGB_STARTROW).set(format("%d",a->_startrow));
_startcol = atoi(mask2.get(FLD_CGB_STARTCOL)); mf.mask().field(FLD_CGB_STARTCOL).set(format("%d",a->_startcol));
_rows_et = atoi(mask2.get(FLD_CGB_ROWSET)); mf.mask().field(FLD_CGB_ROWSET).set(format("%d",a->_rows_et));
_cols_et = atoi(mask2.get(FLD_CGB_COLSET)); mf.mask().field(FLD_CGB_COLSET).set(format("%d",a->_cols_et));
}
for (int i = 1; i < _startrow; i++) return TRUE;
set_row(i,""); }
set_row(_startrow, format("@%dg#%ds",_startcol, _cols_et - _startcol), void CG1200_App::set_etichette()
(const char*)_name); {
set_row(_startrow+1, format("@%dg@%ds",_startcol, _cols_et - _startcol), reset_print();
FLD(LF_CLIFO,"INDCF")); reset_header();
set_row(_startrow+2, format("@%dg@5s @%ds @2s",_startcol, TMask mask2("cg1200b.msk");
_cols_et - _startcol - 9),
FLD(LF_CLIFO,"CAPCF"), /* TBI read/save from - to config file */
FLD(LF_COMUNI,"DENCOM"),
FLD(LF_COMUNI,"PROVCOM")); mask2.set_handler(BUT_CGB_RESET, mask2_reset_fields);
for (i = _startrow+3; i <= _rows_et; i++) mask2.field(FLD_CGB_ROWSET).set(format("%d",_rows_et));
set_row(i,""); mask2.field(FLD_CGB_COLSET).set(format("%d",_cols_et));
}
mask2.field(FLD_CGB_STARTROW).set(format("%d",_startrow));
bool CG1200_App::set_print(int) mask2.field(FLD_CGB_STARTCOL).set(format("%d",_startcol));
{
TMask mask("cg1200a.msk"); // set defaults
mask.set_handler(BUT_CG12_ELENCO, mask_ctrl_handler);
mask.set_handler(BUT_CG12_RUBRICHE, mask_ctrl_handler); mask2.run();
mask.set_handler(BUT_CG12_ETICHETTE, mask_ctrl_handler);
mask.run(); _startrow = atoi(mask2.get(FLD_CGB_STARTROW));
_startcol = atoi(mask2.get(FLD_CGB_STARTCOL));
// set print type _rows_et = atoi(mask2.get(FLD_CGB_ROWSET));
switch (mask.last_key()) _cols_et = atoi(mask2.get(FLD_CGB_COLSET));
{
case K_ESC: for (int i = 1; i < _startrow; i++)
return FALSE; set_row(i,"");
break;
case BUT_CG12_ELENCO: set_row(_startrow, format("@%dg#%ds",_startcol, _cols_et - _startcol),
_pr_type = elenco; (const char*)_name);
break; set_row(_startrow+1, format("@%dg@%ds",_startcol, _cols_et - _startcol),
case BUT_CG12_ETICHETTE: FLD(LF_CLIFO, CLI_INDCF));
_pr_type = etichette; set_row(_startrow+2, format("@%dg@5s @%ds @2s",_startcol,
break; _cols_et - _startcol - 9),
case BUT_CG12_RUBRICHE: FLD(LF_CLIFO, CLI_CAPCF),
_pr_type = rubriche; FLD(LF_COMUNI, COM_DENCOM),
break; FLD(LF_COMUNI, COM_PROVCOM));
}
for (i = _startrow+3; i <= _rows_et; i++)
_sort = atoi(mask.get(RDB_CG12_SORT)); set_row(i,"");
_pr_what = (pw)atoi(mask.get(RDB_CG12_TYPE)); }
_interline = atoi(mask.get(LST_CG12_INTERLINE));
_mov_only = mask.get(CHK_CG12_MOVIM) == "X"; bool CG1200_App::set_print(int)
{
TString cod_from(5), cod_to(5); TMask mask("cg1200a.msk");
TLocalisamfile* fl; mask.set_handler(BUT_CG12_ELENCO, mask_ctrl_handler);
mask.set_handler(BUT_CG12_RUBRICHE, mask_ctrl_handler);
if (_pr_what == fornitori) mask.set_handler(BUT_CG12_ETICHETTE, mask_ctrl_handler);
select_cursor(cfor()); mask.run();
else select_cursor(ccli());
// set print type
if (_pr_what != both) switch (mask.last_key())
{ {
// filter case K_ESC:
if (_sort == 1) return FALSE;
{ break;
cod_from = mask.get(_pr_what == clienti ? FLD_CLI_CODFR case BUT_CG12_ELENCO:
: FLD_FOR_CODFR); _pr_type = elenco;
cod_to = mask.get(_pr_what == clienti ? FLD_CLI_CODTO break;
: FLD_FOR_CODTO); case BUT_CG12_ETICHETTE:
} _pr_type = etichette;
else break;
{ case BUT_CG12_RUBRICHE:
cod_from = mask.get(_pr_what == clienti ? FLD_CLI_RAGSOCFR _pr_type = rubriche;
: FLD_FOR_RAGSOCFR); break;
cod_to = mask.get(_pr_what == clienti ? FLD_CLI_RAGSOCTO }
: FLD_FOR_RAGSOCTO);
} _sort = atoi(mask.get(RDB_CG12_SORT));
if ((!cod_from.empty() || !cod_to.empty()) && _pr_what != both) _pr_what = (pw)atoi(mask.get(RDB_CG12_TYPE));
{ if (_pr_what != both && _pr_type != rubriche)
fl = current_cursor()->file(LF_CLIFO); enable_link("Collegamento Archivio clienti e fornitori : ", 'r');
TRectype tr1(fl->curr()); _interline = atoi(mask.get(LST_CG12_INTERLINE));
TRectype tr2(fl->curr()); _mov_only = mask.get(CHK_CG12_MOVIM) == "X";
tr1.zero(); tr2.zero();
if (_sort == 1) TString cod_from(5), cod_to(5);
{ TLocalisamfile* fl;
tr1.put("CODCF",cod_from);
tr2.put("CODCF",cod_to); if (_pr_what == fornitori)
tr1.put("TIPOCF", _pr_what == clienti ? "C" : "F"); select_cursor(cfor());
tr2.put("TIPOCF", _pr_what == clienti ? "C" : "F"); else select_cursor(ccli());
}
else if (_pr_what != both)
{ {
tr1.put("RAGSOC",cod_from); // filter
tr2.put("RAGSOC",cod_to); if (_sort == 1)
} {
current_cursor()->setregion(cod_from.empty() ? NULL : &tr1, cod_from = mask.get(_pr_what == clienti ? FLD_CLI_CODFR
cod_to.empty() ? NULL : &tr2); : FLD_FOR_CODFR);
} cod_to = mask.get(_pr_what == clienti ? FLD_CLI_CODTO
} : FLD_FOR_CODTO);
}
// initialize (non dovrebbe servire) else
(*current_cursor()) = 0l; {
cod_from = mask.get(_pr_what == clienti ? FLD_CLI_RAGSOCFR
// set initial print rows & headers : FLD_FOR_RAGSOCFR);
set_rows(); cod_to = mask.get(_pr_what == clienti ? FLD_CLI_RAGSOCTO
return TRUE; : FLD_FOR_RAGSOCTO);
} }
if ((!cod_from.empty() || !cod_to.empty()) && _pr_what != both)
{
bool CG1200_App::preprocess_print(int counter) fl = current_cursor()->file(LF_CLIFO);
{ TRectype tr1(fl->curr());
if (_pr_type == undefined) TRectype tr2(fl->curr());
return set_print(counter); tr1.zero(); tr2.zero();
return TRUE; if (_sort == 1)
} {
tr1.put(CLI_CODCF,cod_from);
void CG1200_App::user_create() tr2.put(CLI_CODCF,cod_to);
{ tr1.put(CLI_TIPOCF, _pr_what == clienti ? "C" : "F");
// set relation and cursors tr2.put(CLI_TIPOCF, _pr_what == clienti ? "C" : "F");
_rel = new TRelation(LF_CLIFO); }
_rel->add(LF_COMUNI, "COM=COMCF"); else
_comuni = _rel->lfile(LF_COMUNI); {
_saldi = new TLocalisamfile(LF_SALDI); _saldi->setkey(2); tr1.put(CLI_RAGSOC,cod_from);
_cur_c1 = add_cursor(new TCursor(_rel,"TIPOCF=\"C\"",1)); tr2.put(CLI_RAGSOC,cod_to);
_cur_c2 = add_cursor(new TCursor(_rel,"TIPOCF=\"C\"",2)); }
_cur_f1 = add_cursor(new TCursor(_rel,"TIPOCF=\"F\"",1)); current_cursor()->setregion(cod_from.empty() ? NULL : &tr1,
_cur_f2 = add_cursor(new TCursor(_rel,"TIPOCF=\"F\"",2)); cod_to.empty() ? NULL : &tr2);
add_file(LF_CLIFO); }
enable_print_menu(); }
}
// initialize (non dovrebbe servire)
bool CG1200_App::destroy() (*current_cursor()) = 0l;
{
if (_rel) // set initial print rows & headers
delete _rel; set_rows();
delete _saldi; return TRUE;
return TRUE; }
}
int cg1200(int argc, char* argv[]) bool CG1200_App::preprocess_print(int counter)
{ {
CG1200_App app; if (_pr_type == undefined)
app.run(argc, argv, "Stampe Clienti/Fornitori"); return set_print(counter);
return 0; return TRUE;
} }
void CG1200_App::user_create()
{
// set relation and cursors
_rel = new TRelation(LF_CLIFO);
_rel->add(LF_COMUNI, "COM=COMCF");
_comuni = _rel->lfile(LF_COMUNI);
_saldi = new TLocalisamfile(LF_SALDI); _saldi->setkey(2);
_cur_c1 = add_cursor(new TCursor(_rel,"TIPOCF=\"C\"",1));
_cur_c2 = add_cursor(new TCursor(_rel,"TIPOCF=\"C\"",2));
_cur_f1 = add_cursor(new TCursor(_rel,"TIPOCF=\"F\"",1));
_cur_f2 = add_cursor(new TCursor(_rel,"TIPOCF=\"F\"",2));
add_file(LF_CLIFO);
enable_print_menu();
}
bool CG1200_App::destroy()
{
if (_rel)
delete _rel;
delete _saldi;
return TRUE;
}
int cg1200(int argc, char* argv[])
{
CG1200_App app;
app.run(argc, argv, "Stampe Clienti/Fornitori");
return 0;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -50,9 +50,9 @@ $(EP)cg0500a.msk : cg0500a.uml
$(O)/cg1.o: cg1.cpp $(I10) $(I24) $(I32) $(O)/cg1.o: cg1.cpp $(I10) $(I24) $(I32)
$(O)/cg1100.o: cg1100.cpp $(I6) $(I10) $(I24) $(I27) $(I33) cg1100.h $(O)/cg1100.o: cg1100.cpp $(I6) $(I10) $(I24) $(I27) $(I33) $(I47) $(I48) cg1100.h $(IP)pconti.h
$(O)/cg1200.o: cg1200.cpp $(I6) $(I10) $(I24) $(I27) $(I33) cg1200a.h $(O)/cg1200.o: cg1200.cpp $(I6) $(I10) $(I24) $(I27) $(I33) $(I47) $(I48) cg1200a.h $(IP)saldi.h $(IP)clifo.h $(IP)comuni.h
$(O)/cg1300.o: cg1200.cpp $(I24) $(I31) $(I33) $(I51) $(O)/cg1300.o: cg1200.cpp $(I24) $(I31) $(I33) $(I51)