135 lines
3.4 KiB
C++
135 lines
3.4 KiB
C++
|
//****************************
|
||
|
//* Aggiornamento Tipo Conto *
|
||
|
//****************************
|
||
|
#include <mask.h>
|
||
|
#include <recarray.h>
|
||
|
|
||
|
#include <pconti.h>
|
||
|
#include <rcausali.h>
|
||
|
#include <rmov.h>
|
||
|
#include <rmoviva.h>
|
||
|
#include <nditte.h>
|
||
|
|
||
|
#include <lffiles.h>
|
||
|
#include <recset.h>
|
||
|
#include <reprint.h>
|
||
|
#include <reputils.h>
|
||
|
#include "cg1314.h"
|
||
|
#include "cg1300n.h"
|
||
|
#include "cglib01.h"
|
||
|
|
||
|
bool TAgg_tcontoCF::create()
|
||
|
{
|
||
|
open_files(LF_RCAUSALI, LF_RMOV, LF_RMOVIVA, 0);
|
||
|
|
||
|
return TSkeleton_application::create();
|
||
|
}
|
||
|
|
||
|
|
||
|
void TAgg_tcontoCF::main_loop()
|
||
|
{
|
||
|
TMask m("cg1300n");
|
||
|
const TString16 arg = argv(3);
|
||
|
const bool force = arg.starts_with("-f");
|
||
|
|
||
|
if (force || m.run() == K_ENTER)
|
||
|
{
|
||
|
bool update_caus = force|| m.get_bool(F_UPDCAUS);
|
||
|
bool update_mov = force || m.get_bool(F_UPDMOV);
|
||
|
TRectype pcon(LF_PCON);
|
||
|
TLog_report log;
|
||
|
|
||
|
if (update_caus)
|
||
|
{
|
||
|
TString use("USE "); use << LF_RCAUSALI;
|
||
|
TISAM_recordset rcaus(use);
|
||
|
TLocalisamfile & frcaus = rcaus.cursor()->relation()->lfile();
|
||
|
|
||
|
for (bool ok = rcaus.move_first(); ok; ok = rcaus.move_next())
|
||
|
{
|
||
|
const int gruppo = rcaus.get(RCA_GRUPPO).as_int();
|
||
|
const int conto = rcaus.get(RCA_CONTO).as_int();
|
||
|
const TString4 tipocf = rcaus.get(RCA_TIPOCF).as_string();
|
||
|
TBill tc (gruppo,conto,0L);
|
||
|
|
||
|
tc.read(pcon);
|
||
|
|
||
|
const TString4 tipocf_pcon = pcon.get(PCN_TMCF);
|
||
|
|
||
|
if (tipocf != tipocf_pcon)
|
||
|
{
|
||
|
frcaus.put(RCA_TIPOCF, tipocf_pcon);
|
||
|
frcaus.rewrite();
|
||
|
TString msg ("Causale ");
|
||
|
|
||
|
msg << rcaus.get(RCA_CODCAUS).as_string();
|
||
|
msg << " Riga " << rcaus.get(RCA_NRIGA).as_int();
|
||
|
msg << " impostato tipo conto (" << tipocf_pcon << ")";
|
||
|
log.log(0, msg);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (update_mov) // CONTABILITA'
|
||
|
{
|
||
|
TString use("USE "); use << LF_RMOV;
|
||
|
TISAM_recordset rmov(use);
|
||
|
TLocalisamfile & frmov = rmov.cursor()->relation()->lfile();
|
||
|
|
||
|
for (bool ok = rmov.move_first(); ok; ok = rmov.move_next())
|
||
|
{
|
||
|
const int gruppo = rmov.get(RMV_GRUPPO).as_int();
|
||
|
const int conto = rmov.get(RMV_CONTO).as_int();
|
||
|
const TString4 tipocf = rmov.get(RMV_TIPOC).as_string();
|
||
|
TBill tc (gruppo,conto,0L);
|
||
|
|
||
|
tc.read(pcon);
|
||
|
|
||
|
const TString4 tipocf_pcon = pcon.get(PCN_TMCF);
|
||
|
|
||
|
if (tipocf != tipocf_pcon)
|
||
|
{
|
||
|
frmov.put(RMV_TIPOC, tipocf_pcon);
|
||
|
frmov.rewrite();
|
||
|
TString msg ("Movimento ");
|
||
|
|
||
|
msg << rmov.get(RMV_NUMREG).as_int();
|
||
|
msg << " Riga " << rmov.get(RMV_NUMRIG).as_int();
|
||
|
msg << " impostato tipo conto (" << tipocf_pcon << ")";
|
||
|
log.log(0, msg);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (update_mov) // IVA
|
||
|
{
|
||
|
TString use("USE "); use << LF_RMOVIVA;
|
||
|
TISAM_recordset rmoviva(use);
|
||
|
TLocalisamfile & frmoviva = rmoviva.cursor()->relation()->lfile();
|
||
|
|
||
|
for (bool ok = rmoviva.move_first(); ok; ok = rmoviva.move_next())
|
||
|
{
|
||
|
const int gruppo = rmoviva.get(RMI_GRUPPO).as_int();
|
||
|
const int conto = rmoviva.get(RMI_CONTO).as_int();
|
||
|
const TString4 tipocf = rmoviva.get(RMI_TIPOC).as_string();
|
||
|
TBill tc (gruppo,conto,0L);
|
||
|
|
||
|
tc.read(pcon);
|
||
|
|
||
|
const TString4 tipocf_pcon = pcon.get(PCN_TMCF);
|
||
|
|
||
|
if (tipocf != tipocf_pcon)
|
||
|
{
|
||
|
frmoviva.put(RMI_TIPOC, tipocf_pcon);
|
||
|
frmoviva.rewrite();
|
||
|
TString msg ("Movimento ");
|
||
|
|
||
|
msg << rmoviva.get(RMI_NUMREG).as_int();
|
||
|
msg << " Riga IVA" << rmoviva.get(RMI_NUMRIG).as_int();
|
||
|
msg << " impostato tipo conto (" << tipocf_pcon << ")";
|
||
|
log.log(0, msg);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
log.print_or_preview();
|
||
|
}
|
||
|
}
|