cg2100.cpp Spostato controllo prorata dopo controllo as400
cg2102.cpp Corretto calcolo tipo costo/ricavo cg3200.cpp Corretta chiamata a saldofin_esepre cg6*.* Corretto invio e ricezione movimenti di prima nota cglib04.cpp Corretto calcolo saldo finale in TSaldo_agg cgtrcpc.ini Aggiunto flag di provvisorio sul tracciato dei trasferimenti git-svn-id: svn://10.65.10.50/trunk@4919 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c50f740fee
commit
a56158e24f
@ -671,24 +671,6 @@ void TPrimanota_application::init_modify_mode(TMask& m)
|
||||
calcola_saldo(); // Verifica eventuali sbilanci contabili
|
||||
|
||||
TSheet_field& cg = cgs();
|
||||
|
||||
if (iva() == iva_acquisti && // Se iva acquisti e ...
|
||||
cg.shown() && // ... se non e' sola iva ...
|
||||
!test_prorata()) // ... allora controlla prorata
|
||||
{
|
||||
m.show(F_ADJUST_PRORATA);
|
||||
m.set_handler(F_ADJUST_PRORATA, prorata_handler);
|
||||
|
||||
warning_box("Questo movimento e' stato registrato con una percentuale\n"
|
||||
"prorata non compatibile con quella corrente:\n"
|
||||
"Premere il bottone di correzione automatica delle righe.");
|
||||
}
|
||||
else
|
||||
if (iva() == iva_vendite)
|
||||
{
|
||||
m.set_handler(F_ADJUST_PRORATA, NULL);
|
||||
m.hide(F_ADJUST_PRORATA);
|
||||
}
|
||||
|
||||
// Determina se il movimento e' stato trasferito da AS/400:
|
||||
// praticamente controlla che non ci sia nessun tipo movimento sulle righe contabili.
|
||||
@ -711,6 +693,32 @@ void TPrimanota_application::init_modify_mode(TMask& m)
|
||||
m.set(SK_TIPORIGA, "A"); // Forza il tipo riga normale
|
||||
m.disable(SK_TIPORIGA); // Disabilita la sua modifica
|
||||
}
|
||||
|
||||
// Non controllare il prorata durante la cancellazione automatica
|
||||
if (autodeleting() != 0x3)
|
||||
{
|
||||
if (iva() == iva_acquisti && // Se iva acquisti e ...
|
||||
cg.shown() && // ... se non e' sola iva ...
|
||||
!test_prorata()) // ... allora controlla prorata
|
||||
{
|
||||
m.show(F_ADJUST_PRORATA);
|
||||
m.set_handler(F_ADJUST_PRORATA, prorata_handler);
|
||||
|
||||
warning_box("Questo movimento e' stato registrato con una percentuale\n"
|
||||
"prorata non compatibile con quella corrente:\n"
|
||||
"Premere il bottone di correzione automatica delle righe.");
|
||||
}
|
||||
else
|
||||
{
|
||||
// Nascondi il bottone del prorata se esiste
|
||||
if (m.id2pos(F_ADJUST_PRORATA) >= 0)
|
||||
{
|
||||
m.set_handler(F_ADJUST_PRORATA, NULL);
|
||||
m.hide(F_ADJUST_PRORATA);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Controlla sulla causale se il segno del totale documento (ritsoc=FALSE)
|
||||
@ -750,13 +758,14 @@ int TPrimanota_application::read(TMask& m)
|
||||
}
|
||||
|
||||
_saldi.reset(); // Azzera saldi
|
||||
_saldi.set_movprovv(_rel->lfile().get_char("PROVVIS") > ' ');
|
||||
_saldi.set_movprovv(_rel->lfile().get_char(MOV_PROVVIS) > ' ');
|
||||
tiposal tsal = causale().apertura() ? apertura :
|
||||
(causale().chiusura() ? chiusura : normale);
|
||||
_saldi.set_tipo_saldo(tsal);
|
||||
_saldi.set_anno_es(m.get_int(F_ANNOES));
|
||||
_saldi.set_num_ulmov(numreg);
|
||||
_saldi.set_data_ulmov((TDate)m.get(F_DATAREG));
|
||||
_saldi.set_movimentato(TRUE);
|
||||
|
||||
for (int i = 0; i < _rel->cg_items(); i++)
|
||||
{
|
||||
@ -776,9 +785,9 @@ int TPrimanota_application::read(TMask& m)
|
||||
|
||||
conto.get(r, TRUE);
|
||||
riga.add(conto.string(0x3)); // Contropartita 110-114
|
||||
riga.add(r.get("NUMGIO"));
|
||||
riga.add(r.get("NUMGIO")); // Centro di costo 115
|
||||
const char tipo = r.get_char("ROWTYPE");
|
||||
riga.add(tipo); // Tipo di riga 115
|
||||
riga.add(tipo); // Tipo di riga 116
|
||||
|
||||
disable_cgs_cells(i, tipo);
|
||||
}
|
||||
@ -857,6 +866,7 @@ void TPrimanota_application::mask2rel(const TMask& m)
|
||||
_saldi.set_anno_es(annoes);
|
||||
_saldi.set_num_ulmov(numreg);
|
||||
_saldi.set_data_ulmov((TDate)m.get(F_DATAREG));
|
||||
_saldi.set_movimentato(TRUE);
|
||||
|
||||
const int tm = causale().tipomov();
|
||||
char s[2];
|
||||
|
@ -1049,12 +1049,15 @@ TSheet_field& TPrimanota_application::ivas() const
|
||||
|
||||
TBill& TPrimanota_application::ivas_bill(TBill& c)
|
||||
{
|
||||
const int spric = c.tipo_cr();
|
||||
if (spric == 2 || spric == 3)
|
||||
if (iva() == iva_vendite)
|
||||
{
|
||||
const TString& td = causale().tipo_doc();
|
||||
if (td == "FV" || td == "NC")
|
||||
c.tipo_cr(4);
|
||||
const int spric = c.tipo_cr();
|
||||
if (spric == 2 || spric == 3)
|
||||
{
|
||||
const TString& td = causale().tipo_doc();
|
||||
if (td == "FV" || td == "NC" || td == "ND")
|
||||
c.tipo_cr(4);
|
||||
}
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
@ -3241,7 +3241,7 @@ void TMastrini_application::calcola_progressivi()
|
||||
const TRecnotype pos = saldi.recno();
|
||||
// W96SALDI del 18-07-96 saldofin_esprec usa il flag TRUE xche' deve
|
||||
// considerare anche il saldo finale
|
||||
saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc,TRUE,FALSE);
|
||||
saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc,TRUE);
|
||||
saldi.readat(pos);
|
||||
|
||||
if (saldo> ZERO)
|
||||
|
@ -1026,7 +1026,8 @@ void TRic_tab::ricevi_movPN(TString& key, char uselab)
|
||||
_prog->addstatus(1);
|
||||
|
||||
long nreg = _tmov->get_long(MOV_NUMREG);
|
||||
long nuova_reg = _tmov->get_long("TNUMREG" );
|
||||
long nuova_reg = _tmov->get_long("TNUMREG");
|
||||
bool provvis = _tmov->get_char(MOV_PROVVIS) > ' ';
|
||||
|
||||
if (nuova_reg == 0)
|
||||
{
|
||||
@ -1070,7 +1071,7 @@ void TRic_tab::ricevi_movPN(TString& key, char uselab)
|
||||
aggiorna_reg(anno,codreg,ulnum); // Aggiorna il registro
|
||||
|
||||
_sld.set_anno_es(annoes);
|
||||
_sld.set_movprovv(FALSE);
|
||||
_sld.set_movprovv(provvis);
|
||||
_sld.set_num_ulmov(_nreg);
|
||||
_sld.set_data_ulmov(datareg);
|
||||
|
||||
|
235
cg/cg6800.cpp
235
cg/cg6800.cpp
@ -33,7 +33,7 @@
|
||||
class TVar_mov : public TApplication
|
||||
{
|
||||
TIsamtempfile* _tmov, *_trmov, *_tiva, *_toccas;
|
||||
TLocalisamfile* _pcon, *_clifo, *_mov, *_rmov, *_rmoviva, *_occas;
|
||||
TLocalisamfile* _pcon, *_clifo, *_mov, *_rmov, *_rmoviva, *_occas, *_causali, *_comuni;
|
||||
TTable* _tab_reg;
|
||||
TRectype* _rec_mov,* _rec_rmov,* _rec_riva;
|
||||
TTransfer_file _tras_file;
|
||||
@ -73,7 +73,7 @@ public:
|
||||
void setta_campi_maschera(TMask& m);
|
||||
bool setta_campi_maschera_iva(TMask& m);
|
||||
|
||||
void registra_file_temp_mov(int,long,const TDate&,const TDate&,const TDate&,const TString&,TString&,long,long,const TString&,TString&);
|
||||
void registra_file_temp_mov(int,long,const TDate&,const TDate&,const TDate&,const TString&,TString&,long,long,const TString&,TString&,char);
|
||||
void registra_file_temp_rmov(long,int,int,int,long,char,const TString&,int,int,long,const real&);
|
||||
void registra_file_temp_riva(long,int,const real&,const TString&,const real&,int,int,int,int,long);
|
||||
|
||||
@ -160,6 +160,8 @@ bool TVar_mov::create()
|
||||
_rmov = new TLocalisamfile (LF_RMOV);
|
||||
_rmoviva = new TLocalisamfile (LF_RMOVIVA);
|
||||
_occas = new TLocalisamfile (LF_OCCAS);
|
||||
_causali = new TLocalisamfile (LF_CAUSALI);
|
||||
_comuni = new TLocalisamfile (LF_COMUNI);
|
||||
_tab_reg = new TTable ("REG");
|
||||
|
||||
_rec_rmov = new TRectype (LF_RMOV);
|
||||
@ -181,6 +183,8 @@ bool TVar_mov::destroy()
|
||||
delete _rmov;
|
||||
delete _rmoviva;
|
||||
delete _occas;
|
||||
delete _causali;
|
||||
delete _comuni;
|
||||
delete _tab_reg;
|
||||
delete _rec_rmov;
|
||||
delete _rec_riva;
|
||||
@ -348,7 +352,7 @@ bool TVar_mov::video_PN()
|
||||
|
||||
void TVar_mov::ricerca_codcaus(const TString& codcaus)
|
||||
{
|
||||
TLocalisamfile cau (LF_CAUSALI);
|
||||
TLocalisamfile& cau = *_causali;
|
||||
TString tipodoc;
|
||||
|
||||
cau.setkey(1);
|
||||
@ -550,6 +554,7 @@ void TVar_mov::setta_campi_maschera(TMask& m)
|
||||
regiva.trim();
|
||||
long protiva = _rec_mov->get_long(MOV_PROTIVA);
|
||||
long nuprotiva = _rec_mov->get_long(MOV_UPROTIVA);
|
||||
char provvis = _rec_mov->get_char(MOV_PROVVIS);
|
||||
TString codcaus = _rec_mov->get (MOV_CODCAUS);
|
||||
TString codpag = _rec_mov->get (MOV_CODPAG);
|
||||
codpag.trim();
|
||||
@ -566,6 +571,7 @@ void TVar_mov::setta_campi_maschera(TMask& m)
|
||||
m.set(F_NUPROTIVA, nuprotiva);
|
||||
m.set(F_CODCAUS, codcaus);
|
||||
m.set(F_CODPAG, codpag);
|
||||
m.set(F_PROVV, provvis);
|
||||
|
||||
m.disable(F_NUMREG);
|
||||
m.disable(F_NUMRIG);
|
||||
@ -581,6 +587,7 @@ void TVar_mov::setta_campi_maschera(TMask& m)
|
||||
m.enable(F_NUPROTIVA);
|
||||
m.enable(F_CODCAUS);
|
||||
m.enable(F_CODPAG);
|
||||
m.enable(F_PROVV);
|
||||
m.disable(F_GRUPPO);
|
||||
m.disable(F_CONTO);
|
||||
m.disable(F_SOTTOCONTO);
|
||||
@ -592,48 +599,48 @@ void TVar_mov::setta_campi_maschera(TMask& m)
|
||||
m.disable(F_SOTTOC);
|
||||
}
|
||||
else
|
||||
if (_righe)
|
||||
{
|
||||
int gruppo = _trmov->get_int (RMV_GRUPPO);
|
||||
int conto = _trmov->get_int (RMV_CONTO);
|
||||
long sottocon = _trmov->get_long(RMV_SOTTOCONTO);
|
||||
TString sezione = _trmov->get (RMV_SEZIONE);
|
||||
TString descr = _trmov->get (RMV_DESCR);
|
||||
int gruppoc = _trmov->get_int (RMV_GRUPPOC);
|
||||
int contoc = _trmov->get_int (RMV_CONTOC);
|
||||
long sottoc = _trmov->get_long(RMV_SOTTOCONTOC);
|
||||
real importo = _trmov->get_real(RMV_IMPORTO);
|
||||
{
|
||||
int gruppo = _trmov->get_int (RMV_GRUPPO);
|
||||
int conto = _trmov->get_int (RMV_CONTO);
|
||||
long sottocon = _trmov->get_long(RMV_SOTTOCONTO);
|
||||
TString sezione = _trmov->get (RMV_SEZIONE);
|
||||
TString descr = _trmov->get (RMV_DESCR);
|
||||
int gruppoc = _trmov->get_int (RMV_GRUPPOC);
|
||||
int contoc = _trmov->get_int (RMV_CONTOC);
|
||||
long sottoc = _trmov->get_long(RMV_SOTTOCONTOC);
|
||||
real importo = _trmov->get_real(RMV_IMPORTO);
|
||||
|
||||
m.set(F_GRUPPO, gruppo);
|
||||
m.set(F_CONTO, conto);
|
||||
m.set(F_SOTTOCONTO, sottocon);
|
||||
m.set(F_SEZIONE, sezione);
|
||||
m.set(F_DESCR, descr);
|
||||
m.set(F_GRUPPOC, gruppoc);
|
||||
m.set(F_CONTOC, contoc);
|
||||
m.set(F_SOTTOC, sottoc);
|
||||
m.set(F_IMPORTO, importo.string());
|
||||
m.set(F_GRUPPO, gruppo);
|
||||
m.set(F_CONTO, conto);
|
||||
m.set(F_SOTTOCONTO, sottocon);
|
||||
m.set(F_SEZIONE, sezione);
|
||||
m.set(F_DESCR, descr);
|
||||
m.set(F_GRUPPOC, gruppoc);
|
||||
m.set(F_CONTOC, contoc);
|
||||
m.set(F_SOTTOC, sottoc);
|
||||
m.set(F_IMPORTO, importo.string());
|
||||
|
||||
m.disable(F_DATAREG);
|
||||
m.disable(F_DATACOMP);
|
||||
m.disable(F_DATADOC);
|
||||
m.disable(F_NUMDOC);
|
||||
m.disable(F_REGIVA);
|
||||
m.disable(F_PROTIVA);
|
||||
m.disable(F_NUPROTIVA);
|
||||
m.disable(F_CODCAUS);
|
||||
m.disable(F_CODPAG);
|
||||
m.disable(F_DATAREG);
|
||||
m.disable(F_DATACOMP);
|
||||
m.disable(F_DATADOC);
|
||||
m.disable(F_NUMDOC);
|
||||
m.disable(F_REGIVA);
|
||||
m.disable(F_PROTIVA);
|
||||
m.disable(F_NUPROTIVA);
|
||||
m.disable(F_CODCAUS);
|
||||
m.disable(F_CODPAG);
|
||||
m.disable(F_PROVV);
|
||||
|
||||
m.enable(F_GRUPPO);
|
||||
m.enable(F_CONTO);
|
||||
m.enable(F_SOTTOCONTO);
|
||||
m.enable(F_SEZIONE);
|
||||
m.enable(F_IMPORTO);
|
||||
m.enable(F_DESCR);
|
||||
m.enable(F_GRUPPOC);
|
||||
m.enable(F_CONTOC);
|
||||
m.enable(F_SOTTOC);
|
||||
}
|
||||
m.enable(F_GRUPPO);
|
||||
m.enable(F_CONTO);
|
||||
m.enable(F_SOTTOCONTO);
|
||||
m.enable(F_SEZIONE);
|
||||
m.enable(F_IMPORTO);
|
||||
m.enable(F_DESCR);
|
||||
m.enable(F_GRUPPOC);
|
||||
m.enable(F_CONTOC);
|
||||
m.enable(F_SOTTOC);
|
||||
}
|
||||
}
|
||||
|
||||
bool TVar_mov::setta_campi_maschera_iva(TMask& m)
|
||||
@ -645,6 +652,7 @@ bool TVar_mov::setta_campi_maschera_iva(TMask& m)
|
||||
TString codcaus = _rec_mov->get (MOV_CODCAUS);
|
||||
long codcf = _rec_mov->get_long(MOV_CODCF);
|
||||
TString ocfpi = _rec_mov->get (MOV_OCFPI);
|
||||
char provvis = _rec_mov->get_char(MOV_PROVVIS);
|
||||
|
||||
/*****************************************************
|
||||
***** CLIENTI OCCASIONALI *****
|
||||
@ -665,7 +673,7 @@ bool TVar_mov::setta_campi_maschera_iva(TMask& m)
|
||||
com = _toccas->get(OCC_COM);
|
||||
cap = _toccas->get(OCC_CAP);
|
||||
|
||||
TLocalisamfile comuni (LF_COMUNI);
|
||||
TLocalisamfile& comuni = *_comuni;
|
||||
|
||||
comuni.setkey(1);
|
||||
comuni.zero();
|
||||
@ -708,6 +716,7 @@ bool TVar_mov::setta_campi_maschera_iva(TMask& m)
|
||||
m.set(F_PROVOCC, prov);
|
||||
m.set(F_COMOCC, com);
|
||||
m.set(F_CFPI, ocfpi);
|
||||
m.set(F_PROVV, provvis);
|
||||
|
||||
m.disable(F_NUMREG);
|
||||
m.disable(F_NUMRIG);
|
||||
@ -722,6 +731,7 @@ bool TVar_mov::setta_campi_maschera_iva(TMask& m)
|
||||
m.enable(F_LOCALITA);
|
||||
m.enable(F_CAPOCC);
|
||||
m.enable(F_PROVOCC);
|
||||
m.enable(F_PROVV);
|
||||
m.disable(F_IMPONIBILE);
|
||||
m.disable(F_CODIVA);
|
||||
m.disable(F_IMPOSTA);
|
||||
@ -732,51 +742,50 @@ bool TVar_mov::setta_campi_maschera_iva(TMask& m)
|
||||
m.disable(F_SOTTOCONTO);
|
||||
}
|
||||
else
|
||||
if (_righe)
|
||||
{
|
||||
TString tipodoc(_rec_mov->get(MOV_TIPODOC));
|
||||
real imponibile (_tiva->get_real(RMI_IMPONIBILE));
|
||||
TString codiva (_tiva->get (RMI_CODIVA));
|
||||
real imposta (_tiva->get_real(RMI_IMPOSTA));
|
||||
int tipodet = _tiva->get_int (RMI_TIPODET);
|
||||
int tipocr = _tiva->get_int (RMI_TIPOCR);
|
||||
int gruppo = _tiva->get_int (RMI_GRUPPO);
|
||||
int conto = _tiva->get_int (RMI_CONTO);
|
||||
long sottoc = _tiva->get_long(RMI_SOTTOCONTO);
|
||||
const bool first_time = _rec_mov->get("TOCFP") != "X";
|
||||
|
||||
if ((tipodoc == "NC" || tipodoc == "ST") && !first_time)
|
||||
{
|
||||
TString tipodoc(_rec_mov->get(MOV_TIPODOC));
|
||||
real imponibile (_tiva->get_real(RMI_IMPONIBILE));
|
||||
TString codiva (_tiva->get (RMI_CODIVA));
|
||||
real imposta (_tiva->get_real(RMI_IMPOSTA));
|
||||
int tipodet = _tiva->get_int (RMI_TIPODET);
|
||||
int tipocr = _tiva->get_int (RMI_TIPOCR);
|
||||
int gruppo = _tiva->get_int (RMI_GRUPPO);
|
||||
int conto = _tiva->get_int (RMI_CONTO);
|
||||
long sottoc = _tiva->get_long(RMI_SOTTOCONTO);
|
||||
const bool first_time = _rec_mov->get("TOCFP") != "X";
|
||||
|
||||
if ((tipodoc == "NC" || tipodoc == "ST") && !first_time)
|
||||
{
|
||||
imponibile *= -1;
|
||||
imposta *= -1;
|
||||
}
|
||||
m.set(F_IMPONIBILE, imponibile.string());
|
||||
m.set(F_CODIVA, codiva);
|
||||
m.set(F_IMPOSTA, imposta.string());
|
||||
m.set(F_TIPODET, tipodet);
|
||||
m.set(F_TIPOCR, tipocr);
|
||||
m.set(F_GRUPPO, gruppo);
|
||||
m.set(F_CONTO, conto);
|
||||
m.set(F_SOTTOCONTO, sottoc);
|
||||
|
||||
m.disable(F_DATA74TER);
|
||||
m.disable(F_CODCF);
|
||||
m.disable(F_RAGSOCOCC);
|
||||
m.disable(F_INDOCC);
|
||||
m.disable(F_CIVOCC);
|
||||
m.disable(F_LOCALITA);
|
||||
m.disable(F_CAPOCC);
|
||||
m.disable(F_PROVOCC);
|
||||
|
||||
m.enable(F_IMPONIBILE);
|
||||
m.enable(F_CODIVA);
|
||||
m.enable(F_IMPOSTA);
|
||||
m.enable(F_TIPODET);
|
||||
m.enable(F_TIPOCR);
|
||||
m.enable(F_GRUPPO);
|
||||
m.enable(F_CONTO);
|
||||
m.enable(F_SOTTOCONTO);
|
||||
imponibile *= -1;
|
||||
imposta *= -1;
|
||||
}
|
||||
m.set(F_IMPONIBILE, imponibile.string());
|
||||
m.set(F_CODIVA, codiva);
|
||||
m.set(F_IMPOSTA, imposta.string());
|
||||
m.set(F_TIPODET, tipodet);
|
||||
m.set(F_TIPOCR, tipocr);
|
||||
m.set(F_GRUPPO, gruppo);
|
||||
m.set(F_CONTO, conto);
|
||||
m.set(F_SOTTOCONTO, sottoc);
|
||||
|
||||
m.disable(F_DATA74TER);
|
||||
m.disable(F_CODCF);
|
||||
m.disable(F_RAGSOCOCC);
|
||||
m.disable(F_INDOCC);
|
||||
m.disable(F_CIVOCC);
|
||||
m.disable(F_LOCALITA);
|
||||
m.disable(F_CAPOCC);
|
||||
m.disable(F_PROVOCC);
|
||||
m.disable(F_PROVV);
|
||||
m.enable(F_IMPONIBILE);
|
||||
m.enable(F_CODIVA);
|
||||
m.enable(F_IMPOSTA);
|
||||
m.enable(F_TIPODET);
|
||||
m.enable(F_TIPOCR);
|
||||
m.enable(F_GRUPPO);
|
||||
m.enable(F_CONTO);
|
||||
m.enable(F_SOTTOCONTO);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@ -828,7 +837,7 @@ bool TVar_mov::codice_causale_hnd(TMask_field& f, KEY k)
|
||||
return warning_box("Il codice registro IVA e' significativo: deve essere significativo anche il codice causale");
|
||||
}
|
||||
|
||||
TLocalisamfile cau (LF_CAUSALI);
|
||||
TLocalisamfile& cau = *app()._causali;
|
||||
cau.setkey(1);
|
||||
cau.zero();
|
||||
cau.put("CODCAUS", codcau);
|
||||
@ -1254,7 +1263,7 @@ void TVar_mov::datacompetenza(int anno, TString& datacomp)
|
||||
|
||||
void TVar_mov::ricerca_localita(TString& codcom, TString& den, TString& cap, TString& prov)
|
||||
{
|
||||
TLocalisamfile com (LF_COMUNI);
|
||||
TLocalisamfile& com = *_comuni;
|
||||
|
||||
com.setkey(1);
|
||||
com.zero();
|
||||
@ -1286,32 +1295,35 @@ void TVar_mov::registra_PN(TMask& m)
|
||||
TString regiva = m.get (F_REGIVA);
|
||||
long protiva = m.get_long(F_PROTIVA);
|
||||
long nuprotiva = m.get_long(F_NUPROTIVA);
|
||||
TString codcaus = m.get (F_CODCAUS);
|
||||
TString codpag = m.get (F_CODPAG);
|
||||
|
||||
registra_file_temp_mov(anno,numreg,datareg,datacomp,datadoc,numdoc,regiva,protiva,nuprotiva,codcaus,codpag);
|
||||
TString codcaus = m.get(F_CODCAUS);
|
||||
TString codpag = m.get(F_CODPAG);
|
||||
char provvis = m.get(F_PROVV)[0];
|
||||
registra_file_temp_mov(anno,numreg,datareg,datacomp,datadoc,numdoc,regiva,protiva,nuprotiva,codcaus,codpag,provvis);
|
||||
}
|
||||
else
|
||||
if (_righe)
|
||||
{
|
||||
long numreg = m.get_long(F_NUMREG);
|
||||
int numrig = m.get_int (F_NUMRIG);
|
||||
int gruppo = m.get_int (F_GRUPPO);
|
||||
int conto = m.get_int (F_CONTO);
|
||||
long sottoc = m.get_long(F_SOTTOCONTO);
|
||||
char sezione = m.get (F_SEZIONE)[0];
|
||||
TString descr = m.get (F_DESCR);
|
||||
int gruppoc = m.get_int (F_GRUPPOC);
|
||||
int contoc = m.get_int (F_CONTOC);
|
||||
long sottocc = m.get_long(F_SOTTOC);
|
||||
real importo (m.get(F_IMPORTO));
|
||||
{
|
||||
long numreg = m.get_long(F_NUMREG);
|
||||
int numrig = m.get_int (F_NUMRIG);
|
||||
int gruppo = m.get_int (F_GRUPPO);
|
||||
int conto = m.get_int (F_CONTO);
|
||||
long sottoc = m.get_long(F_SOTTOCONTO);
|
||||
char sezione = m.get (F_SEZIONE)[0];
|
||||
TString descr = m.get (F_DESCR);
|
||||
int gruppoc = m.get_int (F_GRUPPOC);
|
||||
int contoc = m.get_int (F_CONTOC);
|
||||
long sottocc = m.get_long(F_SOTTOC);
|
||||
real importo (m.get(F_IMPORTO));
|
||||
|
||||
registra_file_temp_rmov(numreg,numrig,gruppo,conto,sottoc,sezione,descr,gruppoc,contoc,sottocc,importo);
|
||||
}
|
||||
registra_file_temp_rmov(numreg,numrig,gruppo,conto,sottoc,sezione,descr,gruppoc,contoc,sottocc,importo);
|
||||
}
|
||||
}
|
||||
|
||||
void TVar_mov::registra_file_temp_mov(int ae,long nr,const TDate& dr,const TDate& dc,const TDate& dd,
|
||||
const TString& nd,TString& ri,long pi,long upi,const TString& cc,TString& cp)
|
||||
void TVar_mov::registra_file_temp_mov(int ae,long nr,
|
||||
const TDate& dr,const TDate& dc,const TDate& dd,
|
||||
const TString& nd,TString& ri,
|
||||
long pi,long upi,
|
||||
const TString& cc, TString& cp,
|
||||
char pr)
|
||||
{
|
||||
_tmov->setkey(1);
|
||||
_tmov->zero();
|
||||
@ -1329,9 +1341,8 @@ void TVar_mov::registra_file_temp_mov(int ae,long nr,const TDate& dr,const TDate
|
||||
_tmov->put(MOV_UPROTIVA, upi);
|
||||
_tmov->put(MOV_CODCAUS, cc);
|
||||
_tmov->put(MOV_CODPAG, cp);
|
||||
int ai = dr.year();
|
||||
_tmov->put(MOV_ANNOIVA, ai);
|
||||
|
||||
_tmov->put(MOV_ANNOIVA, dr.year());
|
||||
_tmov->put(MOV_PROVVIS, pr);
|
||||
_tmov->rewrite();
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,8 @@
|
||||
#define F_DESCRPAG 123
|
||||
#define F_DESCRPARTITA 124
|
||||
#define F_DESCRCPARTITA 125
|
||||
#define F_DATACOMP 126
|
||||
#define F_DATACOMP 126
|
||||
#define F_PROVV 127
|
||||
|
||||
// Campi maschera cg2800c.uml
|
||||
|
||||
|
@ -23,7 +23,7 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "" -1 -1 78 18
|
||||
PAGE "Movimento" -1 -1 78 18
|
||||
|
||||
NUMBER F_NUMREG 6
|
||||
BEGIN
|
||||
@ -114,6 +114,14 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LIST F_PROVV 1 16
|
||||
BEGIN
|
||||
PROMPT 1 10 "Movimento provvisorio "
|
||||
ITEM " |No (Definitivo)"
|
||||
ITEM "C|Cespiti"
|
||||
ITEM "P|Contabile"
|
||||
END
|
||||
|
||||
NUMBER F_GRUPPO 3
|
||||
BEGIN
|
||||
PROMPT 1 11 "Sottoconto partita "
|
||||
|
@ -57,6 +57,14 @@ BEGIN
|
||||
PROMPT 1 4 "Data reg. 74TER "
|
||||
END
|
||||
|
||||
LIST F_PROVV 1 16
|
||||
BEGIN
|
||||
PROMPT 36 4 "Movimento provvisorio "
|
||||
ITEM " |No (Definitivo)"
|
||||
ITEM "C|Cespiti"
|
||||
ITEM "P|Contabile"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 0 6 "Cliente occasionale"
|
||||
|
@ -398,6 +398,7 @@ bool TInv_cont::create()
|
||||
_part = new TLocalisamfile (LF_PARTITE);
|
||||
_scad = new TLocalisamfile (LF_SCADENZE);
|
||||
_pagsca = new TLocalisamfile (LF_PAGSCA);
|
||||
_comuni = new TLocalisamfile (LF_COMUNI);
|
||||
|
||||
dispatch_e_menu (BAR_ITEM(1));
|
||||
|
||||
@ -417,6 +418,7 @@ bool TInv_cont::destroy()
|
||||
delete _part;
|
||||
delete _scad;
|
||||
delete _pagsca;
|
||||
delete _comuni;
|
||||
|
||||
return TApplication::destroy();
|
||||
}
|
||||
@ -794,8 +796,8 @@ bool TInv_cont::controlla_stato_invio()
|
||||
|
||||
bool TInv_cont::numero_data()
|
||||
{
|
||||
int num = _tras_file.nultras();
|
||||
TString str = _tras_file.dataultras();
|
||||
int num = _tras_file.nultras();
|
||||
TString str = _tras_file.dataultras();
|
||||
TDate data (str);
|
||||
|
||||
if (_num != num || data != _data)
|
||||
@ -871,7 +873,7 @@ void TInv_cont::crea_marker(TMask& m)
|
||||
{
|
||||
if (_scelta == 'S')
|
||||
{
|
||||
str = format("%-10s", (const char*) _nome_simbolico);
|
||||
str.format("%-10s", (const char*)_nome_simbolico);
|
||||
buffer.overwrite(str,0);
|
||||
long ditta = m.get_long(F_DITTAINV);
|
||||
if (ditta > 9999)
|
||||
@ -1406,7 +1408,7 @@ void TInv_cont::pcon2tempfile(TString& key, TMask& m)
|
||||
}
|
||||
|
||||
leggi_record_controllo();
|
||||
TString chiave;
|
||||
TString16 chiave;
|
||||
chiave.format("%3d%3d%6ld", g, c, s);
|
||||
TString sigla (format("%c", 'P'));
|
||||
_control_rec.overwrite(sigla,240);
|
||||
|
@ -58,6 +58,7 @@ class TInv_cont : public TApplication
|
||||
TLocalisamfile* _part;
|
||||
TLocalisamfile* _scad;
|
||||
TLocalisamfile* _pagsca;
|
||||
TLocalisamfile* _comuni;
|
||||
TIsamtempfile* _tcaus;
|
||||
TIsamtempfile* _trcaus;
|
||||
TIsamtempfile* _tclifo;
|
||||
@ -73,7 +74,6 @@ class TInv_cont : public TApplication
|
||||
TAssoc_array _riga_interna, _ultima_rata;
|
||||
TArray _tab_cau; // tabella di corrispondenza causali per invio saldaconto extracontabile a sistema
|
||||
|
||||
|
||||
char _scelta;
|
||||
|
||||
TString _control_rec, _header, _trasf, _std, _stato, _marker, _nome_simbolico;
|
||||
@ -86,6 +86,7 @@ class TInv_cont : public TApplication
|
||||
int _num,_annoes;
|
||||
TDate _data, _datadoc, _data74ter,_datalimsk,_dataregiva,_datareg;
|
||||
real _corrlire, _cambioi, _corrval,_cambio;
|
||||
char _provvis;
|
||||
long _ultima_nreg;
|
||||
|
||||
public:
|
||||
|
@ -971,6 +971,7 @@ void TInv_cont::testata_mov_PN()
|
||||
_protiva = _tmov->get_long(MOV_PROTIVA);
|
||||
_uprotiva = _tmov->get_long(MOV_UPROTIVA);
|
||||
_inviato = _tmov->get_bool(MOV_INVIATO);
|
||||
_provvis = _tmov->get_char(MOV_PROVVIS);
|
||||
}
|
||||
|
||||
void TInv_cont::testata_trasfer(long nreg, int nrig, TString& record)
|
||||
@ -1225,6 +1226,7 @@ bool TInv_cont::testata_mov_IVA(long numreg)
|
||||
_dataregiva = _tmov->get_date(MOV_DATAREG);
|
||||
_inviato = _tmov->get_bool(MOV_INVIVA);
|
||||
_tipodoc = _tmov->get (MOV_TIPODOC);
|
||||
_provvis = _tmov->get_char(MOV_PROVVIS);
|
||||
if (_ocfpi.not_empty())
|
||||
cerca_occasionale();
|
||||
}
|
||||
|
@ -670,7 +670,7 @@ void TInv_cont::invio_testata_movimenti()
|
||||
|
||||
for (_tmov->first(); !_tmov->eof(); _tmov->next())
|
||||
{
|
||||
TString str;
|
||||
TString str(80);
|
||||
|
||||
_prog->addstatus(1);
|
||||
|
||||
@ -700,7 +700,7 @@ void TInv_cont::invio_testata_movimenti()
|
||||
TString data74ter = _tmov->get(MOV_DATA74TER);
|
||||
datastr = riconverti(data74ter,TRUE);
|
||||
str.format("%08s", (const char*) datastr);
|
||||
record.overwrite(str,84); //Data di registrazione
|
||||
record.overwrite(str,84); //Data di 74 ter
|
||||
|
||||
TString numdoc = _tmov->get(MOV_NUMDOC);
|
||||
str.format("%-7s", (const char*) numdoc);
|
||||
@ -827,6 +827,9 @@ void TInv_cont::invio_testata_movimenti()
|
||||
TString ocfpi = _tmov->get(MOV_OCFPI);
|
||||
str.format("%-16s", (const char*) ocfpi);
|
||||
record.overwrite(str,274);
|
||||
|
||||
TString16 provvis = _tmov->get(MOV_PROVVIS);
|
||||
record.overwrite(provvis, 523);
|
||||
|
||||
if (ocfpi.not_empty())
|
||||
invio_occasionali(record,ocfpi);
|
||||
|
@ -16,6 +16,7 @@
|
||||
|
||||
#include <causali.h>
|
||||
#include <mov.h>
|
||||
#include <pconti.h>
|
||||
#include <rmov.h>
|
||||
#include <saldi.h>
|
||||
|
||||
@ -92,7 +93,7 @@ TSaldo::TSaldo() : _saldi(LF_SALDI), _saldoiniziale(ZERO), _saldo_iniziale(ZERO)
|
||||
|
||||
{}
|
||||
|
||||
real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusura, bool mov_prec)
|
||||
real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusura)
|
||||
{
|
||||
const int annoesprec = EsePre(annoes);
|
||||
_significativo = FALSE;
|
||||
@ -532,7 +533,7 @@ class TContoExt : public TConto
|
||||
{
|
||||
bool _scaricato;
|
||||
|
||||
public:
|
||||
public:
|
||||
|
||||
bool scaricato() const { return _scaricato; }
|
||||
|
||||
@ -713,9 +714,10 @@ void TSaldo_agg::registra()
|
||||
THash_object* hobj = _tab_conti.get_hashobj();
|
||||
TContoExt& tcon = (TContoExt&)hobj->obj();
|
||||
CHECK(tcon.ok(), "Tentativo di saldare un conto incompleto");
|
||||
const int annoes = atoi(hobj->key().left(4));
|
||||
|
||||
saldi.zero();
|
||||
saldi.put(SLD_ANNOES, atoi(hobj->key().left(4)) );
|
||||
saldi.zero();
|
||||
saldi.put(SLD_ANNOES, annoes);
|
||||
saldi.put(SLD_GRUPPO, tcon.gruppo());
|
||||
saldi.put(SLD_CONTO, tcon.conto());
|
||||
saldi.put(SLD_SOTTOCONTO, tcon.sottoconto());
|
||||
@ -816,6 +818,29 @@ void TSaldo_agg::registra()
|
||||
err, tcon.gruppo(), tcon.conto(), tcon.sottoconto());
|
||||
}
|
||||
|
||||
// Calcolo saldo finale per controllo segno in prima nota
|
||||
if (si.is_zero())
|
||||
{
|
||||
TLocalisamfile pcon(LF_PCON);
|
||||
TRectype& curr = pcon.curr();
|
||||
curr.put(PCN_GRUPPO, tcon.gruppo());
|
||||
curr.put(PCN_CONTO, tcon.conto());
|
||||
const int err = pcon.read();
|
||||
CHECK(err == NOERR, "Impossibile stabilire indicatore di bilancio");
|
||||
const int indbil = curr.get_int(PCN_INDBIL);
|
||||
if (indbil == 1 || indbil == 2 || indbil == 5)
|
||||
{
|
||||
TSaldo saldo;
|
||||
si = saldo.saldofin_esprec(annoes, tcon.gruppo(), tcon.conto(), tcon.sottoconto());
|
||||
if (si < ZERO)
|
||||
{
|
||||
flag_salini = 'A'; si = -si;
|
||||
}
|
||||
else
|
||||
flag_salini = 'D';
|
||||
}
|
||||
}
|
||||
|
||||
TImporto sf(flag_salini, si);
|
||||
const TImporto dare('D', saldi.get_real(SLD_PDARE));
|
||||
const TImporto avere('A', saldi.get_real(SLD_PAVERE));
|
||||
|
@ -106,7 +106,7 @@ public:
|
||||
|
||||
bool ricerca_progr_prec(int, int, int, long);
|
||||
|
||||
real saldofin_esprec(int,int,int,long,bool saldo_chiusura = FALSE,bool mov_prec = FALSE);
|
||||
real saldofin_esprec(int,int,int,long,bool saldo_chiusura = FALSE);
|
||||
bool prg_attuali(int i,TConto& c, real& p1, real& p2)
|
||||
{ return prg_saldo(i, c, p1, p2, FALSE); }
|
||||
bool prg_mov_eliminati(int i, TConto& c, real& p1, real& p2)
|
||||
|
@ -31,7 +31,7 @@ int fremove(const char* path)
|
||||
#endif
|
||||
|
||||
//ritorna falso se la causale non e' significativa
|
||||
bool look_causale (const char* codcaus)
|
||||
HIDDEN bool look_causale (const char* codcaus)
|
||||
{
|
||||
TString16 caus = codcaus;
|
||||
if (caus == "000")
|
||||
@ -4215,6 +4215,7 @@ void TTransfer_file::write_testata_movimenti(TString& record)
|
||||
}
|
||||
|
||||
if (fname == MOV_OCFPI)
|
||||
{
|
||||
if (field.trim().empty())
|
||||
{
|
||||
TString rags = record.sub(290,340);
|
||||
@ -4227,6 +4228,7 @@ void TTransfer_file::write_testata_movimenti(TString& record)
|
||||
else
|
||||
occas = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (flag == 2)
|
||||
{
|
||||
|
@ -166,6 +166,7 @@ Z1|29|454|458|18|CAP|4||
|
||||
Z1|30|459|466|18|DNASC|4||
|
||||
Z1|31|467|469|18|STATONASC|4||
|
||||
Z1|32|470|473|18|COMNASC|4||
|
||||
Z1|33|524|524|23|PROVVIS|||
|
||||
Z2|1|3|9|24|NUMREG|||
|
||||
Z2|2|10|12|24|NUMRIG|||
|
||||
Z2|3|61|61|24|SEZIONE|||
|
||||
|
Loading…
x
Reference in New Issue
Block a user