Patch level :10.0

Files correlati     :lv0.exe
Ricompilazione Demo : [ ]
Commento            :
Calcolo dotazione odierna,consegnato mese e anno su gestione contratti


git-svn-id: svn://10.65.10.50/trunk@17220 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
rajitgill 2008-09-11 10:34:37 +00:00
parent 28fb85ee7c
commit ee72e6bc2f

@ -7,6 +7,7 @@
#include "lv0400.h"
#include "../mg/anamag.h"
#include "../mg/mglib.h"
class TContratti_msk: public TAutomask
@ -23,7 +24,8 @@ bool TContratti_msk::on_art_select()
TSheet_field& ss=sfield(F_RIGHE);
TToken_string & row = ss.row(ss.selected());
const TString80 codart(row.get(ss.cid2index(S_CODART)));
const TRectype & artrec = cache().get(LF_ANAMAG, codart);
const TString4 umcont(row.get(ss.cid2index(S_UM)));
TArticolo artrec(codart);
set(F_GRMERC,artrec.get(ANAMAG_GRMERC).sleft(3));
set(F_COLORE,artrec.get(ANAMAG_COLORE));
@ -46,30 +48,75 @@ bool TContratti_msk::on_art_select()
TString query, filter;
filter << "ANNOES=#ANNOES CODART=#CODART TIPOCF=C CODCF=#CLIENTE";
if (indsped > 0)
filter << " INDSPED=" << indsped;
filter << " INDSPED=" << indsped;
query << "USE CLIFOGIAC KEY 3\n"
<< "FROM " << filter << '\n'
<< "TO " << filter << '\n';
TISAM_recordset recset (query);
TISAM_recordset recgiac (query);
recset.set_var("#CLIENTE",get_long(F_CODCF));
recset.set_var("#ANNOES",TVariant((long)oggi.year()));
recset.set_var("#CODART",TVariant(codart));
recgiac.set_var("#CLIENTE",get_long(F_CODCF));
recgiac.set_var("#ANNOES",TVariant((long)oggi.year()));
recgiac.set_var("#CODART",TVariant(codart));
real dotod,consyear;
for (bool ok=recset.move_first(); ok; ok=recset.move_next())
real dotod,consyear,consmonth;
if (recgiac.move_first())
{
dotod+=recset.get("GIAC").as_real();
consyear+=recset.get("ACQ").as_real()+recset.get("ENT").as_real();
dotod=artrec.convert_to_um(recgiac.get("GIAC").as_real(),umcont);
consyear=artrec.convert_to_um(recgiac.get("ACQ").as_real()+recgiac.get("ENT").as_real(),umcont);
}
set(F_DOTOD,dotod);
set(F_CONSANNO,consyear);
TDate imese(oggi);
imese.set_day(1);
query="USE MOVMAG KEY 3\n";
query << "SELECT (TIPOCF='C')&&(STR(CODCF=" << get_long(F_CODCF) << "))&&(STR(CODINDSP=" << indsped << "))\n";
query << "FROM DATAREG=" << imese << "\n"
<< "TO DATAREG=" << oggi << "\n";
TISAM_recordset recmag(query);
for (bool ok=recmag.move_first(); ok; ok=recmag.move_next())
{
const TCausale_magazzino tcaus(recmag.get(MOVMAG_CODCAUS).as_string());
TString queryrmag="USE RMOVMAG\n";
queryrmag << "SELECT CODART='" << codart << "'\n";
queryrmag << "FROM NUMREG=" << recmag.get(MOVMAG_NUMREG) << "\n"
<< "TO NUMREG=" << recmag.get(MOVMAG_NUMREG) << "\n";
TISAM_recordset recrmag(queryrmag);
for (bool ok=recrmag.move_first(); ok; ok=recrmag.move_next())
{
int sgn_acq=tcaus.sgn(s_acq);
int sgn_ent=tcaus.sgn(s_ent);
const TString& codcaus=recrmag.get(RMOVMAG_CODCAUS).as_string();
if (codcaus.full())
{
const TCausale_magazzino rcaus(codcaus);
sgn_acq=rcaus.sgn(s_acq);
sgn_ent=rcaus.sgn(s_ent);
}
if (sgn_acq!=0 || sgn_ent!=0)
{
const TString4 um=recrmag.get(RMOVMAG_UM).as_string();
const real qta=artrec.convert_to_um(recrmag.get(RMOVMAG_QUANT).as_real(),umcont,um);
if (sgn_acq!=0)
consmonth+=qta*sgn_acq;
if (sgn_ent!=0)
consmonth+=qta*sgn_ent;
}
}
}
set(F_CONSMESE,consmonth);
const bool varclcons = get_int(F_PPCONF)>0;
ss.enable_cell(ss.selected(),ss.cid2index(S_CALCCONS));