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_NREG, head.get(MOV_NUMREG));
|
||||||
riga.put(PART_NUMRIG, 1);
|
riga.put(PART_NUMRIG, 1);
|
||||||
riga.put(PART_DATAREG, head.get(MOV_DATAREG));
|
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_DATAPAG, head.get(MOV_DATACOMP));
|
||||||
riga.put(PART_CODCAUS, head.get(MOV_CODCAUS));
|
riga.put(PART_CODCAUS, head.get(MOV_CODCAUS));
|
||||||
riga.put(PART_NUMDOC, head.get(MOV_NUMDOC));
|
riga.put(PART_NUMDOC, head.get(MOV_NUMDOC));
|
||||||
riga.put(PART_DATADOC, head.get(MOV_DATADOC));
|
|
||||||
riga.put(PART_DESCR, head.get(MOV_DESCR));
|
riga.put(PART_DESCR, head.get(MOV_DESCR));
|
||||||
|
|
||||||
// Creo una nuova riga di pagamento assegnado il flag di saldo
|
// 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;
|
TString msg;
|
||||||
msg << " movimento di incasso. Cliente: " << codcf << " - Agente: " << codice_agente << " - Data: " << data_incasso;
|
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 (_can_write)
|
||||||
{
|
{
|
||||||
if (mov.write() != NOERR)
|
if (mov.write() != NOERR)
|
||||||
@ -765,25 +803,7 @@ void TUpload2Campo::elabora_SI(THardy_upload_recordset& recset, TLog_report& log
|
|||||||
log.log(0, msg);
|
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
|
//conto agente
|
||||||
const TRectype& rec_agente = cache().get(LF_AGENTI, codice_agente);
|
const TRectype& rec_agente = cache().get(LF_AGENTI, codice_agente);
|
||||||
int gr_age = rec_agente.get_int(AGE_GRUPPO);
|
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);
|
new_rmov_age.put(RMV_IMPORTO, incasso);
|
||||||
|
|
||||||
//crea i pagamenti aggiornando anche la partita (qui si parrà la tua nobilitate!)
|
//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 nriga = game.prima_fattura();
|
||||||
const int nrata = 1;
|
const int nrata = 1;
|
||||||
//metodo magicissimo per l'aggiornamento della partita con l'incasso
|
//metodo magicissimo per l'aggiornamento della partita con l'incasso
|
||||||
|
Loading…
x
Reference in New Issue
Block a user