Patch level :2.2 170

Files correlati     :stampa rendiconto
Ricompilazione Demo : [ ]
Commento            :
Sistemato filtro legato alle numerazioni da escludere e agli stati validi, adesso parametri del configuratore di CA.


git-svn-id: svn://10.65.10.50/trunk@13327 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2005-09-02 17:13:07 +00:00
parent 217c08abbc
commit 367d8f63c7

View File

@ -660,6 +660,7 @@ void TPrint_rendiconto_ca_recordset::scrive_riga(const TRectype& rmovana, const
tmpcurr.put("NUMDOCRIF", newdoc->get(DOC_NUMDOCRIF)); //docrif del documento originante il movana
tmpcurr.put("DATADOCRIF", newdoc->get(DOC_DATADOCRIF)); //datadocrif del documento originante il movana
//****DA QUI PER TIPO DOCUMENTO****
const int tipo_documento = newdoc->tipo().tipo();
int tipo_babbo = TTipo_documento::_altro;
@ -718,9 +719,11 @@ F=IMF*/
}
tmpcurr.put("DOCORIG", riferimento);
} //if(newdoc != NULL)
else
{
selettore = MATURATO;
else //movimenti puri di analitica (no documento di origine!)
{ //****ULTIMA MODIFICA****
selettore = FATTURATO;
selettore |= MATURATO;
selettore |= IMPEGNATO;
}
//****modificare il metodo per accelerare
@ -894,11 +897,12 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(const TPrint_rendiconto_
//inizialmente il filtro di scansione delle righedoc coincide con quello sulle date
TString filtro = filtro_date;
//****DA MODIFICARE DOPO IL CAMBIO DELLA CONFIGURAZIONE
//deve filtrare i soli documenti con codnum NON presente nello sheet dei codnum
//Filtro sulle righe documento (e testate collegate)
//Controlla sul file di configurazione di CA (ditta.ini,[ca]) se esistono numerazioni da escludere..
//..e se, per alcune numerazioni, deve tener conto dello stato del documento
TConfig_anal config;
bool update = false;
for (int i = 0;;i++)
for (int i = 0;;i++) //scansione delle righe ND(i)=.. sul paragrafo di configurazione CA
{
TToken_string num_doc(config.get("ND", NULL, i));
@ -909,16 +913,16 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(const TPrint_rendiconto_
const bool exclude = num_doc.get_char(1) == 'X';
if (filtro.not_empty())
filtro << "&&";
if (exclude)
if (exclude) //numerazioni da escludere
{
filtro << "(CODNUM!=\"" << codnum << "\")";
}
else
else //numerazioni per le quali tener conto dello stato
{
filtro << "((CODNUM!=\"" << codnum << "\")";
filtro << "||((" << LF_DOC << "->STATO>=\"" << num_doc.get(2) << "\")";
filtro << "&&(" << LF_DOC << "->STATO<=\"" << num_doc.get(3) << "\")))";
update=true;
update = true;
}
}
@ -1069,7 +1073,7 @@ void TPrint_rendiconto_ca_recordset::set_filter(const TPrint_rendiconto_ca_mask&
}
else //conti riclassificati
{
for (int i = 0; msk.id2pos(dlg_da+i) < 43; i++) //***43 andrebbe sostituito con una condizione + seria
for (int i = 0; msk.id2pos(dlg_da+i) < 41; i++) //***41 andrebbe sostituito con una condizione + seria
{
_da_conto_riclas << msk.get(dlg_da+i);
_a_conto_riclas << msk.get(dlg_al+i);