Patch level : 10.0
Files correlati : ha1 Ricompilazione Demo : [ ] Commento : Evitata doppia importazione di incassi da file upload.d git-svn-id: svn://10.65.10.50/branches/R_10_00@22544 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
8ae812afdd
commit
b7b608c5c5
@ -474,10 +474,10 @@ bool TUpload2Campo::genera_incasso(TPartita& game, int nriga, int nrata,
|
||||
riga.put(PART_NREG, head.get(MOV_NUMREG));
|
||||
riga.put(PART_NUMRIG, 1);
|
||||
riga.put(PART_DATAREG, head.get(MOV_DATAREG));
|
||||
riga.put(PART_DATADOC, head.get(MOV_DATADOC));
|
||||
riga.put(PART_DATAPAG, head.get(MOV_DATACOMP));
|
||||
riga.put(PART_CODCAUS, head.get(MOV_CODCAUS));
|
||||
riga.put(PART_NUMDOC, head.get(MOV_NUMDOC));
|
||||
riga.put(PART_DATADOC, head.get(MOV_DATADOC));
|
||||
riga.put(PART_DESCR, head.get(MOV_DESCR));
|
||||
|
||||
// Creo una nuova riga di pagamento assegnado il flag di saldo
|
||||
@ -744,6 +744,44 @@ void TUpload2Campo::elabora_SI(THardy_upload_recordset& recset, TLog_report& log
|
||||
|
||||
TString msg;
|
||||
msg << " movimento di incasso. Cliente: " << codcf << " - Agente: " << codice_agente << " - Data: " << data_incasso;
|
||||
|
||||
//panegirico sui conti
|
||||
//conto cliente
|
||||
TToken_string key_clifo;
|
||||
key_clifo.add('C');
|
||||
key_clifo.add(codcf);
|
||||
const TRectype& rec_codcf = cache().get(LF_CLIFO, key_clifo);
|
||||
int gr_cli = rec_codcf.get_int(CLI_GRUPPO);
|
||||
int co_cli = rec_codcf.get_int(CLI_CONTO);
|
||||
TBill zio_clifo(gr_cli, co_cli, codcf ,'C');
|
||||
//se il cliente non ha un suo conto, prova con il primo della causale incassi in configurazione
|
||||
if (zio_clifo.conto() <= 0)
|
||||
{
|
||||
caus.bill(1, zio_clifo);
|
||||
gr_cli = zio_clifo.gruppo();
|
||||
co_cli = zio_clifo.conto();
|
||||
zio_clifo.set(gr_cli, co_cli, codcf, 'C');
|
||||
}
|
||||
|
||||
TPartita game(zio_clifo, annopart, numpart);
|
||||
for (int r = game.last(); r > 0; r = game.pred(r))
|
||||
{
|
||||
const TRiga_partite& riga = game.riga(r);
|
||||
if (riga.tipo() == tm_pagamento)
|
||||
{
|
||||
const TDate data_riga = riga.get_date(PART_DATAPAG);
|
||||
const real imp_riga = riga.get_real(PART_IMPORTO);
|
||||
if (data_riga == data_incasso && imp_riga == incasso)
|
||||
{
|
||||
_can_write = false;
|
||||
msg.insert("Doppio");
|
||||
log.log(2, msg);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (_can_write)
|
||||
{
|
||||
if (mov.write() != NOERR)
|
||||
@ -765,25 +803,7 @@ void TUpload2Campo::elabora_SI(THardy_upload_recordset& recset, TLog_report& log
|
||||
log.log(0, msg);
|
||||
}
|
||||
|
||||
|
||||
//righe
|
||||
//panegirico sui conti
|
||||
//conto cliente
|
||||
TToken_string key_clifo;
|
||||
key_clifo.add('C');
|
||||
key_clifo.add(codcf);
|
||||
const TRectype& rec_codcf = cache().get(LF_CLIFO, key_clifo);
|
||||
int gr_cli = rec_codcf.get_int(CLI_GRUPPO);
|
||||
int co_cli = rec_codcf.get_int(CLI_CONTO);
|
||||
TBill zio_clifo(gr_cli, co_cli, codcf ,'C');
|
||||
//se il cliente non ha un suo conto, prova con il primo della causale incassi in configurazione
|
||||
if (zio_clifo.conto() <= 0)
|
||||
{
|
||||
caus.bill(1, zio_clifo);
|
||||
gr_cli = zio_clifo.gruppo();
|
||||
co_cli = zio_clifo.conto();
|
||||
zio_clifo.set(gr_cli, co_cli, codcf, 'C');
|
||||
}
|
||||
|
||||
//conto agente
|
||||
const TRectype& rec_agente = cache().get(LF_AGENTI, codice_agente);
|
||||
int gr_age = rec_agente.get_int(AGE_GRUPPO);
|
||||
@ -829,7 +849,6 @@ void TUpload2Campo::elabora_SI(THardy_upload_recordset& recset, TLog_report& log
|
||||
new_rmov_age.put(RMV_IMPORTO, incasso);
|
||||
|
||||
//crea i pagamenti aggiornando anche la partita (qui si parrà la tua nobilitate!)
|
||||
TPartita game(zio_clifo, annopart, numpart);
|
||||
const int nriga = game.prima_fattura();
|
||||
const int nrata = 1;
|
||||
//metodo magicissimo per l'aggiornamento della partita con l'incasso
|
||||
|
Loading…
x
Reference in New Issue
Block a user