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:
parent
a90db8a598
commit
3a65000098
@ -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
|
||||
{
|
||||
|
120
lv/lvlib.cpp
120
lv/lvlib.cpp
@ -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);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user