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("#FROM_CODCF",TVariant(mask.get(F_CODCF_FROM)));
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;
@ -230,7 +229,9 @@ void TGiri_app::elabora(const TMask& mask) const
TGiri_report r(true);
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
//buoni solo quelli valorizzati
{

View File

@ -5,7 +5,9 @@
#include "../cg/cglib01.h"
#include "../mg/clifogiac.h"
#include <applicat.h>
#include <config.h>
#include <modaut.h>
#include <recset.h>
#include <utility.h>
@ -50,6 +52,37 @@ bool lv_is_holiday(const TDate& data)
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
long lv_find_contract(const long codcf, const long indsped, const TDate& data)
{
@ -358,36 +391,46 @@ void TRecmag_lavanderie::update()
else
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 << "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);
_consmese = ZERO;
for (bool ok=recmag.move_first(); ok; ok=recmag.move_next())
TString8 codcausmov;
_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 << "FROM NUMREG=" << recmag.get(MOVMAG_NUMREG) << "\n"
<< "TO NUMREG=" << recmag.get(MOVMAG_NUMREG) << "\n";
codcausmov = recmag.get(MOVMAG_CODCAUS).as_string();
TISAM_recordset recrmag(queryrmag);
for (bool ok=recrmag.move_first(); ok; ok=recrmag.move_next())
{
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);
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);
if (sgn_consmese != 0)
{
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);
}
}
}
}
}
@ -775,11 +818,56 @@ TLavanderie_calendar::TLavanderie_calendar(const int year) : _year(year)
///////////////////////////////////
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 ////
@ -1547,7 +1635,7 @@ TCursor* TLV_recordset::cursor() const
bool to_create = !valid_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);
@ -1566,4 +1654,4 @@ bool TLV_report::set_recordset(const TString& sql)
return rex != NULL;
}
return TReport::set_recordset(sql);
}
}