campo-sirio/src/cg/cg1314.cpp

135 lines
3.4 KiB
C++
Raw Normal View History

//****************************
//* 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();
}
}