Patch level : 11.0
Files correlati : mg4.exe mg4300.msk mg4300.frm Ricompilazione Demo : [ ] Commento : Corretta stampa registro di magazzino in definitiva git-svn-id: svn://10.65.10.50/branches/R_10_00@21033 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
668c990335
commit
74ecc8ba11
196
mg/mg4300.cpp
196
mg/mg4300.cpp
@ -1,5 +1,5 @@
|
|||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <printapp.h>
|
#include <printer.h>
|
||||||
#include <recarray.h>
|
#include <recarray.h>
|
||||||
#include <tabutil.h>
|
#include <tabutil.h>
|
||||||
|
|
||||||
@ -10,6 +10,7 @@
|
|||||||
#include "movmag.h"
|
#include "movmag.h"
|
||||||
#include "rmovmag.h"
|
#include "rmovmag.h"
|
||||||
|
|
||||||
|
#include "../cg/cglib01.h"
|
||||||
#include "../ve/veconf.h"
|
#include "../ve/veconf.h"
|
||||||
#include "mglib.h"
|
#include "mglib.h"
|
||||||
#include "mg4300.h"
|
#include "mg4300.h"
|
||||||
@ -18,13 +19,13 @@
|
|||||||
class TRegistro_giornalemag : public TRegistro_std
|
class TRegistro_giornalemag : public TRegistro_std
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
int freq_stampa() const { return get_int("I3"); }
|
int freq_stampa() const { return get_int("I3"); }
|
||||||
bool raggruppato() const { return get_bool("B1"); }
|
bool raggruppato() const { return get_bool("B1"); }
|
||||||
bool ragg_mag() const { return get_bool("B2"); }
|
bool ragg_mag() const { return get_bool("B2"); }
|
||||||
bool ragg_giac() const { return get_bool("B3"); }
|
bool ragg_giac() const { return get_bool("B3"); }
|
||||||
bool ragg_clafis() const { return get_bool("B4"); }
|
bool ragg_clafis() const { return get_bool("B4"); }
|
||||||
bool ragg_grpfis() const { return get_bool("B5"); }
|
bool ragg_grpfis() const { return get_bool("B5"); }
|
||||||
bool ragg_caus() const { return get_bool("B6"); }
|
bool ragg_caus() const { return get_bool("B6"); }
|
||||||
|
|
||||||
long last_numreg() const { return get_long("I4"); }
|
long last_numreg() const { return get_long("I4"); }
|
||||||
void set_last_numreg(long n) { put("I4",n); }
|
void set_last_numreg(long n) { put("I4",n); }
|
||||||
@ -68,10 +69,10 @@ class TGiornalemag : public TForm_stampemg
|
|||||||
|
|
||||||
TConfig *conf_ditta;
|
TConfig *conf_ditta;
|
||||||
TArticolo_giacenza * _curr_art;
|
TArticolo_giacenza * _curr_art;
|
||||||
TString16 _codlist,_catven;
|
TString8 _codlist,_catven;
|
||||||
word last_pag_stampata;
|
word last_pag_stampata;
|
||||||
long last_num_reg;
|
long _last_num_reg;
|
||||||
TRegistro_giornalemag *_reg_giorn;
|
TRegistro_giornalemag* _reg_giorn;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TArticolo_giacenza &curr_art();
|
TArticolo_giacenza &curr_art();
|
||||||
@ -86,67 +87,71 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
void set_parametri(TMask & m);
|
void set_parametri(TMask & m);
|
||||||
bool can_be_printed();
|
bool can_be_printed() const;
|
||||||
|
|
||||||
bool validate(TForm_item &cf, TToken_string &s);
|
virtual bool validate(TForm_item &cf, TToken_string &s);
|
||||||
|
|
||||||
TGiornalemag(const char *name,const char *code) ;
|
TGiornalemag(const char* name, const char* code) ;
|
||||||
~TGiornalemag();
|
~TGiornalemag();
|
||||||
};
|
};
|
||||||
|
|
||||||
TArticolo_giacenza &TGiornalemag::curr_art()
|
TArticolo_giacenza& TGiornalemag::curr_art()
|
||||||
{
|
{
|
||||||
TRectype & magrec=relation()->lfile(LF_MAG).curr();
|
const TRectype& magrec=relation()->curr(LF_MAG);
|
||||||
if (_curr_art==NULL || _curr_art->codice()!=magrec.get(MAG_CODART) ) {
|
const TString80 codart = magrec.get(MAG_CODART);
|
||||||
|
if (_curr_art==NULL || _curr_art->codice()!= codart)
|
||||||
|
{
|
||||||
if (_curr_art) delete _curr_art;
|
if (_curr_art) delete _curr_art;
|
||||||
_curr_art=new TArticolo_giacenza(magrec.get(MAG_CODART));
|
_curr_art=new TArticolo_giacenza(codart);
|
||||||
}
|
}
|
||||||
return *_curr_art;
|
return *_curr_art;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
|
bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
|
||||||
{
|
{
|
||||||
const TString code(s.get(0)); // prende il primo parametro, il codice del messaggio
|
CHECK(_reg_giorn->num() == LF_TAB, "Giornale sputtanato: cacciare Feltri per continuare");
|
||||||
|
|
||||||
|
const TString80 code(s.get(0)); // prende il primo parametro, il codice del messaggio
|
||||||
|
TString16 subcode;
|
||||||
TString valore,vv;
|
TString valore,vv;
|
||||||
TString subcode;
|
|
||||||
|
|
||||||
if (code=="_USER") {
|
if (code=="_USER") {
|
||||||
subcode=s.get();
|
subcode=s.get();
|
||||||
|
|
||||||
if (subcode== "INTEST_REG") {
|
if (subcode== "INTEST_REG") {
|
||||||
cf.set(_reg_giorn->intest());
|
cf.set(_reg_giorn->intest());
|
||||||
return TRUE;
|
return true;
|
||||||
|
|
||||||
} else if (subcode== "INTEST_DITTA") {
|
} else if (subcode== "INTEST_DITTA") {
|
||||||
if (_reg_giorn->stampa_intditta())
|
if (_reg_giorn->stampa_intditta())
|
||||||
s = "_DITTA,!RAGSOC";
|
s = "_DITTA,!RAGSOC";
|
||||||
else
|
else
|
||||||
return TRUE;
|
return true;
|
||||||
} else if (subcode== "PAGENO") {
|
} else if (subcode== "PAGENO") {
|
||||||
valore << (int)(last_pag_stampata+printer().getcurrentpage());
|
valore << (int)(last_pag_stampata+printer().getcurrentpage());
|
||||||
cf.set(valore);
|
cf.set(valore);
|
||||||
return TRUE;
|
return true;
|
||||||
|
|
||||||
} else if (subcode== "NUMREGST") {
|
} else if (subcode== "NUMREGST") {
|
||||||
valore << last_num_reg;
|
valore << _last_num_reg;
|
||||||
cf.set(valore);
|
cf.set(valore);
|
||||||
return TRUE;
|
return true;
|
||||||
|
|
||||||
} else if (subcode=="INCNUMREGST") {
|
} else if (subcode=="INCNUMREGST") {
|
||||||
last_num_reg=max(last_num_reg,_reg_giorn->last_numreg())+1;
|
_last_num_reg=max(_last_num_reg,_reg_giorn->last_numreg())+1;
|
||||||
if (stampa_def)
|
if (stampa_def)
|
||||||
{
|
{
|
||||||
_reg_giorn->set_last_numreg(last_num_reg);
|
_reg_giorn->set_last_numreg(_last_num_reg);
|
||||||
_reg_giorn->rewrite();
|
_reg_giorn->rewrite();
|
||||||
}
|
}
|
||||||
return TRUE;
|
return true;
|
||||||
|
|
||||||
} else if (subcode== "REGISTRASTAMPA") {
|
} else if (subcode== "REGISTRASTAMPA") {
|
||||||
TRectype & movr=cursor()->relation()->lfile(LF_MOVMAG).curr();
|
TRectype& movr = cursor()->curr(LF_MOVMAG);
|
||||||
if ((1 || movr.get_long("NUMREGST")<=last_num_reg )&& stampa_def)
|
if ((1 || movr.get_long("NUMREGST")<=_last_num_reg )&& stampa_def)
|
||||||
{
|
{
|
||||||
// movimento ancora da registrare
|
// movimento ancora da registrare
|
||||||
movr.put("NUMREGST",last_num_reg+1);
|
movr.put("NUMREGST",_last_num_reg+1);
|
||||||
cursor()->relation()->lfile(LF_MOVMAG).rewrite();
|
cursor()->relation()->lfile(LF_MOVMAG).rewrite();
|
||||||
|
|
||||||
_reg_giorn->set_pag_stampate(last_pag_stampata+printer().getcurrentpage());
|
_reg_giorn->set_pag_stampate(last_pag_stampata+printer().getcurrentpage());
|
||||||
@ -158,24 +163,27 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
|
|||||||
TDate datamov(cursor()->relation()->curr(LF_MOVMAG).get_date("DATAREG"));
|
TDate datamov(cursor()->relation()->curr(LF_MOVMAG).get_date("DATAREG"));
|
||||||
switch (freq_stampa ) {
|
switch (freq_stampa ) {
|
||||||
case 0:
|
case 0:
|
||||||
valore.format(FR("%7g Movimento del %s "), (double)last_num_reg+1, (const char *)datamov.string());
|
valore.format(FR("%7g Movimento del %s "), (double)_last_num_reg+1, (const char *)datamov.string());
|
||||||
valore << cursor()->relation()->curr(LF_MOVMAG).get("DESCR");
|
valore << cursor()->relation()->curr(LF_MOVMAG).get("DESCR");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
valore.format(FR("%7g Movimenti di %s, dal %d al %d"), (double)last_num_reg+1,
|
valore.format(FR("%7g Movimenti di %s, dal %d al %d"), (double)_last_num_reg+1,
|
||||||
(const char *)itom(datamov.month()),
|
(const char *)itom(datamov.month()),
|
||||||
(int)((datamov.day()-1)/freq_stampa)*freq_stampa+1,
|
(int)((datamov.day()-1)/freq_stampa)*freq_stampa+1,
|
||||||
(int)min(((datamov.day()-1)/freq_stampa+1)*freq_stampa,TDate::last_day(datamov.month(),datamov.year())) );
|
(int)min(((datamov.day()-1)/freq_stampa+1)*freq_stampa,TDate::last_day(datamov.month(),datamov.year())) );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
cf.set(valore);
|
cf.set(valore);
|
||||||
return TRUE;
|
return true;
|
||||||
|
} else if (subcode== "DATA_STAMPA") {
|
||||||
|
valore = stampa_def ? "" : TDate(TODAY).string();
|
||||||
|
cf.set(valore);
|
||||||
|
return true;
|
||||||
} else if (subcode== "INFO_FISC") {
|
} else if (subcode== "INFO_FISC") {
|
||||||
valore.cut(0);
|
valore.cut(0);
|
||||||
if (!ragg_mag)
|
if (!ragg_mag)
|
||||||
{
|
{
|
||||||
vv=cursor()->relation()->lfile(LF_RMOVMAG).get("CODMAG");
|
vv=cursor()->curr(LF_RMOVMAG).get("CODMAG");
|
||||||
valore << TR("Mag.") << vv.mid(0,3);
|
valore << TR("Mag.") << vv.mid(0,3);
|
||||||
vv=vv.mid(3,2);
|
vv=vv.mid(3,2);
|
||||||
if (vv.not_empty())
|
if (vv.not_empty())
|
||||||
@ -186,10 +194,10 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
|
|||||||
vv = "";
|
vv = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
const TRectype& anamag = cursor()->relation()->curr(LF_ANAMAG);
|
const TRectype& anamag = cursor()->curr(LF_ANAMAG);
|
||||||
if (ragg_articoli)
|
if (ragg_articoli)
|
||||||
{
|
{
|
||||||
valore << TR("Art.") << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_CODART) << ' ';
|
valore << TR("Art.") << cursor()->curr(LF_ANAMAG).get(ANAMAG_CODART) << ' ';
|
||||||
|
|
||||||
TString livello(cursor()->relation()->curr(LF_RMOVMAG).get("LIVGIAC"));
|
TString livello(cursor()->relation()->curr(LF_RMOVMAG).get("LIVGIAC"));
|
||||||
if (livello.not_empty() && livello_giac != 0)
|
if (livello.not_empty() && livello_giac != 0)
|
||||||
@ -211,22 +219,22 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
|
|||||||
{
|
{
|
||||||
if (ragg_classi)
|
if (ragg_classi)
|
||||||
{
|
{
|
||||||
valore << TR("Classe fiscale ") << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_CLASSEFIS) << ' ';
|
valore << TR("Classe fiscale ") << cursor()->curr(LF_ANAMAG).get(ANAMAG_CLASSEFIS) << ' ';
|
||||||
|
|
||||||
if (ragg_raggart)
|
if (ragg_raggart)
|
||||||
{
|
{
|
||||||
valore << TR(" ragg. ") << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_RAGGFIS) << ' ';
|
valore << TR(" ragg. ") << cursor()->curr(LF_ANAMAG).get(ANAMAG_RAGGFIS) << ' ';
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
vv.cut(0);
|
vv.cut(0);
|
||||||
vv << TR("Art. ") << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_CODART);
|
vv << TR("Art. ") << cursor()->curr(LF_ANAMAG).get(ANAMAG_CODART);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
valore << vv;
|
valore << vv;
|
||||||
cf.set(valore);
|
cf.set(valore);
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
else if (subcode== "INFO_CAUS")
|
else if (subcode== "INFO_CAUS")
|
||||||
{
|
{
|
||||||
@ -247,7 +255,7 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
|
|||||||
valore << TR("Causale ") << cf.get() << ' ' << rec_caus.get("S0");
|
valore << TR("Causale ") << cf.get() << ' ' << rec_caus.get("S0");
|
||||||
}
|
}
|
||||||
cf.set(valore);
|
cf.set(valore);
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TForm_stampemg::validate(cf, s);
|
return TForm_stampemg::validate(cf, s);
|
||||||
@ -373,24 +381,25 @@ void TGiornalemag::calcola_range_movimenti(TRecnotype& primo, TRecnotype& ultimo
|
|||||||
void TGiornalemag::set_parametri(TMask & m)
|
void TGiornalemag::set_parametri(TMask & m)
|
||||||
{
|
{
|
||||||
// set static variables
|
// set static variables
|
||||||
|
_annoes=m.get_int(F_ANNOES);
|
||||||
_dadata=m.get_date(F_DATAIN);
|
_dadata=m.get_date(F_DATAIN);
|
||||||
_adata=m.get_date(F_DATAFIN);
|
_adata=m.get_date(F_DATAFIN);
|
||||||
freq_stampa = m.get_int(F_FREQ);
|
freq_stampa = m.get_int(F_FREQ);
|
||||||
stampa_def = (*m.get(F_DEFINITIVA) == 'D');
|
stampa_def = m.get(F_DEFINITIVA)[0] == 'D';
|
||||||
ragg_mag = m.get_bool(F_RAGGMAG);
|
ragg_mag = m.get_bool(F_RAGGMAG);
|
||||||
ragg_articoli = m.get_bool(F_RAGGARTICOLI );
|
ragg_articoli = m.get_bool(F_RAGGARTICOLI );
|
||||||
ragg_classi = m.get_bool(F_CLASSEFISART );
|
ragg_classi = m.get_bool(F_CLASSEFISART );
|
||||||
ragg_raggart = m.get_bool(F_RAGGFISART );
|
ragg_raggart = m.get_bool(F_RAGGFISART );
|
||||||
ragg_caus = m.get_bool(F_RAGGCAUS );
|
ragg_caus = m.get_bool(F_RAGGCAUS );
|
||||||
livello_giac = m.get_int(F_TOLIVELLOGIAC);
|
livello_giac = m.get_int(F_TOLIVELLOGIAC);
|
||||||
_annoes=m.get_int(F_ANNOES);
|
|
||||||
cur=cursor();
|
cur=cursor();
|
||||||
giofrm = this;
|
giofrm = this;
|
||||||
// load Tregistro
|
// load Tregistro
|
||||||
if (_reg_giorn) delete _reg_giorn;
|
if (_reg_giorn)
|
||||||
_reg_giorn= new TRegistro_giornalemag(m.get(F_CODREG),m.get_int(F_ANNOES));
|
delete _reg_giorn;
|
||||||
|
_reg_giorn= new TRegistro_giornalemag(m.get(F_CODREG),_annoes);
|
||||||
last_pag_stampata=_reg_giorn->pag_stampate();
|
last_pag_stampata=_reg_giorn->pag_stampate();
|
||||||
last_num_reg=_reg_giorn->last_numreg();
|
_last_num_reg=_reg_giorn->last_numreg();
|
||||||
|
|
||||||
// show/hide sections
|
// show/hide sections
|
||||||
find_field('B',odd_page,"HEADER_RAGG_FISC").show(
|
find_field('B',odd_page,"HEADER_RAGG_FISC").show(
|
||||||
@ -409,7 +418,7 @@ void TGiornalemag::set_parametri(TMask & m)
|
|||||||
int err;
|
int err;
|
||||||
for (err = mag.first(); err == NOERR; err = mag.next())
|
for (err = mag.first(); err == NOERR; err = mag.next())
|
||||||
{
|
{
|
||||||
const TString16 codmag(mag.get("CODTAB").left(3));
|
const TString4 codmag = mag.get("CODTAB").left(3);
|
||||||
if (codmag.len() == 3 && mag.get("S8")==m.get(F_CODREG))
|
if (codmag.len() == 3 && mag.get("S8")==m.get(F_CODREG))
|
||||||
_cod_magazzini.add(codmag);
|
_cod_magazzini.add(codmag);
|
||||||
}
|
}
|
||||||
@ -433,31 +442,30 @@ void TGiornalemag::set_parametri(TMask & m)
|
|||||||
cursor()->setregion(recfr, recto);
|
cursor()->setregion(recfr, recto);
|
||||||
|
|
||||||
// setta il filtro sui magazzini di questo giornale
|
// setta il filtro sui magazzini di questo giornale
|
||||||
cursor()->set_filterfunction(filter_func,FALSE);
|
cursor()->set_filterfunction(filter_func,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TGiornalemag::filter_func(const TRelation* r)
|
bool TGiornalemag::filter_func(const TRelation* r)
|
||||||
{
|
{
|
||||||
// const TRectype& movmag = r->curr(LF_MOVMAG);
|
|
||||||
const TRectype& rmovmag = r->curr(LF_RMOVMAG);
|
const TRectype& rmovmag = r->curr(LF_RMOVMAG);
|
||||||
const TRectype& movmag = cache().get(LF_MOVMAG, rmovmag.get(RMOVMAG_NUMREG));
|
const TRectype& movmag = cache().get(LF_MOVMAG, rmovmag.get(RMOVMAG_NUMREG));
|
||||||
|
|
||||||
const TDate datareg = movmag.get_date(MOVMAG_DATAREG);
|
const TDate datareg = movmag.get_date(MOVMAG_DATAREG);
|
||||||
if (datareg.year() != _annoes)
|
if (datareg.year() != _annoes)
|
||||||
return FALSE;
|
return false;
|
||||||
if (!_dadata.empty() && datareg < _dadata)
|
if (!_dadata.empty() && datareg < _dadata)
|
||||||
return FALSE;
|
return false;
|
||||||
if (!_adata.empty() && datareg > _adata)
|
if (!_adata.empty() && datareg > _adata)
|
||||||
return FALSE;
|
return false;
|
||||||
|
|
||||||
const TString4 codmag = rmovmag.get(RMOVMAG_CODMAG).left(3);
|
const TString4 codmag = rmovmag.get(RMOVMAG_CODMAG).left(3);
|
||||||
if (!_cod_magazzini.is_key(codmag))
|
if (!_cod_magazzini.is_key(codmag))
|
||||||
return FALSE;
|
return false;
|
||||||
|
|
||||||
// considera solo le causali "fiscali" o quelle che movimentano le rimanenze iniziali(movimenti d'apertura)
|
// considera solo le causali "fiscali" o quelle che movimentano le rimanenze iniziali(movimenti d'apertura)
|
||||||
bool rval = FALSE;
|
bool rval = false;
|
||||||
|
|
||||||
TString16 codcaus = rmovmag.get(RMOVMAG_CODCAUS);
|
TString8 codcaus = rmovmag.get(RMOVMAG_CODCAUS);
|
||||||
if (codcaus.empty())
|
if (codcaus.empty())
|
||||||
codcaus = movmag.get(MOVMAG_CODCAUS);
|
codcaus = movmag.get(MOVMAG_CODCAUS);
|
||||||
TCausale_magazzino* caus = (TCausale_magazzino*)_cau_magazzino.objptr(codcaus);
|
TCausale_magazzino* caus = (TCausale_magazzino*)_cau_magazzino.objptr(codcaus);
|
||||||
@ -467,33 +475,41 @@ bool TGiornalemag::filter_func(const TRelation* r)
|
|||||||
return rval;
|
return rval;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TGiornalemag::can_be_printed()
|
bool TGiornalemag::can_be_printed() const
|
||||||
{
|
{
|
||||||
|
bool ok = true;
|
||||||
if (stampa_def)
|
if (stampa_def)
|
||||||
{
|
{
|
||||||
|
TDate dadata = _dadata, adata;
|
||||||
|
if (!dadata.ok())
|
||||||
|
{
|
||||||
|
TEsercizi_contabili esc;
|
||||||
|
esc.code2range(_annoes, dadata, adata);
|
||||||
|
}
|
||||||
TLocalisamfile mov(LF_MOVMAG);
|
TLocalisamfile mov(LF_MOVMAG);
|
||||||
mov.setkey(3);
|
mov.setkey(3);
|
||||||
mov.put(MOVMAG_DATAREG,_dadata);
|
mov.put(MOVMAG_DATAREG, dadata);
|
||||||
mov.read();
|
if (mov.read(_isgteq) == NOERR && !mov.bof())
|
||||||
mov.prev();
|
{
|
||||||
if (!mov.eof() || mov.get(MOVMAG_NUMREGST)!=_reg_giorn->last_numreg())
|
const long numreg = mov.get_long(MOVMAG_NUMREG); // Debugging purpose only
|
||||||
return FALSE;
|
const long mov_num = mov.get_long(MOVMAG_NUMREGST);
|
||||||
|
const long reg_num = _reg_giorn->last_numreg();
|
||||||
|
ok = mov_num == reg_num;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return TRUE;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TGiornalemag::TGiornalemag(const char *name,const char *code) :
|
TGiornalemag::TGiornalemag(const char *name,const char *code) :
|
||||||
TForm_stampemg(name,code),_curr_art(NULL),
|
TForm_stampemg(name,code),_curr_art(NULL),
|
||||||
last_pag_stampata(0),last_num_reg(0),_reg_giorn(NULL)
|
last_pag_stampata(0),_last_num_reg(0),_reg_giorn(NULL)
|
||||||
{
|
{ }
|
||||||
}
|
|
||||||
|
|
||||||
TGiornalemag::~TGiornalemag()
|
TGiornalemag::~TGiornalemag()
|
||||||
{
|
{
|
||||||
if (_curr_art) delete _curr_art;
|
if (_curr_art) delete _curr_art;
|
||||||
if (_reg_giorn) delete _reg_giorn;
|
if (_reg_giorn) delete _reg_giorn;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// dichiarazioni degli static
|
// dichiarazioni degli static
|
||||||
@ -516,46 +532,30 @@ int TGiornalemag::_annoes;
|
|||||||
// STAMPA giornale
|
// STAMPA giornale
|
||||||
class TStampa_giornalemag : public TSkeleton_application
|
class TStampa_giornalemag : public TSkeleton_application
|
||||||
{
|
{
|
||||||
TStampemg_mask * _mask;
|
|
||||||
TGiornalemag * _giorn_mag; // to be moved into TPrint_application
|
|
||||||
TCursor * _cur;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool create();
|
|
||||||
virtual bool destroy();
|
|
||||||
virtual void main_loop();
|
virtual void main_loop();
|
||||||
|
|
||||||
public:
|
|
||||||
TStampa_giornalemag() {}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
bool TStampa_giornalemag::create()
|
|
||||||
{
|
|
||||||
open_files(LF_ANAMAG, LF_MOVMAG, LF_RMOVMAG, LF_TAB, LF_TABCOM, 0);
|
|
||||||
_mask = new TStampemg_mask("mg4300");
|
|
||||||
_mask->show(F_TOLIVELLOGIAC, livelli_giacenza().enabled()); // Abilita la gestione del dettaglio livello giacenza
|
|
||||||
return TSkeleton_application::create();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TStampa_giornalemag::destroy()
|
|
||||||
{
|
|
||||||
delete _mask;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TStampa_giornalemag::main_loop()
|
void TStampa_giornalemag::main_loop()
|
||||||
{
|
{
|
||||||
while (_mask->run() == K_ENTER)
|
open_files(LF_ANAMAG, LF_MOVMAG, LF_RMOVMAG, LF_TAB, LF_TABCOM, 0);
|
||||||
|
|
||||||
|
TStampemg_mask mask("mg4300");
|
||||||
|
mask.show(F_TOLIVELLOGIAC, livelli_giacenza().enabled()); // Abilita la gestione del dettaglio livello giacenza
|
||||||
|
while (mask.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
if (_mask->magazz_ini().gestmag(TRUE))
|
if (mask.magazz_ini().gestmag(true))
|
||||||
{
|
{
|
||||||
_giorn_mag = new TGiornalemag("mg4300", "");
|
TGiornalemag* giorn_mag = new TGiornalemag("mg4300", "");
|
||||||
_giorn_mag->set_parametri(*_mask);
|
giorn_mag->set_parametri(mask);
|
||||||
if (_giorn_mag->can_be_printed())
|
|
||||||
_giorn_mag->print();
|
bool can_print = giorn_mag->can_be_printed();
|
||||||
else
|
if (!can_print)
|
||||||
error_box(TR("Impossibile stampare il giornale dalla data indicata"));
|
can_print = yesno_box(TR("Non risultano stampati i movimenti precedenti:\nContinuare ugualmente?"));
|
||||||
delete _giorn_mag;
|
if (can_print)
|
||||||
|
giorn_mag->print();
|
||||||
|
|
||||||
|
delete giorn_mag;
|
||||||
}
|
}
|
||||||
} // while true
|
} // while true
|
||||||
return ;
|
return ;
|
||||||
@ -565,6 +565,6 @@ void TStampa_giornalemag::main_loop()
|
|||||||
int mg4300(int argc, char* argv[])
|
int mg4300(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
TStampa_giornalemag a;
|
TStampa_giornalemag a;
|
||||||
a.run(argc,argv,TR("Stampa giornale di magazzino"));
|
a.run(argc, argv, TR("Stampa giornale di magazzino"));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
@ -36,11 +36,11 @@ SECTION HEADER ODD 5
|
|||||||
MESSAGE _USER,INTEST_DITTA
|
MESSAGE _USER,INTEST_DITTA
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 2 10
|
DATA 2
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Data"
|
KEY "Data"
|
||||||
PROMPT 66 1 "Data "
|
PROMPT 66 1 ""
|
||||||
MESSAGE _TODAY
|
MESSAGE _USER,DATA_STAMPA
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 4 45
|
STRINGA 4 45
|
||||||
@ -50,7 +50,7 @@ SECTION HEADER ODD 5
|
|||||||
MESSAGE _USER,INTEST_REG
|
MESSAGE _USER,INTEST_REG
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 5 80
|
STRINGA 5 90
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Separatore (iniziale)"
|
KEY "Separatore (iniziale)"
|
||||||
PROMPT 1 3 "------------------------------------------------------------------------------------------------------------------------------------------------------"
|
PROMPT 1 3 "------------------------------------------------------------------------------------------------------------------------------------------------------"
|
||||||
@ -71,7 +71,11 @@ SECTION HEADER ODD 5
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 75 4 "Valore"
|
PROMPT 75 4 "Valore"
|
||||||
END
|
END
|
||||||
STRINGA 5 80
|
STRINGA 10
|
||||||
|
BEGIN
|
||||||
|
PROMPT 84 4 "Causale"
|
||||||
|
END
|
||||||
|
STRINGA 5 90
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Separatore (iniziale)"
|
KEY "Separatore (iniziale)"
|
||||||
PROMPT 1 5 "------------------------------------------------------------------------------------------------------------------------------------------------------"
|
PROMPT 1 5 "------------------------------------------------------------------------------------------------------------------------------------------------------"
|
||||||
@ -110,7 +114,6 @@ SECTION BODY ODD 2
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 10 1 ""
|
PROMPT 10 1 ""
|
||||||
MESSAGE COPY,FF_INFOCAUS
|
MESSAGE COPY,FF_INFOCAUS
|
||||||
FIELD CAUS
|
|
||||||
FIELD LF_MOVMAG->CODCAUS
|
FIELD LF_MOVMAG->CODCAUS
|
||||||
END
|
END
|
||||||
STRINGA 102 12
|
STRINGA 102 12
|
||||||
@ -119,6 +122,12 @@ SECTION BODY ODD 2
|
|||||||
FIELD LF_UMART->UM
|
FIELD LF_UMART->UM
|
||||||
MESSAGE COPY,FF_UMTOT
|
MESSAGE COPY,FF_UMTOT
|
||||||
END
|
END
|
||||||
|
STRINGA 105
|
||||||
|
BEGIN
|
||||||
|
FLAGS "H"
|
||||||
|
FIELD CAUS
|
||||||
|
MESSAGE COPY,666
|
||||||
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
SECTION RAGG_FISCALE 1 0 0 FILE LF_RMOVMAG GROUP FISC_FIELD
|
SECTION RAGG_FISCALE 1 0 0 FILE LF_RMOVMAG GROUP FISC_FIELD
|
||||||
@ -226,6 +235,11 @@ SECTION BODY ODD 2
|
|||||||
MESSAGE _NUMEXPR,#FF_VALTOT/#FF_QTARAGGFIS
|
MESSAGE _NUMEXPR,#FF_VALTOT/#FF_QTARAGGFIS
|
||||||
GROUP 2
|
GROUP 2
|
||||||
END
|
END
|
||||||
|
STRINGA 666
|
||||||
|
BEGIN
|
||||||
|
// La riga copia qui la sua causale
|
||||||
|
PROMPT 85 1 ""
|
||||||
|
END
|
||||||
END // totali ragg_
|
END // totali ragg_
|
||||||
END // RAGG CRONOLOGICO
|
END // RAGG CRONOLOGICO
|
||||||
END // BODY: CICLO MOV
|
END // BODY: CICLO MOV
|
||||||
|
@ -38,7 +38,7 @@ END
|
|||||||
|
|
||||||
LISTBOX F_DEFINITIVA 10
|
LISTBOX F_DEFINITIVA 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 3 "Si desidera la stampa "
|
PROMPT 2 3 "Modalità di stampa "
|
||||||
ITEM "P|di prova"
|
ITEM "P|di prova"
|
||||||
ITEM "D|definitiva"
|
ITEM "D|definitiva"
|
||||||
END
|
END
|
||||||
|
@ -49,12 +49,10 @@ bool TRegistro_std::write(bool rewrite) const
|
|||||||
{
|
{
|
||||||
int err = ~NOERR;
|
int err = ~NOERR;
|
||||||
TTable reg("REG");
|
TTable reg("REG");
|
||||||
|
|
||||||
reg.set_curr((TRectype *)this);
|
|
||||||
if (rewrite)
|
if (rewrite)
|
||||||
err = reg.rewrite();
|
err = reg.rewrite_write(*this);
|
||||||
else
|
else
|
||||||
err = reg.write();
|
err = reg.write(*this);
|
||||||
return err == NOERR;
|
return err == NOERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user