Patch level :

Files correlati     : ca3.exe ca3299a.rep
Ricompilazione Demo : [ ]
Commento            :
0001399: CG + GC - mancano descrizioni e codici in stampa
Lanciando la stampa , senza impostare nessun parametro, manca il codice della commessa e la descrizione del conto contabile


git-svn-id: svn://10.65.10.50/trunk@19095 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2009-07-07 13:17:27 +00:00
parent 301bef9e9c
commit 15d685f999
2 changed files with 27 additions and 16 deletions

View File

@ -5,6 +5,7 @@
#include "../cg/cglib01.h"
#include "commesse.h"
#include "pconana.h"
#include "movana.h"
#include "rmovana.h"
@ -194,7 +195,7 @@ bool TPrint_mastrini_ca_recordset::valid_record(const TRelation& rel) const
{
case 'P': tipomov_int = 2; break;
case 'V': tipomov_int = 4; break;
default: tipomov_int = 1; break;
default : tipomov_int = 1; break;
}
if ((_tipimov & tipomov_int) == 0)
return false;
@ -447,7 +448,7 @@ void TPrint_mastrini_ca_alternative_recordset::set_filter(const TPrint_mastrini_
_dadata, _adata, _tipimov, _tipoconti==1, _tipoconti==2);
const long pconana_items = pconana.items();
TProgind pi(pconana_items, "Scansione conti...");
TProgind pi(pconana_items, TR("Scansione conti..."));
TRelation rel_rmovana(LF_RMOVANA);
rel_rmovana.add(LF_MOVANA, "NUMREG==NUMREG"); //aggiunge le testate x avere i tipi mov.
@ -474,9 +475,10 @@ void TPrint_mastrini_ca_alternative_recordset::set_filter(const TPrint_mastrini_
}
//scandisce il piano dei conti..
for (TRecnotype j = 0; pconana.move_to(j); j++)
for (bool pok = pconana.move_first(); pok; pok = pconana.move_next())
{
pi.addstatus(1);
if (!pi.addstatus(1))
break;
const TString& conto = pconana.get(PCONANA_CODCONTO).as_string();
//..crea un cursore su rmovana per vedere se i conti selezionati hanno veri movimenti che soddisfano
@ -486,10 +488,10 @@ void TPrint_mastrini_ca_alternative_recordset::set_filter(const TPrint_mastrini_
TCursor cur_rmovana(&rel_rmovana, filtro, 2, &da_rmovana, &a_rmovana);
const long rmovana_items = cur_rmovana.items();
cur_rmovana.freeze();
bool almeno_uno_aggiunto = false;
if (rmovana_items > 0)
{
cur_rmovana.freeze();
for (cur_rmovana = 0; cur_rmovana.pos() < rmovana_items; ++cur_rmovana)
{
//deve coincidere anche il tipomov! sarebbe stato troppo semplice...
@ -507,6 +509,7 @@ void TPrint_mastrini_ca_alternative_recordset::set_filter(const TPrint_mastrini_
almeno_uno_aggiunto = true;
}
}
cur_rmovana.freeze(false);
}
//se non ha aggiunto nemmeno un record valido..
//crea un record di rmovana con il solo conto,datacomp e lo aggiunge al file temporaneo
@ -527,7 +530,6 @@ void TPrint_mastrini_ca_alternative_recordset::set_filter(const TPrint_mastrini_
////////////////////////////////////////////////////////
class TPrint_mastrini_ca_rep : public TAnal_report
{
protected:
virtual bool set_recordset(const TString& sql);
@ -549,7 +551,7 @@ void TPrint_mastrini_ca_rep::set_filter(const TPrint_mastrini_ca_mask& msk, int
TPrint_mastrini_ca_recordset* recset = NULL;
const char* query ="USE RMOVANA KEY 2\nJOIN MOVANA INTO NUMREG==NUMREG";
const char* const query ="USE RMOVANA KEY 2\nJOIN MOVANA INTO NUMREG==NUMREG";
switch (tipoconti)
{
case 1:
@ -570,7 +572,6 @@ class TPrint_mastrini_ca : public TSkeleton_application
{
protected:
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
virtual void main_loop();
};
@ -596,18 +597,27 @@ void TPrint_mastrini_ca::main_loop()
//stabilisce quale è il primo livello (tra CDC e CMS)..
const TMultilevel_code_info& liv1 = *ca_multilevel_code_info_by_index(0);
TISAM_recordset set(liv1.logic() == LF_CDC ? "USE CDC" : "USE COMMESSE"); //..e di conseguenza scrive la use giusta
const int logic1 = liv1.logic();
TISAM_recordset set(logic1 == LF_CDC ? "USE CDC" : "USE COMMESSE"); //..e di conseguenza scrive la use giusta
bool skip_closed = false;
if (logic1 == LF_COMMESSE)
skip_closed = !yesno_box(TR("E' stata richiesta la stampa di tutte le commesse:\n"
"Si desidera includere anche le commesse chiuse?"));
TProgind pi(set.items(), video_string, true, true);
for (int i = 0; set.move_to(i); i++) //fighissimo metodo per scandire un file in 1 riga!
for (bool sok = set.move_first(); sok; sok = set.move_next()) //fighissimo metodo per scandire un file in 1 riga!
{
pi.addstatus(1);
if (pi.iscancelled())
if (!pi.addstatus(1))
break;
row = set.get((unsigned int)0).as_string(); //prende il valore del primo campo del file (CDC o CMS code)
if (skip_closed && set.get(COMMESSE_CHIUSA).as_bool())
continue;
row = set.get(0u).as_string(); //prende il valore del primo campo del file (CDC o CMS code)
video_string = TR("Scansione");
video_string << " " << row; //completa la stringa da visualizzare sulla progind
//completa la stringa da visualizzare sulla progind
video_string.cut(0) << row << '\n' << set.get(1u);
pi.set_text(video_string);
for (int l = liv1.levels()-2; l >= 0; l--) //se la struttura è a più livelli costruisce la tokenstring

View File

@ -65,7 +65,8 @@ MESSAGE RESET,F2.202
</field>
<field x="31" type="Stringa" width="50" pattern="1">
<font italic="1" face="Courier New" bold="1" size="8" />
<prescript description="H2.0 PRESCRIPT">MESSAGE ISAMREAD,PCONANA,CODCONTO=CODCONTO,DESCR</prescript>
<source>CODCONTO</source>
<prescript description="H2.0 PRESCRIPT">CA_FORMAT_CONTO_DESCR</prescript>
</field>
<field x="13" y="1.5" type="Testo" align="center" width="11" pattern="1" text="N.Reg.&#2F;Riga" />
<field x="25" y="1.5" type="Testo" width="11" pattern="1" text="Descrizione" />