campo-sirio/cg/cg4401.cpp
guy 2442a6edf3 Controllo della data di registrazione rispetto alla data di stampa del libro
giornale dell'esercizio corrispondente.


git-svn-id: svn://10.65.10.50/trunk@220 c028cbd2-c16b-5b4b-a496-9718f37d4682
1994-09-12 09:33:02 +00:00

108 lines
2.3 KiB
C++
Executable File

// cg4401.cpp
//
#include <applicat.h>
#include <isam.h>
#include <strings.h>
#include <lffiles.h>
#include <utility.h>
#include <nditte.h>
#include <anagr.h>
#include <comuni.h>
#include "cg4400.h"
static TString256 tmp;
TRectype& TDati_ditta::look_com(const char * cod)
{
_comuni->zero();
_comuni->put(COM_COM,cod);
_comuni->read();
if (_comuni->bad()) _comuni->zero();
return _comuni->curr();
}
TDati_ditta::TDati_ditta(long cod_ditta, int stampa_width)
{
_stampa_width = stampa_width;
_codditta = cod_ditta;
_nditte = new TLocalisamfile(LF_NDITTE);
_anag = new TLocalisamfile(LF_ANAG);
_comuni = new TLocalisamfile(LF_COMUNI);
}
TDati_ditta::~TDati_ditta()
{
delete _anag; delete _nditte; delete _comuni;
}
void TDati_ditta::get_dati_ditta ()
{
TString16 codanagr;
char tipoa;
_nditte->zero();
_nditte->put(NDT_CODDITTA, _codditta);
_nditte->read();
if (_nditte->bad()) _nditte->zero();
_ragsoc = _nditte->get(NDT_RAGSOC);
codanagr = _nditte->get(NDT_CODANAGR);
tipoa = _nditte->get_char(NDT_TIPOA);
_anag->setkey(1);
_anag->zero();
_anag->put (ANA_TIPOA, tipoa);
_anag->put (ANA_CODANAGR, codanagr);
_anag->read();
if (_anag->bad()) _anag->zero();
_cofi = _anag->get(ANA_COFI);
_paiva = _anag->get(ANA_PAIV);
_comunefis = _anag->get(ANA_COMRF);
if (_comunefis.trim().empty())
_comunefis = _anag->get(ANA_COMRES);
TRectype dep = look_com (_comunefis);
_comunefis = dep.get(COM_DENCOM);
_provfis = dep.get(COM_PROVCOM);
_cap = dep.get(COM_CAPCOM);
if (_comunefis.trim().empty())
{
_viafis = _anag->get(ANA_INDRF);
_viafis.rtrim();
_viafis << " " << _anag->curr().get (ANA_CIVRF);
}
else
{
_viafis = _anag->get(ANA_INDRES);
_viafis.rtrim();
_viafis << " " << _anag->get (ANA_CIVRES);
}
}
const char * TDati_ditta::prima_riga()
{
get_dati_ditta();
tmp << "Ditta " << _codditta << ' ' << _ragsoc << " Via " << _viafis << ' '
<< _cap << ' ' << _comunefis << ' ' << _provfis;
return tmp;
}
const char * TDati_ditta::seconda_riga()
{
tmp = "";
tmp = "Data @<";
tmp.right_just(_stampa_width-15);
tmp.overwrite (format ("Partita iva %s @26gCodice fiscale %s",
(const char*)_paiva, (const char*)_cofi));
return tmp;
}