Patch level : 10.0 577

Files correlati     : lv2.exe
Ricompilazione Demo : [ ]
Commento            :

Corretta Stampa giri


git-svn-id: svn://10.65.10.50/trunk@19906 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-01-12 11:23:22 +00:00
parent a90db8a598
commit 3a65000098
2 changed files with 107 additions and 18 deletions

View File

@ -210,7 +210,6 @@ void TGiri_app::elabora(const TMask& mask) const
giri.set_var("#TO_CODAUT",TVariant(mask.get(F_CODAUT_TO))); giri.set_var("#TO_CODAUT",TVariant(mask.get(F_CODAUT_TO)));
giri.set_var("#FROM_CODCF",TVariant(mask.get(F_CODCF_FROM))); giri.set_var("#FROM_CODCF",TVariant(mask.get(F_CODCF_FROM)));
giri.set_var("#TO_CODCF",TVariant(mask.get(F_CODCF_TO))); giri.set_var("#TO_CODCF",TVariant(mask.get(F_CODCF_TO)));
giri.set_var("#F_CHECK_MNEM",TVariant(mask.get(F_CHECK_MNEM_TO)));
TItinerari iti; TItinerari iti;
@ -230,7 +229,9 @@ void TGiri_app::elabora(const TMask& mask) const
TGiri_report r(true); TGiri_report r(true);
TGiri_recordset* giri_set = new TGiri_recordset(); TGiri_recordset* giri_set = new TGiri_recordset();
r.set_recordset(giri_set);
giri_set->set_var("#F_CHECK_MNEM",TVariant(mask.get(F_CHECK_MNEM_TO)));
r.set_recordset(giri_set);
FOR_EACH_ARRAY_ITEM(iti,i,obj)//scandisce itinerario e tiene FOR_EACH_ARRAY_ITEM(iti,i,obj)//scandisce itinerario e tiene
//buoni solo quelli valorizzati //buoni solo quelli valorizzati
{ {

View File

@ -5,7 +5,9 @@
#include "../cg/cglib01.h" #include "../cg/cglib01.h"
#include "../mg/clifogiac.h" #include "../mg/clifogiac.h"
#include <applicat.h>
#include <config.h> #include <config.h>
#include <modaut.h>
#include <recset.h> #include <recset.h>
#include <utility.h> #include <utility.h>
@ -50,6 +52,37 @@ bool lv_is_holiday(const TDate& data)
return (*cal)[index] == 'X'; return (*cal)[index] == 'X';
} }
HIDDEN short __lv_02_active = 0x3;
HIDDEN TFilename __lv_backup_path;
bool lv_is_02_active()
{
if (__lv_02_active == 0x3)
{
__lv_02_active = main_app().has_module(L2AUT);
if (__lv_02_active)
{
__lv_backup_path = ini_get_string(CONFIG_DITTA, "lv", "Backup");
__lv_02_active = __lv_backup_path.full();
if (__lv_02_active)
{
TFilename dir(__lv_backup_path);
dir.add("com");
dir.add("dir.gen");
__lv_02_active = dir.exist() && dir.find(' ') < 0;
}
}
}
return (bool) __lv_02_active;
}
const TFilename & lv_backup_path()
{
lv_is_02_active(); // serve per inizializzare il valore
return __lv_backup_path;
}
//funzione che restituisce un codice contratto valido dato cliente, indirizzo di spedizione e data //funzione che restituisce un codice contratto valido dato cliente, indirizzo di spedizione e data
long lv_find_contract(const long codcf, const long indsped, const TDate& data) long lv_find_contract(const long codcf, const long indsped, const TDate& data)
{ {
@ -358,36 +391,46 @@ void TRecmag_lavanderie::update()
else else
imese = esc.esercizio(anno).fine(); imese = esc.esercizio(anno).fine();
query="USE MOVMAG KEY 2\n"; /* query="USE MOVMAG KEY 2\n";
query << "SELECT (TIPOCF='C')&&(CODCF==" << codcf << ")&&(STR(CODINDSP==" << indsped << "))&&(BETWEEN(DATACOMP," << imese.date2ansi() << "," << oggi.date2ansi() << "))\n"; query << "SELECT (TIPOCF='C')&&(CODCF==" << codcf << ")&&(STR(CODINDSP==" << indsped << "))&&(BETWEEN(DATACOMP," << imese.date2ansi() << "," << oggi.date2ansi() << "))\n";
query << "FROM ANNOES=" << anno << "\n"; query << "FROM ANNOES=" << anno << "\n";
query << "TO ANNOES=" << anno << "\n"; query << "TO ANNOES=" << anno << "\n"; */
query="USE MOVMAG KEY 5\n";
query << "FROM TIPOCF='C'"
<< " CODCF=" << codcf
<< " CODINDSP=" << indsped
<< " DATACOMP=" << imese.string() << "\n";
query << "TO TIPOCF='C'"
<< " CODCF=" << codcf
<< " CODINDSP=" << indsped
<< " DATACOMP=" << oggi.string() << "\n";
TISAM_recordset recmag(query); TISAM_recordset recmag(query);
TString8 codcausmov;
_consmese = ZERO;
for (bool ok=recmag.move_first(); ok; ok=recmag.move_next()) _consmese = ZERO;
for (bool ok = recmag.move_first(); ok; ok = recmag.move_next())
{ {
const TDate datareg = recmag.get(MOVMAG_DATAREG).as_date(); TString queryrmag("USE RMOVMAG\n");
TString queryrmag="USE RMOVMAG\n";
queryrmag << " SELECT (CODART=\"" << codart << "\")&&(LIVGIAC=\"" << livello << "\")\n"; queryrmag << " SELECT (CODART=\"" << codart << "\")&&(LIVGIAC=\"" << livello << "\")\n";
queryrmag << "FROM NUMREG=" << recmag.get(MOVMAG_NUMREG) << "\n" queryrmag << "FROM NUMREG=" << recmag.get(MOVMAG_NUMREG) << "\n"
<< "TO NUMREG=" << recmag.get(MOVMAG_NUMREG) << "\n"; << "TO NUMREG=" << recmag.get(MOVMAG_NUMREG) << "\n";
codcausmov = recmag.get(MOVMAG_CODCAUS).as_string();
TISAM_recordset recrmag(queryrmag); TISAM_recordset recrmag(queryrmag);
for (bool ok=recrmag.move_first(); ok; ok=recrmag.move_next()) for (bool ok=recrmag.move_first(); ok; ok=recrmag.move_next())
{ {
const TString& codcaus = recrmag.get(RMOVMAG_CODCAUS).as_string(); const TString& codcaus = recrmag.get(RMOVMAG_CODCAUS).as_string();
const TCausale_magazzino & tcaus = cached_causale_magazzino(codcaus.full() ? codcaus : recmag.get(MOVMAG_CODCAUS).as_string()); const TCausale_magazzino & tcaus = cached_causale_magazzino(codcaus.full() ? codcaus : codcausmov);
int sgn_consmese = tcaus.sgn(s_consmese); int sgn_consmese = tcaus.sgn(s_consmese);
if (sgn_consmese != 0)
{ if (sgn_consmese != 0)
const TString4 um = recrmag.get(RMOVMAG_UM).as_string(); {
const real qta = ((TArticolo &)artrec).convert_to_um(recrmag.get(RMOVMAG_QUANT).as_real(), NULL,um); const real qta = ((TArticolo &)artrec).convert_to_um(recrmag.get(RMOVMAG_QUANT).as_real(), NULL, recrmag.get(RMOVMAG_UM).as_string());
_consmese += real(qta * sgn_consmese); _consmese += real(qta * sgn_consmese);
} }
} }
} }
} }
@ -775,11 +818,56 @@ TLavanderie_calendar::TLavanderie_calendar(const int year) : _year(year)
/////////////////////////////////// ///////////////////////////////////
TCausale_lavanderie::TCausale_lavanderie(const char * codice): TCausale_lavanderie::TCausale_lavanderie(const char * codice):
TRectype(cache().get("&CAU", codice)), _rit(caurit()), _cons(caucon()) TRectype(cache().get("&CAU", codice))
{ {
} }
TCausale_lavanderie::TCausale_lavanderie(const TRectype &r):
TRectype(r)
{
CHECK(r.num() == LF_TABMOD, "Tipo record errato sulla causale di magazzino");
}
///////////////////////////////////////////////////////////
// TCache_causali_lavanderie
///////////////////////////////////////////////////////////
class TCache_causali_lavanderie : public TRecord_cache
{
protected:
virtual TObject* rec2obj(const TRectype& rec) const{ return new TCausale_lavanderie(rec); }
public:
TCausale_lavanderie & caus(const char* key);
TCache_causali_lavanderie();
virtual ~TCache_causali_lavanderie() { }
};
TCache_causali_lavanderie::TCache_causali_lavanderie()
: TRecord_cache("LVCAU", 1)
{
test_file_changes(); // Tieni d'occhio le modifiche sul file
set_items_limit(83); // Numero primo
}
TCausale_lavanderie & TCache_causali_lavanderie::caus(const char* key)
{
TString16 k;
k << "LV||CAU|" << key;
return (TCausale_lavanderie &)query(k);
}
TCausale_lavanderie & cached_causale_lavanderie(const char * codcaus)
{
HIDDEN TCache_causali_lavanderie __cache_causali_lavanderie;
return __cache_causali_lavanderie.caus(codcaus);
}
//////////////////////// ////////////////////////
//// TDOC_KEY //// //// TDOC_KEY ////
@ -1547,7 +1635,7 @@ TCursor* TLV_recordset::cursor() const
bool to_create = !valid_cursor(); bool to_create = !valid_cursor();
TCursor * c = TISAM_recordset::cursor(); TCursor * c = TISAM_recordset::cursor();
if (to_create && c != NULL) if (to_create && c != NULL && relation()->log2ind(LF_CLIFOGIAC) >= 0)
{ {
TLocalisamfile & clifogiac = relation()->lfile(LF_CLIFOGIAC); TLocalisamfile & clifogiac = relation()->lfile(LF_CLIFOGIAC);
@ -1566,4 +1654,4 @@ bool TLV_report::set_recordset(const TString& sql)
return rex != NULL; return rex != NULL;
} }
return TReport::set_recordset(sql); return TReport::set_recordset(sql);
} }