Corretto conflitto precedente
git-svn-id: svn://10.65.10.50/trunk@75 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
fff1daf8af
commit
163625d934
680
cg/cg3200.cpp
680
cg/cg3200.cpp
@ -1280,8 +1280,7 @@ void CG3200_application::calcola_progressivi_al()
|
||||
|
||||
void CG3200_application::calcola_progressivi()
|
||||
{
|
||||
<<<<<<< cg3200.cpp
|
||||
TLocalisamfile pconti(LF_PCON);
|
||||
TLocalisamfile pconti(LF_PCON);
|
||||
TLocalisamfile saldi (LF_SALDI);
|
||||
real pdaresca,paveresca,pdarescap,paverescap;
|
||||
real progdare_attuale,progavere_attuale,progdare_prec,progavere_prec;
|
||||
@ -1317,7 +1316,7 @@ void CG3200_application::calcola_progressivi()
|
||||
pconti.put(PCN_CONTO , _conto);
|
||||
pconti.read();
|
||||
if (pconti.good())
|
||||
indbil = atoi (pconti.get(PCN_INDBIL));
|
||||
indbil = pconti.get_int(PCN_INDBIL);
|
||||
else
|
||||
indbil = 0;
|
||||
}
|
||||
@ -1354,427 +1353,352 @@ void CG3200_application::calcola_progressivi()
|
||||
pdarep = saldi.curr().get_real(SLD_PDARE);
|
||||
paverescap = saldi.curr().get_real(SLD_PAVERESCA);
|
||||
paverep = saldi.curr().get_real(SLD_PAVERE);
|
||||
=======
|
||||
TLocalisamfile pconti(LF_PCON);
|
||||
TLocalisamfile saldi (LF_SALDI);
|
||||
real pdaresca,paveresca,pdarescap,paverescap;
|
||||
real progdare_attuale,progavere_attuale,progdare_prec,progavere_prec;
|
||||
real saldo,progredare_eseprec,progreavere_eseprec,pdarep,paverep;
|
||||
int indbil;
|
||||
char salini;
|
||||
TRectype record(saldi.curr());
|
||||
|
||||
saldo = 0.00;
|
||||
pdarep = 0.00;
|
||||
paverep = 0.00;
|
||||
pdaresca = 0.00;
|
||||
paveresca = 0.00;
|
||||
pdarescap = 0.00;
|
||||
paverescap = 0.00;
|
||||
// Ricerca sull'archivio saldi dei record con gruppo,conto,sottoconto
|
||||
// uguali a quelli di rmov per il calcolo dei progressivi precedenti
|
||||
|
||||
record.zero();
|
||||
record.put(SLD_GRUPPO, _gruppo);
|
||||
record.put(SLD_CONTO, _conto);
|
||||
record.put(SLD_SOTTOCONTO, _sottoc);
|
||||
// Se il saldo dell'esercizio attuale e' diverso da 0 allora significa che
|
||||
// quello corrisponde al saldo finale dell'esercizio precedente. Per ottenere
|
||||
// i progressivi dell'esercizio precedente devo a questo punto sommare i
|
||||
// progressivi dell'esercizio e i progressivi di quelli scaricati, tenendo
|
||||
// conto del flag salini per sapere se il saldo e' dare oppure avere.
|
||||
|
||||
if (_ricerca == 'P')
|
||||
indbil = atoi (current_cursor()->file(LF_PCON)->get(PCN_INDBIL));
|
||||
else
|
||||
if (saldo != 0)
|
||||
{
|
||||
if ((_ricerca == 'C') || (_ricerca == 'F'))
|
||||
if (salini == 'D')
|
||||
{
|
||||
pconti.setkey(1);
|
||||
pconti.zero();
|
||||
pconti.put(PCN_GRUPPO, _gruppo);
|
||||
pconti.put(PCN_CONTO , _conto);
|
||||
pconti.read();
|
||||
if (pconti.good())
|
||||
indbil = pconti.get_int(PCN_INDBIL);
|
||||
else
|
||||
indbil = 0;
|
||||
progredare_eseprec = saldo + pdarescap + pdarep;
|
||||
progreavere_eseprec = paverescap + paverep;
|
||||
}
|
||||
}
|
||||
|
||||
saldi.setkey(2);
|
||||
|
||||
saldi.zero();
|
||||
saldi.put(SLD_GRUPPO, _gruppo);
|
||||
saldi.put(SLD_CONTO, _conto);
|
||||
saldi.put(SLD_SOTTOCONTO, _sottoc);
|
||||
|
||||
for ( saldi.read();
|
||||
((saldi.curr()==record) && !saldi.eof());
|
||||
saldi.next())
|
||||
{
|
||||
long annoes_saldi = saldi.curr().get_long(SLD_ANNOES);
|
||||
|
||||
//Calcola i progressivi dell'esercizio attuale
|
||||
|
||||
if (annoes_saldi == _annomsk)
|
||||
else if (salini == 'A')
|
||||
{
|
||||
pdaresca = saldi.curr().get_real(SLD_PDARESCA);
|
||||
paveresca = saldi.curr().get_real(SLD_PAVERESCA);
|
||||
saldo = saldi.curr().get_real(SLD_SALDO);
|
||||
salini = saldi.curr().get(SLD_FLAGSALINI)[0];
|
||||
progredare_eseprec = pdarescap + pdarep;
|
||||
progreavere_eseprec = saldo + paverescap + paverep;
|
||||
}
|
||||
|
||||
//Calcola i progressivi dell'esercizio precedente
|
||||
|
||||
if (annoes_saldi == _annoesmsk)
|
||||
{
|
||||
pdarescap = saldi.curr().get_real(SLD_PDARESCA);
|
||||
pdarep = saldi.curr().get_real(SLD_PDARE);
|
||||
paverescap = saldi.curr().get_real(SLD_PAVERESCA);
|
||||
paverep = saldi.curr().get_real(SLD_PAVERE);
|
||||
>>>>>>> 1.2
|
||||
|
||||
// Se il saldo dell'esercizio attuale e' diverso da 0 allora significa che
|
||||
// quello corrisponde al saldo finale dell'esercizio precedente. Per ottenere
|
||||
// i progressivi dell'esercizio precedente devo a questo punto sommare i
|
||||
// progressivi dell'esercizio e i progressivi di quelli scaricati, tenendo
|
||||
// conto del flag salini per sapere se il saldo e' dare oppure avere.
|
||||
|
||||
if (saldo != 0)
|
||||
{
|
||||
if (salini == 'D')
|
||||
{
|
||||
progredare_eseprec = saldo + pdarescap + pdarep;
|
||||
progreavere_eseprec = paverescap + paverep;
|
||||
}
|
||||
else if (salini == 'A')
|
||||
{
|
||||
progredare_eseprec = pdarescap + pdarep;
|
||||
progreavere_eseprec = saldo + paverescap + paverep;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//Se il saldo dell'esercizio attuale non e' diverso da zero, allora il saldo
|
||||
// finale dell'esercizio precedente devo calcolarmelo tenendo conto dell'indbil
|
||||
|
||||
if ((indbil == 1) || (indbil == 2) || (indbil == 5))
|
||||
{
|
||||
saldo = _sld.saldofin_esprec(_annomsk,_gruppo,_conto,_sottoc);
|
||||
|
||||
if (saldo.sign() > 0)
|
||||
{
|
||||
progredare_eseprec = saldo + pdarescap + pdarep;
|
||||
progreavere_eseprec = paverescap + paverep;
|
||||
}
|
||||
else if (saldo.sign() < 0)
|
||||
{
|
||||
progredare_eseprec = pdarescap + pdarep;
|
||||
progreavere_eseprec = saldo + paverescap + paverep;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Calcolo dei progressivi precedenti: somma di tutti quei movimenti di rmov
|
||||
//che hanno la data di registrazione inferiore alla data di inizio stampa,
|
||||
//dei progressivi dell'anno esercizio precedente, e dei progressivi dei
|
||||
//movimenti scaricati dell'esercizio attuale.
|
||||
|
||||
calcola_progressivi_al();
|
||||
|
||||
_progredare = pdaresca + progredare_eseprec + _totale_prima_dare;
|
||||
_progreavere = paveresca + progreavere_eseprec + _totale_prima_avere;
|
||||
_saldo_progre_prec = _progredare - _progreavere;
|
||||
} // FOR
|
||||
|
||||
if (_numcarat == 1)
|
||||
{
|
||||
TString string = _saldo_progre_prec.string("###############");
|
||||
set_header (10,"@32gPROGRESSIVI PRECEDENTI@61g%15s",(const char*) string);
|
||||
string = _progredare.string("###############");
|
||||
set_header (10,"@77g%15s",(const char*) string);
|
||||
string = _progreavere.string("###############");
|
||||
set_header (10,"@93g%15s",(const char*) string);
|
||||
}
|
||||
|
||||
if (_numcarat == 2)
|
||||
{
|
||||
TString string = _progredare.string("###############");
|
||||
set_header (10,"@32gPROGRESSIVI PRECEDENTI@102g%15s",(const char*)string);
|
||||
string = _progreavere.string("###############");
|
||||
set_header (10,"@119g%15s",(const char*) string);
|
||||
}
|
||||
//Calcolo dei progressivi al <ultima data registrazione>
|
||||
|
||||
|
||||
//Se sulla maschera e' stato selezionato il controllo competenza esercizio
|
||||
//Sommo i progressivi dell'esercizio precedente e quelli dell'esercizio attuale
|
||||
//altrimenti solo quelli dell'esercizio attuale
|
||||
|
||||
if (_competenza)
|
||||
{
|
||||
_totprogre_dare_al = progdare_attuale + progdare_prec;
|
||||
_totprogre_avere_al = progavere_attuale + progavere_prec;
|
||||
}
|
||||
else
|
||||
{
|
||||
_totprogre_dare_al = progdare_attuale;
|
||||
_totprogre_avere_al = progavere_attuale;
|
||||
}
|
||||
}
|
||||
|
||||
// Se la ricerca selezionata nella maschera e' per clienti, oppure fornitori, // allora ricerco su CLIFO i relativi dati, e su PCON il relativo gruppo,conto,// sottoconto e IV direttiva CEE
|
||||
//Se il saldo dell'esercizio attuale non e' diverso da zero, allora il saldo
|
||||
// finale dell'esercizio precedente devo calcolarmelo tenendo conto dell'indbil
|
||||
|
||||
void CG3200_application::ricerca_clifo()
|
||||
{
|
||||
TString ragsoc,paiv,cofi,indcf,capcf,ptel,tel,statocf,comcf,dencom,provcom,dep;
|
||||
TLocalisamfile pconti(LF_PCON);
|
||||
TString dataini,datafine;
|
||||
|
||||
ragsoc = (current_cursor()->curr(LF_CLIFO).get(CLI_RAGSOC));
|
||||
paiv = (current_cursor()->curr(LF_CLIFO).get(CLI_PAIV));
|
||||
cofi = (current_cursor()->curr(LF_CLIFO).get(CLI_COFI));
|
||||
indcf = (current_cursor()->curr(LF_CLIFO).get(CLI_INDCF));
|
||||
capcf = (current_cursor()->curr(LF_CLIFO).get(CLI_CAPCF));
|
||||
ptel = (current_cursor()->curr(LF_CLIFO).get(CLI_PTEL));
|
||||
tel = (current_cursor()->curr(LF_CLIFO).get(CLI_TEL));
|
||||
statocf = (current_cursor()->curr(LF_CLIFO).get(CLI_STATOCF));
|
||||
comcf = (current_cursor()->curr(LF_CLIFO).get(CLI_COMCF));
|
||||
|
||||
_comuni->setkey(1);
|
||||
_comuni->curr().zero();
|
||||
_comuni->curr().put(COM_STATO, statocf);
|
||||
_comuni->curr().put(COM_COM, comcf);
|
||||
_comuni->read();
|
||||
dencom = _comuni->curr().get(COM_DENCOM);
|
||||
provcom = _comuni->curr().get(COM_PROVCOM);
|
||||
|
||||
pconti.setkey(1);
|
||||
pconti.curr().zero();
|
||||
pconti.curr().put(PCN_GRUPPO, _gruppo);
|
||||
pconti.curr().put(PCN_CONTO, _conto);
|
||||
pconti.curr().put(PCN_SOTTOCONTO, _sottoc);
|
||||
pconti.read();
|
||||
_sezivd = pconti.curr().get(PCN_SEZIVD);
|
||||
_lettivd = pconti.curr().get(PCN_LETTIVD);
|
||||
_numrivd = atoi(pconti.curr().get(PCN_NUMRIVD));
|
||||
_numivd = atoi(pconti.curr().get(PCN_NUMIVD));
|
||||
|
||||
_tabivd->curr().zero();
|
||||
dep << format ("%1s%1s%8d%2d",(const char*)_sezivd,(const char*)_lettivd,(const char*)_numrivd,_numivd);
|
||||
_tabivd->curr().put("CODTAB", (const char*) dep);
|
||||
_tabivd->read();
|
||||
TString descriz = _tabivd->curr().get("S0");
|
||||
|
||||
if (_ricerca == 'P')
|
||||
{
|
||||
set_header(3,"@27g%-30s",(const char*) descrizione_gruppo());
|
||||
set_header(3,"@59g%-30s",(const char*) descrizione_conto());
|
||||
}
|
||||
else
|
||||
if ((_ricerca == 'C')||(_ricerca == 'F'))
|
||||
if ((indbil == 1) || (indbil == 2) || (indbil == 5))
|
||||
{
|
||||
set_header(3,"@27g%-30s",(const char*) descrizione_gruppo_clifo());
|
||||
set_header(3,"@59g%-30s",(const char*) descrizione_conto_clifo());
|
||||
saldo = _sld.saldofin_esprec(_annomsk,_gruppo,_conto,_sottoc);
|
||||
|
||||
if (saldo.sign() > 0)
|
||||
{
|
||||
progredare_eseprec = saldo + pdarescap + pdarep;
|
||||
progreavere_eseprec = paverescap + paverep;
|
||||
}
|
||||
else if (saldo.sign() < 0)
|
||||
{
|
||||
progredare_eseprec = pdarescap + pdarep;
|
||||
progreavere_eseprec = saldo + paverescap + paverep;
|
||||
}
|
||||
}
|
||||
set_header(3, "@91g%-30s",(const char*) ragsoc);
|
||||
set_header(4, "@1gClasse@8g%1s",(const char*) _lettivd);
|
||||
set_header(4, "@10g%8s",(const char*) _numrivd);
|
||||
set_header(4, "@19g%2d", _numivd);
|
||||
set_header(4,"@23g%-50s",(const char*) descriz);
|
||||
|
||||
dataini = _data_ini.string();
|
||||
set_header (5, "@1gPeriodo@10g%s", (const char*) dataini);
|
||||
datafine = _data_fine.string();
|
||||
set_header (5, "@22g%s", (const char*) datafine);
|
||||
set_header (5, "@34g%-11s",(const char*) paiv);
|
||||
set_header (5, "@46g%-16s",(const char*) cofi);
|
||||
set_header (5, "@63g%-25s",(const char*) indcf);
|
||||
set_header (5, "@89g%-5s",(const char*) capcf);
|
||||
set_header (5, "@95g%-30s",(const char*) dencom);
|
||||
set_header (5,"@126g%-5s",(const char*) provcom);
|
||||
|
||||
if (_numcarat == 2)
|
||||
{
|
||||
set_header (5,"@134g%-4s",(const char*) ptel);
|
||||
set_header (5,"@138g/@139g%-10s",(const char*) tel);
|
||||
}
|
||||
}
|
||||
|
||||
// Se la ricerca selezionata sulla maschera e' per gruppo, conto, sottoconto
|
||||
// ricerca i corrispondenti su PCON, con relativa IV direttiva CEE
|
||||
//Calcolo dei progressivi precedenti: somma di tutti quei movimenti di rmov
|
||||
//che hanno la data di registrazione inferiore alla data di inizio stampa,
|
||||
//dei progressivi dell'anno esercizio precedente, e dei progressivi dei
|
||||
//movimenti scaricati dell'esercizio attuale.
|
||||
|
||||
void CG3200_application::ricerca_gruppo()
|
||||
{
|
||||
TString descr,descriz,dep;
|
||||
int numrivd;
|
||||
TString dataini,datafine;
|
||||
calcola_progressivi_al();
|
||||
|
||||
_progredare = pdaresca + progredare_eseprec + _totale_prima_dare;
|
||||
_progreavere = paveresca + progreavere_eseprec + _totale_prima_avere;
|
||||
_saldo_progre_prec = _progredare - _progreavere;
|
||||
} // FOR
|
||||
|
||||
descr = (current_cursor()->curr(LF_PCON).get(PCN_DESCR));
|
||||
_sezivd = (current_cursor()->curr(LF_PCON).get(PCN_SEZIVD));
|
||||
_lettivd = (current_cursor()->curr(LF_PCON).get(PCN_LETTIVD));
|
||||
numrivd = atoi(current_cursor()->curr(LF_PCON).get(PCN_NUMRIVD));
|
||||
_numrivd = itor(numrivd);
|
||||
_numivd = atoi(current_cursor()->curr(LF_PCON).get(PCN_NUMIVD));
|
||||
if (_numcarat == 1)
|
||||
{
|
||||
TString string = _saldo_progre_prec.string("###############");
|
||||
set_header (10,"@32gPROGRESSIVI PRECEDENTI@61g%15s",(const char*) string);
|
||||
string = _progredare.string("###############");
|
||||
set_header (10,"@77g%15s",(const char*) string);
|
||||
string = _progreavere.string("###############");
|
||||
set_header (10,"@93g%15s",(const char*) string);
|
||||
}
|
||||
|
||||
if (_numcarat == 2)
|
||||
{
|
||||
TString string = _progredare.string("###############");
|
||||
set_header (10,"@32gPROGRESSIVI PRECEDENTI@102g%15s",(const char*)string);
|
||||
string = _progreavere.string("###############");
|
||||
set_header (10,"@119g%15s",(const char*) string);
|
||||
}
|
||||
//Calcolo dei progressivi al <ultima data registrazione>
|
||||
|
||||
|
||||
_tabivd->curr().zero();
|
||||
dep << format ("%1s%1s%8d%2d",(const char*)_sezivd,(const char*)_lettivd,(const char*)_numrivd,_numivd);
|
||||
_tabivd->curr().put("CODTAB", (const char*) dep);
|
||||
_tabivd->read();
|
||||
descriz = _tabivd->curr().get("S0");
|
||||
//Se sulla maschera e' stato selezionato il controllo competenza esercizio
|
||||
//Sommo i progressivi dell'esercizio precedente e quelli dell'esercizio attuale
|
||||
//altrimenti solo quelli dell'esercizio attuale
|
||||
|
||||
if (_ricerca == 'P')
|
||||
{
|
||||
set_header(3,"@27g%-30s",(const char*) descrizione_gruppo());
|
||||
set_header(3,"@59g%-30s",(const char*) descrizione_conto());
|
||||
}
|
||||
else
|
||||
if ((_ricerca == 'C')||(_ricerca == 'F'))
|
||||
{
|
||||
set_header(3,"@27g%-30s",(const char*) descrizione_gruppo());
|
||||
set_header(3,"@59g%-30s",(const char*) descrizione_conto());
|
||||
}
|
||||
if (_competenza)
|
||||
{
|
||||
_totprogre_dare_al = progdare_attuale + progdare_prec;
|
||||
_totprogre_avere_al = progavere_attuale + progavere_prec;
|
||||
}
|
||||
else
|
||||
{
|
||||
_totprogre_dare_al = progdare_attuale;
|
||||
_totprogre_avere_al = progavere_attuale;
|
||||
}
|
||||
}
|
||||
|
||||
set_header(3,"@91g%-30s",(const char*) descr);
|
||||
set_header(4, "@0gClasse@12g%1s",(const char*) _lettivd);
|
||||
set_header(4, "@14g%8s",(const char*) _numrivd);
|
||||
set_header(4, "@23g%d", _numivd);
|
||||
set_header(4,"@27g%-50s",(const char*) descriz);
|
||||
|
||||
dataini = _data_ini.string();
|
||||
set_header (5, "@0gPeriodo@12g%s", (const char*) dataini);
|
||||
datafine = _data_fine.string();
|
||||
set_header (5, "@24g%s", (const char*) datafine);
|
||||
}
|
||||
// Se la ricerca selezionata nella maschera e' per clienti, oppure fornitori, // allora ricerco su CLIFO i relativi dati, e su PCON il relativo gruppo,conto,// sottoconto e IV direttiva CEE
|
||||
|
||||
//Ricerca la descrizione relativa al gruppo da stampare
|
||||
void CG3200_application::ricerca_clifo()
|
||||
{
|
||||
TString ragsoc,paiv,cofi,indcf,capcf,ptel,tel,statocf,comcf,dencom,provcom,dep;
|
||||
TLocalisamfile pconti(LF_PCON);
|
||||
TString dataini,datafine;
|
||||
|
||||
const char* CG3200_application::descrizione_gruppo()
|
||||
ragsoc = (current_cursor()->curr(LF_CLIFO).get(CLI_RAGSOC));
|
||||
paiv = (current_cursor()->curr(LF_CLIFO).get(CLI_PAIV));
|
||||
cofi = (current_cursor()->curr(LF_CLIFO).get(CLI_COFI));
|
||||
indcf = (current_cursor()->curr(LF_CLIFO).get(CLI_INDCF));
|
||||
capcf = (current_cursor()->curr(LF_CLIFO).get(CLI_CAPCF));
|
||||
ptel = (current_cursor()->curr(LF_CLIFO).get(CLI_PTEL));
|
||||
tel = (current_cursor()->curr(LF_CLIFO).get(CLI_TEL));
|
||||
statocf = (current_cursor()->curr(LF_CLIFO).get(CLI_STATOCF));
|
||||
comcf = (current_cursor()->curr(LF_CLIFO).get(CLI_COMCF));
|
||||
|
||||
_comuni->setkey(1);
|
||||
_comuni->curr().zero();
|
||||
_comuni->curr().put(COM_STATO, statocf);
|
||||
_comuni->curr().put(COM_COM, comcf);
|
||||
_comuni->read();
|
||||
dencom = _comuni->curr().get(COM_DENCOM);
|
||||
provcom = _comuni->curr().get(COM_PROVCOM);
|
||||
|
||||
pconti.setkey(1);
|
||||
pconti.curr().zero();
|
||||
pconti.curr().put(PCN_GRUPPO, _gruppo);
|
||||
pconti.curr().put(PCN_CONTO, _conto);
|
||||
pconti.curr().put(PCN_SOTTOCONTO, _sottoc);
|
||||
pconti.read();
|
||||
_sezivd = pconti.curr().get(PCN_SEZIVD);
|
||||
_lettivd = pconti.curr().get(PCN_LETTIVD);
|
||||
_numrivd = atoi(pconti.curr().get(PCN_NUMRIVD));
|
||||
_numivd = atoi(pconti.curr().get(PCN_NUMIVD));
|
||||
|
||||
_tabivd->curr().zero();
|
||||
dep << format ("%1s%1s%8d%2d",(const char*)_sezivd,(const char*)_lettivd,(const char*)_numrivd,_numivd);
|
||||
_tabivd->curr().put("CODTAB", (const char*) dep);
|
||||
_tabivd->read();
|
||||
TString descriz = _tabivd->curr().get("S0");
|
||||
|
||||
if (_ricerca == 'P')
|
||||
{
|
||||
set_header(3,"@27g%-30s",(const char*) descrizione_gruppo());
|
||||
set_header(3,"@59g%-30s",(const char*) descrizione_conto());
|
||||
}
|
||||
else
|
||||
if ((_ricerca == 'C')||(_ricerca == 'F'))
|
||||
{
|
||||
TLocalisamfile* pconti;
|
||||
long record;
|
||||
|
||||
pconti = current_cursor()->file(LF_PCON);
|
||||
record = pconti->recno();
|
||||
pconti->curr().zero();
|
||||
pconti->curr().put(PCN_GRUPPO,_gruppo);
|
||||
pconti->read();
|
||||
tmp = pconti->curr().get(PCN_DESCR);
|
||||
pconti->readat(record);
|
||||
return (tmp);
|
||||
set_header(3,"@27g%-30s",(const char*) descrizione_gruppo_clifo());
|
||||
set_header(3,"@59g%-30s",(const char*) descrizione_conto_clifo());
|
||||
}
|
||||
set_header(3, "@91g%-30s",(const char*) ragsoc);
|
||||
set_header(4, "@1gClasse@8g%1s",(const char*) _lettivd);
|
||||
set_header(4, "@10g%8s",(const char*) _numrivd);
|
||||
set_header(4, "@19g%2d", _numivd);
|
||||
set_header(4,"@23g%-50s",(const char*) descriz);
|
||||
|
||||
dataini = _data_ini.string();
|
||||
set_header (5, "@1gPeriodo@10g%s", (const char*) dataini);
|
||||
datafine = _data_fine.string();
|
||||
set_header (5, "@22g%s", (const char*) datafine);
|
||||
set_header (5, "@34g%-11s",(const char*) paiv);
|
||||
set_header (5, "@46g%-16s",(const char*) cofi);
|
||||
set_header (5, "@63g%-25s",(const char*) indcf);
|
||||
set_header (5, "@89g%-5s",(const char*) capcf);
|
||||
set_header (5, "@95g%-30s",(const char*) dencom);
|
||||
set_header (5,"@126g%-5s",(const char*) provcom);
|
||||
|
||||
if (_numcarat == 2)
|
||||
{
|
||||
set_header (5,"@134g%-4s",(const char*) ptel);
|
||||
set_header (5,"@138g/@139g%-10s",(const char*) tel);
|
||||
}
|
||||
}
|
||||
|
||||
// Ricerca la descrizione relativa al conto da stampare
|
||||
// Se la ricerca selezionata sulla maschera e' per gruppo, conto, sottoconto
|
||||
// ricerca i corrispondenti su PCON, con relativa IV direttiva CEE
|
||||
|
||||
const char* CG3200_application::descrizione_conto()
|
||||
void CG3200_application::ricerca_gruppo()
|
||||
{
|
||||
TString descr,descriz,dep;
|
||||
int numrivd;
|
||||
TString dataini,datafine;
|
||||
|
||||
descr = (current_cursor()->curr(LF_PCON).get(PCN_DESCR));
|
||||
_sezivd = (current_cursor()->curr(LF_PCON).get(PCN_SEZIVD));
|
||||
_lettivd = (current_cursor()->curr(LF_PCON).get(PCN_LETTIVD));
|
||||
numrivd = atoi(current_cursor()->curr(LF_PCON).get(PCN_NUMRIVD));
|
||||
_numrivd = itor(numrivd);
|
||||
_numivd = atoi(current_cursor()->curr(LF_PCON).get(PCN_NUMIVD));
|
||||
|
||||
_tabivd->curr().zero();
|
||||
dep << format ("%1s%1s%8d%2d",(const char*)_sezivd,(const char*)_lettivd,(const char*)_numrivd,_numivd);
|
||||
_tabivd->curr().put("CODTAB", (const char*) dep);
|
||||
_tabivd->read();
|
||||
descriz = _tabivd->curr().get("S0");
|
||||
|
||||
if (_ricerca == 'P')
|
||||
{
|
||||
set_header(3,"@27g%-30s",(const char*) descrizione_gruppo());
|
||||
set_header(3,"@59g%-30s",(const char*) descrizione_conto());
|
||||
}
|
||||
else
|
||||
if ((_ricerca == 'C')||(_ricerca == 'F'))
|
||||
{
|
||||
TLocalisamfile* pconti;
|
||||
long record;
|
||||
|
||||
pconti = current_cursor()->file(LF_PCON);
|
||||
record = pconti->recno();
|
||||
pconti->curr().zero();
|
||||
pconti->curr().put(PCN_GRUPPO,_gruppo);
|
||||
pconti->curr().put(PCN_CONTO,_conto);
|
||||
pconti->read();
|
||||
tmp = pconti->curr().get(PCN_DESCR);
|
||||
pconti->readat(record);
|
||||
return (tmp);
|
||||
set_header(3,"@27g%-30s",(const char*) descrizione_gruppo());
|
||||
set_header(3,"@59g%-30s",(const char*) descrizione_conto());
|
||||
}
|
||||
|
||||
//Ricerca la descrizione relativa al gruppo da stampare
|
||||
set_header(3,"@91g%-30s",(const char*) descr);
|
||||
set_header(4, "@0gClasse@12g%1s",(const char*) _lettivd);
|
||||
set_header(4, "@14g%8s",(const char*) _numrivd);
|
||||
set_header(4, "@23g%d", _numivd);
|
||||
set_header(4,"@27g%-50s",(const char*) descriz);
|
||||
|
||||
dataini = _data_ini.string();
|
||||
set_header (5, "@0gPeriodo@12g%s", (const char*) dataini);
|
||||
datafine = _data_fine.string();
|
||||
set_header (5, "@24g%s", (const char*) datafine);
|
||||
}
|
||||
|
||||
const char* CG3200_application::descrizione_gruppo_clifo()
|
||||
{
|
||||
TLocalisamfile pconti(LF_PCON);
|
||||
//Ricerca la descrizione relativa al gruppo da stampare
|
||||
|
||||
pconti.curr().zero();
|
||||
pconti.curr().put(PCN_GRUPPO,_gruppo);
|
||||
pconti.read();
|
||||
tmp = pconti.curr().get(PCN_DESCR);
|
||||
return (tmp);
|
||||
}
|
||||
const char* CG3200_application::descrizione_gruppo()
|
||||
{
|
||||
TLocalisamfile* pconti;
|
||||
long record;
|
||||
|
||||
// Ricerca la descrizione relativa al conto da stampare
|
||||
pconti = current_cursor()->file(LF_PCON);
|
||||
record = pconti->recno();
|
||||
pconti->curr().zero();
|
||||
pconti->curr().put(PCN_GRUPPO,_gruppo);
|
||||
pconti->read();
|
||||
tmp = pconti->curr().get(PCN_DESCR);
|
||||
pconti->readat(record);
|
||||
return (tmp);
|
||||
}
|
||||
|
||||
const char* CG3200_application::descrizione_conto_clifo()
|
||||
{
|
||||
TLocalisamfile pconti(LF_PCON);
|
||||
|
||||
pconti.curr().zero();
|
||||
pconti.curr().put(PCN_GRUPPO,_gruppo);
|
||||
pconti.curr().put(PCN_CONTO,_conto);
|
||||
pconti.read();
|
||||
tmp = pconti.curr().get(PCN_DESCR);
|
||||
return (tmp);
|
||||
}
|
||||
// Ricerca la descrizione relativa al conto da stampare
|
||||
|
||||
void CG3200_application::user_create()
|
||||
{
|
||||
TToken_string exp,exp1;
|
||||
const char* CG3200_application::descrizione_conto()
|
||||
{
|
||||
TLocalisamfile* pconti;
|
||||
long record;
|
||||
|
||||
_rel = new TRelation (LF_PCON);
|
||||
pconti = current_cursor()->file(LF_PCON);
|
||||
record = pconti->recno();
|
||||
pconti->curr().zero();
|
||||
pconti->curr().put(PCN_GRUPPO,_gruppo);
|
||||
pconti->curr().put(PCN_CONTO,_conto);
|
||||
pconti->read();
|
||||
tmp = pconti->curr().get(PCN_DESCR);
|
||||
pconti->readat(record);
|
||||
return (tmp);
|
||||
}
|
||||
|
||||
exp.add("GRUPPO=GRUPPO");
|
||||
exp.add("CONTO=CONTO");
|
||||
exp.add("SOTTOCONTO=SOTTOCONTO");
|
||||
_rel->add(LF_RMOV,exp,2,LF_PCON);
|
||||
//Ricerca la descrizione relativa al gruppo da stampare
|
||||
|
||||
_cur1=add_cursor(new TCursor(_rel,"((CONTO!=\"\")&&(SOTTOCONTO!=\"\"))",1));
|
||||
|
||||
_rel_clifo = new TRelation (LF_CLIFO);
|
||||
|
||||
exp1.add("GRUPPO=GRUPPO");
|
||||
exp1.add("CONTO=CONTO");
|
||||
exp1.add("SOTTOCONTO=CODCF");
|
||||
_rel_clifo->add(LF_RMOV,exp1,2,LF_CLIFO);
|
||||
|
||||
_cur2=add_cursor(new TCursor(_rel_clifo,"TIPOCF=\"C\"",3));
|
||||
const char* CG3200_application::descrizione_gruppo_clifo()
|
||||
{
|
||||
TLocalisamfile pconti(LF_PCON);
|
||||
|
||||
_cur3=add_cursor(new TCursor(_rel_clifo,"TIPOCF=\"F\"",3));
|
||||
pconti.curr().zero();
|
||||
pconti.curr().put(PCN_GRUPPO,_gruppo);
|
||||
pconti.read();
|
||||
tmp = pconti.curr().get(PCN_DESCR);
|
||||
return (tmp);
|
||||
}
|
||||
|
||||
_nditte = new TLocalisamfile (LF_NDITTE);
|
||||
_unloc = new TLocalisamfile (LF_UNLOC);
|
||||
_comuni = new TLocalisamfile (LF_COMUNI);
|
||||
_mov = new TLocalisamfile (LF_MOV);
|
||||
_clifo = new TLocalisamfile (LF_CLIFO);
|
||||
_caus = new TLocalisamfile (LF_CAUSALI);
|
||||
_tabivd = new TTable (TAB_IVD);
|
||||
_tabtpd = new TTable (TAB_TPD);
|
||||
_tabreg = new TTable (TAB_REG);
|
||||
_tabesc = new TTable (TAB_ESC);
|
||||
|
||||
_msk = new TMask("cg3200a");
|
||||
_msk->set_handler(F_ANNO, our_handler);
|
||||
|
||||
_inizio_stampa = TRUE;
|
||||
}
|
||||
// Ricerca la descrizione relativa al conto da stampare
|
||||
|
||||
void CG3200_application::user_destroy()
|
||||
{
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
delete _rel_clifo;
|
||||
delete _mov;
|
||||
delete _nditte;
|
||||
delete _unloc;
|
||||
delete _comuni;
|
||||
delete _clifo;
|
||||
delete _caus;
|
||||
delete _tabivd;
|
||||
delete _tabtpd;
|
||||
delete _tabreg;
|
||||
delete _tabesc;
|
||||
|
||||
}
|
||||
const char* CG3200_application::descrizione_conto_clifo()
|
||||
{
|
||||
TLocalisamfile pconti(LF_PCON);
|
||||
|
||||
pconti.curr().zero();
|
||||
pconti.curr().put(PCN_GRUPPO,_gruppo);
|
||||
pconti.curr().put(PCN_CONTO,_conto);
|
||||
pconti.read();
|
||||
tmp = pconti.curr().get(PCN_DESCR);
|
||||
return (tmp);
|
||||
}
|
||||
|
||||
int cg3200(int argc, char* argv[])
|
||||
{
|
||||
void CG3200_application::user_create()
|
||||
{
|
||||
TToken_string exp,exp1;
|
||||
|
||||
CG3200_application a;
|
||||
_rel = new TRelation (LF_PCON);
|
||||
|
||||
a.run(argc, argv, "Stampa Mastrini");
|
||||
exp.add("GRUPPO=GRUPPO");
|
||||
exp.add("CONTO=CONTO");
|
||||
exp.add("SOTTOCONTO=SOTTOCONTO");
|
||||
_rel->add(LF_RMOV,exp,2,LF_PCON);
|
||||
|
||||
return 0;
|
||||
}
|
||||
_cur1=add_cursor(new TCursor(_rel,"((CONTO!=\"\")&&(SOTTOCONTO!=\"\"))",1));
|
||||
|
||||
_rel_clifo = new TRelation (LF_CLIFO);
|
||||
|
||||
exp1.add("GRUPPO=GRUPPO");
|
||||
exp1.add("CONTO=CONTO");
|
||||
exp1.add("SOTTOCONTO=CODCF");
|
||||
_rel_clifo->add(LF_RMOV,exp1,2,LF_CLIFO);
|
||||
|
||||
_cur2=add_cursor(new TCursor(_rel_clifo,"TIPOCF=\"C\"",3));
|
||||
|
||||
_cur3=add_cursor(new TCursor(_rel_clifo,"TIPOCF=\"F\"",3));
|
||||
|
||||
_nditte = new TLocalisamfile (LF_NDITTE);
|
||||
_unloc = new TLocalisamfile (LF_UNLOC);
|
||||
_comuni = new TLocalisamfile (LF_COMUNI);
|
||||
_mov = new TLocalisamfile (LF_MOV);
|
||||
_clifo = new TLocalisamfile (LF_CLIFO);
|
||||
_caus = new TLocalisamfile (LF_CAUSALI);
|
||||
_tabivd = new TTable (TAB_IVD);
|
||||
_tabtpd = new TTable (TAB_TPD);
|
||||
_tabreg = new TTable (TAB_REG);
|
||||
_tabesc = new TTable (TAB_ESC);
|
||||
|
||||
_msk = new TMask("cg3200a");
|
||||
_msk->set_handler(F_ANNO, our_handler);
|
||||
|
||||
_inizio_stampa = TRUE;
|
||||
}
|
||||
|
||||
void CG3200_application::user_destroy()
|
||||
{
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
delete _rel_clifo;
|
||||
delete _mov;
|
||||
delete _nditte;
|
||||
delete _unloc;
|
||||
delete _comuni;
|
||||
delete _clifo;
|
||||
delete _caus;
|
||||
delete _tabivd;
|
||||
delete _tabtpd;
|
||||
delete _tabreg;
|
||||
delete _tabesc;
|
||||
|
||||
}
|
||||
|
||||
int cg3200(int argc, char* argv[])
|
||||
{
|
||||
|
||||
CG3200_application a;
|
||||
|
||||
a.run(argc, argv, "Stampa Mastrini");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user