Patch level :2.2 nopatch per adesso
Files correlati : Ricompilazione Demo : [ ] Commento :terribile stampa del pagato per commessa anale in progress! git-svn-id: svn://10.65.10.50/trunk@13611 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3344246482
commit
c4dc202bb0
355
ca/ca3600.cpp
355
ca/ca3600.cpp
@ -212,12 +212,19 @@ protected:
|
||||
static bool mov_callback(const TRelation& rel, void* pJolly);
|
||||
long find_movimento(const TRectype& riga_pag) const;
|
||||
void find_commesse(const long nreg, const TRectype& riga_pag);
|
||||
void find_commesse_cg(const long nreg);
|
||||
bool check_cms_cdc_fsc(const TRectype& rec_analriga);
|
||||
TString create_isam_query(const long nreg);
|
||||
void lettura_conti(TAssoc_array& assoc, const char tipoconto);
|
||||
int cerca_riga_fattura_origine(const TPartita& match, const TRectype& riga_pag);
|
||||
real totale_documento(const TRectype& mov) const;
|
||||
real calcola_pagato_prec(const TPartita& match, const int riga_fatt, const TRectype& riga_pag);
|
||||
bool test_swap(TCausale& caus, bool ritsoc) const;
|
||||
bool cerca_conto(const TBill& bill, const TAssoc_array& assoc) const;
|
||||
bool cerca_costo(const TBill& bill) const;
|
||||
bool cerca_pagamento(const TBill& bill) const;
|
||||
bool cerca_fiscali(const TBill& bill) const;
|
||||
bool cerca_sociali(const TBill& bill) const;
|
||||
|
||||
public:
|
||||
virtual void set_filter(const TPag_per_cms_mask& msk, const int cms_row, const long codfor);
|
||||
@ -268,7 +275,7 @@ void TPag_per_cms_recordset::crea_trr(const TFilename& trr) const
|
||||
ofstream of(trr);
|
||||
of << 1000 << endl;
|
||||
of << 14 << endl;
|
||||
of << "CONTO|1|20|0|Conto analitico/contabile" << endl;
|
||||
of << "CONTO|1|12|0|Conto contabile" << endl;
|
||||
of << "DESCONTO|1|50|0|Descrizione conto" << endl;
|
||||
of << "NREG|3|7|0|Numero registrazione" << endl;
|
||||
of << "DATAPAG|5|8|0|Data pagamento" << endl;
|
||||
@ -298,6 +305,44 @@ void TPag_per_cms_recordset::lettura_conti(TAssoc_array& assoc, const char tipoc
|
||||
}
|
||||
}
|
||||
|
||||
bool TPag_per_cms_recordset::cerca_conto(const TBill& bill, const TAssoc_array& assoc) const
|
||||
{
|
||||
TToken_string key(15,'.');
|
||||
key.add(bill.gruppo());
|
||||
if (assoc.is_key(key))
|
||||
return true;
|
||||
|
||||
key.add(bill.conto());
|
||||
if (assoc.is_key(key))
|
||||
return true;
|
||||
|
||||
key.add(bill.sottoconto());
|
||||
if (assoc.is_key(key))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TPag_per_cms_recordset::cerca_costo(const TBill& bill) const
|
||||
{
|
||||
return cerca_conto(bill, _costi);
|
||||
}
|
||||
|
||||
bool TPag_per_cms_recordset::cerca_pagamento(const TBill& bill) const
|
||||
{
|
||||
return cerca_conto(bill, _pagamenti);
|
||||
}
|
||||
|
||||
bool TPag_per_cms_recordset::cerca_fiscali(const TBill& bill) const
|
||||
{
|
||||
return cerca_conto(bill, _fiscali);
|
||||
}
|
||||
|
||||
bool TPag_per_cms_recordset::cerca_sociali(const TBill& bill) const
|
||||
{
|
||||
return cerca_conto(bill, _sociali);
|
||||
}
|
||||
|
||||
// Controlla sulla causale se il segno del totale documento (ritsoc=FALSE)
|
||||
// o quello delle ritenute sociali (ritsoc=TRUE) e' invertito rispetto al normale
|
||||
bool TPag_per_cms_recordset::test_swap(TCausale& caus, bool ritsoc) const
|
||||
@ -430,11 +475,59 @@ long TPag_per_cms_recordset::find_movimento(const TRectype& riga_pag) const
|
||||
return nreg;
|
||||
}
|
||||
|
||||
//prepara gli oggetti (_righecosti,_righepagamenti) contenenti le righe dei pagamenti..
|
||||
//..senza saldaconto
|
||||
void TPag_per_cms_recordset::find_commesse_cg(const long nreg)
|
||||
{
|
||||
//cerca un record di MOVANA che abbia numregcg = nreg;usa il nuovo metodo fighissimo..
|
||||
//..con la isam query implementato nella create_isam_query()
|
||||
TISAM_recordset movana(create_isam_query(nreg));
|
||||
|
||||
for (TRecnotype i = 0; movana.move_to(i); i++)
|
||||
{
|
||||
const long numregcg = movana.get(MOVANA_NUMREGCG).as_int();
|
||||
//se trova il record cercato in MOVANA...
|
||||
if (numregcg == nreg)
|
||||
{
|
||||
//prepara il record tmpcurr sul file temporaneo _tmp su cui registrare i dati da stampare
|
||||
TRectype& tmpcurr = _tmp->curr();
|
||||
tmpcurr.zero();
|
||||
|
||||
//trova le RMOVANA del MOVANA corrente che hanno il conto = a quello della i-esima rigaiva
|
||||
TAnal_mov anal_mov(nreg);
|
||||
TRecord_array& anal_rows = anal_mov.body();
|
||||
|
||||
if (anal_rows.rows() > 0) //se il movana ha righe...
|
||||
{
|
||||
for (i = 1; i <= anal_rows.rows(); i++) //scansiona righe analitiche..
|
||||
{
|
||||
|
||||
if (check_cms_cdc_fsc(anal_rows[i]))
|
||||
{
|
||||
//prende il conto sulla riga analitica e lo confronta con quello della riga iva
|
||||
const int gruppo_anal = atoi(anal_rows[i].get(RMOVANA_CODCONTO).left(3));
|
||||
const int conto_anal = atoi(anal_rows[i].get(RMOVANA_CODCONTO).mid(3,3));
|
||||
const long sottoconto_anal = atol(anal_rows[i].get(RMOVANA_CODCONTO).mid(6,6));
|
||||
|
||||
const TBill conto(gruppo_anal, conto_anal, sottoconto_anal);
|
||||
if (cerca_costo(conto) || cerca_pagamento(conto))
|
||||
{
|
||||
const char sezione = anal_rows[i].get_char(RMOVANA_SEZIONE);
|
||||
const real valore = anal_rows[i].get_real(RMOVANA_IMPORTO);
|
||||
const TImporto imp(sezione, valore);
|
||||
}
|
||||
}
|
||||
} //for(i<anal_rows...
|
||||
} //if(anal_rows>0...
|
||||
} //if(numregcg==nreg...
|
||||
} //for(TRecnotype...
|
||||
}
|
||||
|
||||
bool TPag_per_cms_recordset::mov_callback(const TRelation& rel, void* pJolly)
|
||||
{
|
||||
TPag_per_cms_recordset* recordset = (TPag_per_cms_recordset*)pJolly;
|
||||
const long nreg = rel.curr().get_long(MOV_NUMREG);
|
||||
// recordset->find_commesse_cg(nreg);
|
||||
recordset->find_commesse_cg(nreg);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -490,12 +583,8 @@ bool TPag_per_cms_recordset::check_cms_cdc_fsc(const TRectype& rec_analriga)
|
||||
return true;
|
||||
}
|
||||
|
||||
//prepara l'assoc con tutte le righe da mandare in stampa per quanto riguarda i movimenti con
|
||||
//saldaconto (siano essi con o senza iva)
|
||||
void TPag_per_cms_recordset::find_commesse(const long nreg, const TRectype& riga_pag)
|
||||
TString TPag_per_cms_recordset::create_isam_query(const long nreg)
|
||||
{
|
||||
//cerca un record di MOVANA che abbia numregcg = nreg;usa il nuovo metodo fighissimo..
|
||||
//..con la isam query
|
||||
TString query, strnreg;
|
||||
strnreg.format("%07ld", nreg);
|
||||
|
||||
@ -503,13 +592,21 @@ void TPag_per_cms_recordset::find_commesse(const long nreg, const TRectype& riga
|
||||
query << "WHERE NUMREGCG=";
|
||||
query << strnreg;
|
||||
query << "\n";
|
||||
return query;
|
||||
}
|
||||
|
||||
TISAM_recordset movana(query);
|
||||
//prepara l'assoc con tutte le righe da mandare in stampa per quanto riguarda i movimenti con
|
||||
//saldaconto (siano essi con o senza iva)
|
||||
void TPag_per_cms_recordset::find_commesse(const long nreg, const TRectype& riga_pag)
|
||||
{
|
||||
//cerca un record di MOVANA che abbia numregcg = nreg;usa il nuovo metodo fighissimo..
|
||||
//..con la isam query implementato nella create_isam_query()
|
||||
TISAM_recordset movana(create_isam_query(nreg));
|
||||
|
||||
for (TRecnotype i = 0; movana.move_to(i); i++)
|
||||
{
|
||||
const long numregcg = movana.get(MOVANA_NUMREGCG).as_int();
|
||||
//se trova il record cercato in RMOVANA...
|
||||
//se trova il record cercato in MOVANA...
|
||||
if (numregcg == nreg)
|
||||
{
|
||||
//prepara il record tmpcurr sul file temporaneo _tmp su cui registrare i dati da stampare
|
||||
@ -536,9 +633,10 @@ void TPag_per_cms_recordset::find_commesse(const long nreg, const TRectype& riga
|
||||
{
|
||||
const TRectype& rmoviva = pn.iva(i);
|
||||
const TBill zio(rmoviva);
|
||||
//il tutto si fa solo se l'indicatore del conto nella riga iva e' != 5
|
||||
//il tutto si fa solo se l'indicatore di bilancio del conto nella riga iva e' != 5
|
||||
if (zio.indicatore_bilancio() != 5)
|
||||
{
|
||||
//e vediamo 'sto conto della riga iva..
|
||||
const int gruppo_iva = zio.gruppo();
|
||||
const int conto_iva = zio.conto();
|
||||
const long sottoconto_iva = zio.sottoconto();
|
||||
@ -549,9 +647,54 @@ void TPag_per_cms_recordset::find_commesse(const long nreg, const TRectype& riga
|
||||
|
||||
if (anal_rows.rows() > 0) //se il movana ha righe...
|
||||
{
|
||||
for (i = 1; i <= anal_rows.rows(); i++)
|
||||
{
|
||||
real imponibile_iva = rmoviva.get_real(RMI_IMPONIBILE);
|
||||
real imposta_iva = rmoviva.get_real(RMI_IMPOSTA);
|
||||
const real lordo_iva = imponibile_iva + imposta_iva;
|
||||
//distributore per il lordo iva (che sara' distribuito successivamente in base..
|
||||
//..agli importi delle righe analitiche corretti per le % iva
|
||||
TGeneric_distrib agip (lordo_iva, TCurrency::get_firm_dec());
|
||||
|
||||
for (i = 1; i <= anal_rows.rows(); i++) //scansiona righe analitiche..
|
||||
{
|
||||
real perc_ded_iva = UNO; //%iva deducibile (di default 100, ameno del prorata)
|
||||
if (imposta_iva != ZERO)
|
||||
{
|
||||
//controllo prorata
|
||||
const TString80 commessa_riga_anal = anal_rows[i].get(RMOVANA_CODCMS);
|
||||
const TRectype& pla = cache().get(LF_COMMESSE, commessa_riga_anal);
|
||||
const bool prorata = pla.get_bool("PRORATA");
|
||||
if (prorata)
|
||||
{
|
||||
const TDate datareg = pn.curr().get_date(MOV_DATAREG);
|
||||
const int anno = datareg.year();
|
||||
TRegistro registro(pn.curr().get(MOV_REG), anno);
|
||||
//%deducibilità iva rivista con il prorata
|
||||
perc_ded_iva = (CENTO - registro.prorata(anno))/CENTO;
|
||||
imposta_iva.round(TCurrency::get_firm_dec()); //ci vanno i decimali della ditta
|
||||
}
|
||||
} //if imposta_iva...
|
||||
|
||||
//prende il conto sulla riga analitica e lo confronta con quello della riga iva
|
||||
const int gruppo_anal = atoi(anal_rows[i].get(RMOVANA_CODCONTO).left(3));
|
||||
const int conto_anal = atoi(anal_rows[i].get(RMOVANA_CODCONTO).mid(3,3));
|
||||
const long sottoconto_anal = atol(anal_rows[i].get(RMOVANA_CODCONTO).mid(6,6));
|
||||
|
||||
//il codconto anale e iva coincidono?..
|
||||
if (gruppo_iva == gruppo_anal && conto_iva == conto_anal && sottoconto_iva == sottoconto_anal)
|
||||
{
|
||||
//..in tal caso aggiunge l'importo della riga analitica al distributore, dopo..
|
||||
//..averlo corretto in base alle % precedentemente calcolate
|
||||
real importo_anal = anal_rows[i].get_real(RMOVANA_IMPORTO);
|
||||
const real perc_iva = imposta_iva / imponibile_iva;
|
||||
const real perc_corretta_iva = perc_iva * (UNO - perc_ded_iva);
|
||||
importo_anal = importo_anal * (UNO - perc_corretta_iva);
|
||||
|
||||
agip.add(importo_anal);
|
||||
} //if(gruppo_iva==...
|
||||
} //for (anal_rows...
|
||||
|
||||
for (i = 1; i <= anal_rows.rows(); i++) //..allora le scansiona..
|
||||
{
|
||||
//prende il conto sulla riga analitica e lo confronta con quello della riga iva
|
||||
const int gruppo_anal = atoi(anal_rows[i].get(RMOVANA_CODCONTO).left(3));
|
||||
const int conto_anal = atoi(anal_rows[i].get(RMOVANA_CODCONTO).mid(3,3));
|
||||
@ -560,10 +703,8 @@ void TPag_per_cms_recordset::find_commesse(const long nreg, const TRectype& riga
|
||||
//il codconto anale e iva coincidono?
|
||||
if (gruppo_iva == gruppo_anal && conto_iva == conto_anal && sottoconto_iva == sottoconto_anal)
|
||||
{
|
||||
|
||||
const real imponibile_iva = rmoviva.get_real(RMI_IMPONIBILE);
|
||||
real imposta_iva = rmoviva.get_real(RMI_IMPOSTA);
|
||||
|
||||
//impoerto
|
||||
real importo = agip.get();
|
||||
//commessa,cdc,fase della riga analitica devono essere coincidenti con quelle dello sheet
|
||||
if (check_cms_cdc_fsc(anal_rows[i]))
|
||||
{
|
||||
@ -574,134 +715,93 @@ void TPag_per_cms_recordset::find_commesse(const long nreg, const TRectype& riga
|
||||
cms_cdc_fsc.add(anal_rows[i].get(RMOVANA_CODFASE));
|
||||
|
||||
real* imp = (real*)commesse.objptr(cms_cdc_fsc);
|
||||
//aggiunge un elemento all'assoc_array...
|
||||
if (imp == NULL)
|
||||
{
|
||||
imp = new real;
|
||||
commesse.add(cms_cdc_fsc, imp);
|
||||
}
|
||||
*imp += imponibile_iva;
|
||||
totdoc_cms += imponibile_iva;
|
||||
*imp += importo;
|
||||
totdoc_cms += importo;
|
||||
|
||||
if (imposta_iva != ZERO)
|
||||
{
|
||||
//controllo prorata
|
||||
const TRectype& pla = cache().get(LF_COMMESSE, anal_rows[i].get(RMOVANA_CODCMS));
|
||||
const bool prorata = pla.get_bool("PRORATA");
|
||||
if (prorata)
|
||||
{
|
||||
const TDate datareg = pn.curr().get_date(MOV_DATAREG);
|
||||
const int anno = datareg.year();
|
||||
TRegistro registro(pn.curr().get(MOV_REG), anno);
|
||||
} //if check_cms_cdc_fsc...
|
||||
|
||||
imposta_iva *= (CENTO - registro.prorata(anno))/CENTO;
|
||||
imposta_iva.round(TCurrency::get_firm_dec()); //ci vanno i decimali della ditta
|
||||
}
|
||||
|
||||
*imp += imposta_iva;
|
||||
totdoc_cms += imposta_iva;
|
||||
}
|
||||
|
||||
/* TGeneric_distrib agip(imponibile_iva, TCurrency::get_firm_dec());
|
||||
FOR_EACH_ASSOC_OBJECT(commesse, h, k, importo)
|
||||
{
|
||||
const real& impcms = *(real*)importo;
|
||||
agip.add(impcms);
|
||||
agip_prec.add(impcms); //distributore di importo pagato sulle commesse
|
||||
}*/
|
||||
}
|
||||
|
||||
} //if(gruppo_iva==..
|
||||
} //if(gruppo_iva==...
|
||||
|
||||
} //for (anal_rows...
|
||||
|
||||
} //if anal_rows() > 0...
|
||||
} //if indicatore_bilancio!=5..
|
||||
} //if indicatore_bilancio!=5...
|
||||
|
||||
//aggiungi le slice con gli importi delle righe di analitica
|
||||
//estrai gli importi risultanti e aggiungili a commesse (come sotto) solo se la commessa coincide
|
||||
//con quella selezionata
|
||||
//ricordarsi di considerare l'indetraibilita'
|
||||
} //for (pn.iva_items(...
|
||||
|
||||
|
||||
|
||||
|
||||
/* if (conto.indicatore_bilancio() != 5)
|
||||
{
|
||||
const real importo = rmoviva.get_real(RMI_IMPONIBILE);
|
||||
real imposta = rmoviva.get_real(RMI_IMPOSTA);
|
||||
real* imp = (real*)commesse.objptr(cms_fsc);
|
||||
if (imp == NULL)
|
||||
{
|
||||
imp = new real;
|
||||
commesse.add(cms_fsc, imp);
|
||||
}
|
||||
*imp += importo;
|
||||
totdoc_cms += importo;
|
||||
|
||||
if (imposta != ZERO)
|
||||
{
|
||||
//controllo prorata
|
||||
const TRectype& pla = cache().get("CMS", codcms);
|
||||
const bool prorata = pla.get_bool("B4");
|
||||
if (prorata)
|
||||
{
|
||||
const TDate datareg = pn.curr().get_date(MOV_DATAREG);
|
||||
const int anno = datareg.year();
|
||||
TRegistro registro(pn.curr().get(MOV_REG), anno);
|
||||
|
||||
imposta *= (CENTO - registro.prorata(anno))/CENTO;
|
||||
imposta.round(TCurrency::get_firm_dec()); //ci vanno i decimali della ditta
|
||||
}
|
||||
|
||||
*imp += imposta;
|
||||
totdoc_cms += imposta;
|
||||
}
|
||||
|
||||
}*/
|
||||
}
|
||||
|
||||
// totdoc = totale_documento(pn.curr()); //tot doc con ritenute fiscali + ritenute sociali (da stampare)
|
||||
totdoc = totale_documento(pn.curr()); //tot doc con ritenute fiscali + ritenute sociali (da stampare)
|
||||
totdoc_netto = pn.curr().get_real(MOV_TOTDOC); //questo si usa solo per il calcolo del residuo
|
||||
}
|
||||
} //if(pn.iva_items(...
|
||||
else //..movimento NON iva (sempre con saldaconto)
|
||||
{
|
||||
for (int i = 0; i < pn.cg_items(); i++)
|
||||
{
|
||||
const TRectype& rmov = pn.cg(i);
|
||||
const TBill conto(rmov);
|
||||
const TBill zio_cg(rmov);
|
||||
|
||||
TImporto importo(rmov.get_char(RMV_SEZIONE), rmov.get_real(RMV_IMPORTO));
|
||||
importo.normalize('D');
|
||||
|
||||
if (conto.tipo() > ' ')
|
||||
if (zio_cg.tipo() > ' ')
|
||||
{
|
||||
totdoc -= importo.valore();
|
||||
totdoc_netto -= importo.valore(); //valore per il calcolo del residuo
|
||||
continue;
|
||||
}
|
||||
else
|
||||
if (cerca_fiscali(zio_cg) || cerca_sociali(zio_cg))
|
||||
totdoc -= importo.valore(); //valore da stampare nella colonna Tot.fattura con ritenute
|
||||
} //for i < pn.cg_items...
|
||||
|
||||
/* if (cerca_fiscali(conto) || cerca_sociali(conto))
|
||||
TAnal_mov anal_mov(nreg);
|
||||
TRecord_array& anal_rows = anal_mov.body();
|
||||
|
||||
if (anal_rows.rows() > 0) //se il movana ha righe...
|
||||
{
|
||||
|
||||
for (i = 1; i <= anal_rows.rows(); i++) //..allora le scansiona..
|
||||
{
|
||||
totdoc -= importo.valore(); //valore da stampare nella colonna Tot.fattura con ritenute
|
||||
continue;
|
||||
//prende il conto sulla riga analitica e lo confronta con quello della riga iva
|
||||
const int gruppo_anal = atoi(anal_rows[i].get(RMOVANA_CODCONTO).left(3));
|
||||
const int conto_anal = atoi(anal_rows[i].get(RMOVANA_CODCONTO).mid(3,3));
|
||||
const long sottoconto_anal = atol(anal_rows[i].get(RMOVANA_CODCONTO).mid(6,6));
|
||||
|
||||
TBill conto_cg(gruppo_anal, conto_anal, sottoconto_anal);
|
||||
|
||||
//il codconto anale e iva coincidono?
|
||||
if (conto_cg.indicatore_bilancio() != 5)
|
||||
{
|
||||
const real importo_anal = anal_rows[i].get_real(RMOVANA_IMPORTO);
|
||||
|
||||
//costruzione dell'assoc_array con cms/cdc/fsc ed importi
|
||||
TToken_string cms_cdc_fsc;
|
||||
cms_cdc_fsc.add(anal_rows[i].get(RMOVANA_CODCMS));
|
||||
cms_cdc_fsc.add(anal_rows[i].get(RMOVANA_CODCCOSTO));
|
||||
cms_cdc_fsc.add(anal_rows[i].get(RMOVANA_CODFASE));
|
||||
|
||||
real* imp = (real*)commesse.objptr(cms_cdc_fsc);
|
||||
|
||||
if (imp == NULL)
|
||||
{
|
||||
imp = new real;
|
||||
commesse.add(cms_cdc_fsc, imp);
|
||||
}
|
||||
|
||||
TImporto importo(anal_rows[i].get_char(RMOVANA_SEZIONE), anal_rows[i].get_real(RMOVANA_IMPORTO));
|
||||
importo.normalize('D');
|
||||
|
||||
*imp += importo.valore();
|
||||
totdoc_cms += importo.valore();
|
||||
} //if(conto_cg.indicatore...
|
||||
}
|
||||
|
||||
const TString& codcms = rmov.get(RMV_CODCMS);
|
||||
const TString& codfase = rmov.get(RMV_FASCMS);
|
||||
|
||||
if (conto.indicatore_bilancio() != 5)
|
||||
{
|
||||
real* imp = (real*)commesse.objptr(cms_fsc);
|
||||
if (imp == NULL)
|
||||
{
|
||||
imp = new real;
|
||||
commesse.add(cms_fsc, imp);
|
||||
}
|
||||
*imp += importo.valore();
|
||||
totdoc_cms += importo.valore();
|
||||
}*/
|
||||
|
||||
}
|
||||
} //else...
|
||||
} //else (pn.iva_items(...
|
||||
|
||||
//parte comune a movimenti IVA e non (vengono anche qui considerate le ritenute fiscali
|
||||
//e sociali perche' possono essere state inserite direttamente nella partita e non nel movimento
|
||||
@ -745,13 +845,27 @@ void TPag_per_cms_recordset::find_commesse(const long nreg, const TRectype& riga
|
||||
}
|
||||
}
|
||||
|
||||
/* FOR_EACH_ASSOC_OBJECT(commesse, h, k, imp)
|
||||
FOR_EACH_ASSOC_OBJECT(commesse, h, k, imp)
|
||||
{
|
||||
const real& impcms = *(real*)imp;
|
||||
TPag_per_cms_struct* ppcs = new TPag_per_cms_struct;
|
||||
|
||||
// campi del pagamento
|
||||
ppcs->_tipo = 0; //movimenti da saldaconto
|
||||
// tmpcurr.put("CONTO", );
|
||||
// tmpcurr.put("DESCONTO", );
|
||||
tmpcurr.put("NREG", nreg);
|
||||
tmpcurr.put("DATAPAG", riga_pag.get_date(_campodata));
|
||||
tmpcurr.put("DESCRPAG", riga_pag.get(PART_DESCR));
|
||||
/* tmpcurr.put("NDOC", );
|
||||
tmpcurr.put("DATADOC", );
|
||||
tmpcurr.put("PROT", );
|
||||
tmpcurr.put("TOTDOC", );
|
||||
tmpcurr.put("TOTPAG", );
|
||||
tmpcurr.put("TOTRES", );
|
||||
tmpcurr.put("CODFORN", );
|
||||
tmpcurr.put("DESFORN", );*/
|
||||
}
|
||||
|
||||
/* ppcs->_tipo = 0; //movimenti da saldaconto
|
||||
ppcs->_codforn = riga_pag.get_long(PART_SOTTOCONTO);
|
||||
ppcs->_datapag = riga_pag.get_date(_campodata);
|
||||
ppcs->_importopagato.set_num(distributore.get()); //pagamento nella partita
|
||||
@ -769,9 +883,9 @@ void TPag_per_cms_recordset::find_commesse(const long nreg, const TRectype& riga
|
||||
ppcs->_commessa = cms_fsc.get(0);
|
||||
ppcs->_fase = cms_fsc.get(1);
|
||||
ppcs->_importocommessa.set_num(impcms); //importo da pagare scritto sulla fattura
|
||||
|
||||
_righe.add(ppcs); //aggiunge il pagamento all'array dei pagamenti
|
||||
}*/
|
||||
_tmp->write(); //aggiunge il record al file temporaneo
|
||||
|
||||
|
||||
} //pn.read()...
|
||||
} //if (numregcg==nreg)...
|
||||
@ -869,7 +983,7 @@ void TPag_per_cms_recordset::set_filter(const TPag_per_cms_mask& msk, const int
|
||||
_adata = msk.get_date(F_DATAFIN);
|
||||
|
||||
|
||||
//carica i conti memorizzati nel ca3600.ini
|
||||
//carica i conti memorizzati nel ca3600.ini,registrandoli negli assoc_array _costi ecc...
|
||||
lettura_conti(_costi, 'C');
|
||||
lettura_conti(_pagamenti, 'P');
|
||||
lettura_conti(_fiscali, 'F');
|
||||
@ -1018,6 +1132,9 @@ void TPag_per_cms::main_loop()
|
||||
TISAM_recordset clifo("USE CLIFO\nFROM TIPOCF='F' CODCF=#DACODFOR\nTO TIPOCF='F' CODCF=#ACODFOR");
|
||||
clifo.set_var("#DACODFOR", TVariant(dacodfor));
|
||||
clifo.set_var("#ACODFOR", TVariant(acodfor));
|
||||
//scansione su tutti i fornitori selezionati; questa opzione e' praticamente utile solo..
|
||||
//..quando il numero di fornitori selezionati non e' elevato;infatti,per ogni fornitore..
|
||||
//..selezionato, viene eseguito tutto il giro del programma
|
||||
for (bool ok = clifo.move_first(); ok; ok = clifo.move_next())
|
||||
{
|
||||
const long codforn = clifo.get("CODCF").as_int();
|
||||
|
Loading…
x
Reference in New Issue
Block a user