Correzione allla stampa del libro unico

git-svn-id: svn://10.65.10.50/trunk@998 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1995-02-14 16:28:44 +00:00
parent 7225d9c15d
commit 1d30319206
2 changed files with 30 additions and 30 deletions

View File

@ -18,7 +18,6 @@
static TString256 tmp;
const int TABLBU = (int)TTable::name2log("%LBU");
const int TABINL = (int)TTable::name2log("%INL");
class BA3600_application : public TPrintapp
{
@ -39,9 +38,9 @@ class BA3600_application : public TPrintapp
};
TMask* _msk;
TTable* _tab_inl;
TTable* _tab_lbu;
TTable* _tab_reg;
TLocalisamfile* _indlib;
TLocalisamfile* _nditte;
TLocalisamfile* _anag;
TLocalisamfile* _comuni;
@ -128,34 +127,34 @@ void BA3600_application::crea_sort()
_tab_lbu->put("CODTAB", (const char*) dep);
if (_tab_lbu->read(_isequal) == NOERR)
{
_tab_inl->zero();
app = format("%4d" , _anno);
app << format("%-3s", (const char*) _cod_lib);
_tab_inl->put("CODTAB", (const char*) app);
{
_indlib->setkey(1);
_indlib->zero();
_indlib->put("ANNO", _anno);
_indlib->put("CODLIB", (const char*) _cod_lib);
TRectype rec (_tab_inl->curr());
TRectype rec (_indlib->curr());
for (_tab_inl->read(); !_tab_inl->eof(); _tab_inl->next())
for (_indlib->read(); !_indlib->eof(); _indlib->next())
{
if (_tab_inl->curr() > rec) break;
if (_indlib->curr() > rec) break;
mese = _tab_inl->get_int("I1");
mese = _indlib->get_int("MESEREG");
if (((_tipo_stampa == 1) && (mese >= _meseda) && (mese <= _mesea)) ||
((_tipo_stampa == 2) && (mese == _mesea)))
((_tipo_stampa == 2) && (mese <= _mesea)))
{
TRecfield num_riga (_tab_inl->curr(),"CODTAB",7,12);
anno = _tab_inl->get_long("I0");
numini_paglib = _tab_inl->get_long("I2");
numfin_paglib = _tab_inl->get_long("I3");
codditta = _tab_inl->get_long("I4");
cod_reg = _tab_inl->get("S0");
cod_vidimaz = _tab_inl->get("S1");
numini_pagut = _tab_inl->get_long("I5");
numfin_pagut = _tab_inl->get_long("I6");
stamp_bollato = _tab_inl->get_bool("B0");
pagine_ann = _tab_inl->get_bool("B1");
long num_riga = _indlib->get_long("NUMREG");
anno = _indlib->get_long("ANNOREG");
numini_paglib = _indlib->get_long("PAGINI");
numfin_paglib = _indlib->get_long("PAGFIN");
codditta = _indlib->get_long("CODDITTA");
cod_reg = _indlib->get("CODREG");
cod_vidimaz = _indlib->get("CODVID");
numini_pagut = _indlib->get_long("PAGINIUT");
numfin_pagut = _indlib->get_long("PAGFINUT");
stamp_bollato = _indlib->get_bool("STAMPATO");
pagine_ann = _indlib->get_bool("ANNULLATE");
//Se tipo_stampa = 1 (stampa di prova) stampo ugualmente. Se tipo_stampa = 2
// (stampa su bollato), stampo solamente se il flag di stampa su bollato e'
@ -168,7 +167,7 @@ void BA3600_application::crea_sort()
sprintf (_lib->mese, "%2d", mese);
sprintf (_lib->anno, "%4d", anno);
sprintf (_lib->nini_plib, "%5d", numini_paglib);
_lib->num_riga = long(num_riga);
_lib->num_riga = num_riga;
_lib->nfin_plib = numfin_paglib;
_lib->codditta = codditta;
sprintf (_lib->cod_reg, "%3s", (const char*) cod_reg);
@ -186,8 +185,8 @@ void BA3600_application::crea_sort()
if (_tipo_stampa == 2)
{
_tab_inl->put("B0", "X");
_tab_inl->rewrite();
_indlib->put("STAMPATO", "X");
_indlib->rewrite();
}
}
}
@ -662,8 +661,8 @@ bool BA3600_application::user_create()
_nditte = new TLocalisamfile (LF_NDITTE);
_anag = new TLocalisamfile (LF_ANAG);
_comuni = new TLocalisamfile (LF_COMUNI);
_tab_inl = new TTable (TAB_INL);
_indlib = new TLocalisamfile (LF_INDLIB);
_tab_lbu = new TTable (TAB_LBU);
_tab_reg = new TTable (TAB_REG);
@ -675,9 +674,9 @@ bool BA3600_application::user_destroy()
{
delete _msk;
delete _tab_inl;
delete _tab_lbu;
delete _tab_reg;
delete _indlib;
delete _nditte;
delete _anag;
delete _comuni;

View File

@ -159,7 +159,8 @@ NUMBER F_STAMPA_MESE 2
BEGIN
PROMPT 4 11 "Stampa mese "
HELP "Mese di cui effettuare la stampa"
NUM_EXPR {(#THIS_FIELD > #F_STAMPA_MESEG) && (#THIS_FIELD <= 12)}
NUM_EXPR {(#THIS_FIELD >= #F_STAMPA_MESEG) && (#THIS_FIELD <= 12)}
WARNING "Il mese da stampare deve essere maggiore o uguale all'ultimo mese di stampa indicato sulla tabella del libro unico selezionato"
CHECKTYPE REQUIRED
END