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:
parent
28fb85ee7c
commit
ee72e6bc2f
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include "lv0400.h"
|
#include "lv0400.h"
|
||||||
#include "../mg/anamag.h"
|
#include "../mg/anamag.h"
|
||||||
|
#include "../mg/mglib.h"
|
||||||
|
|
||||||
|
|
||||||
class TContratti_msk: public TAutomask
|
class TContratti_msk: public TAutomask
|
||||||
@ -23,7 +24,8 @@ bool TContratti_msk::on_art_select()
|
|||||||
TSheet_field& ss=sfield(F_RIGHE);
|
TSheet_field& ss=sfield(F_RIGHE);
|
||||||
TToken_string & row = ss.row(ss.selected());
|
TToken_string & row = ss.row(ss.selected());
|
||||||
const TString80 codart(row.get(ss.cid2index(S_CODART)));
|
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_GRMERC,artrec.get(ANAMAG_GRMERC).sleft(3));
|
||||||
set(F_COLORE,artrec.get(ANAMAG_COLORE));
|
set(F_COLORE,artrec.get(ANAMAG_COLORE));
|
||||||
@ -46,30 +48,75 @@ bool TContratti_msk::on_art_select()
|
|||||||
TString query, filter;
|
TString query, filter;
|
||||||
|
|
||||||
filter << "ANNOES=#ANNOES CODART=#CODART TIPOCF=C CODCF=#CLIENTE";
|
filter << "ANNOES=#ANNOES CODART=#CODART TIPOCF=C CODCF=#CLIENTE";
|
||||||
if (indsped > 0)
|
filter << " INDSPED=" << indsped;
|
||||||
filter << " INDSPED=" << indsped;
|
|
||||||
|
|
||||||
query << "USE CLIFOGIAC KEY 3\n"
|
query << "USE CLIFOGIAC KEY 3\n"
|
||||||
<< "FROM " << filter << '\n'
|
<< "FROM " << filter << '\n'
|
||||||
<< "TO " << filter << '\n';
|
<< "TO " << filter << '\n';
|
||||||
|
|
||||||
TISAM_recordset recset (query);
|
TISAM_recordset recgiac (query);
|
||||||
|
|
||||||
recset.set_var("#CLIENTE",get_long(F_CODCF));
|
recgiac.set_var("#CLIENTE",get_long(F_CODCF));
|
||||||
recset.set_var("#ANNOES",TVariant((long)oggi.year()));
|
recgiac.set_var("#ANNOES",TVariant((long)oggi.year()));
|
||||||
recset.set_var("#CODART",TVariant(codart));
|
recgiac.set_var("#CODART",TVariant(codart));
|
||||||
|
|
||||||
real dotod,consyear;
|
real dotod,consyear,consmonth;
|
||||||
|
if (recgiac.move_first())
|
||||||
for (bool ok=recset.move_first(); ok; ok=recset.move_next())
|
|
||||||
{
|
{
|
||||||
dotod+=recset.get("GIAC").as_real();
|
dotod=artrec.convert_to_um(recgiac.get("GIAC").as_real(),umcont);
|
||||||
consyear+=recset.get("ACQ").as_real()+recset.get("ENT").as_real();
|
consyear=artrec.convert_to_um(recgiac.get("ACQ").as_real()+recgiac.get("ENT").as_real(),umcont);
|
||||||
}
|
}
|
||||||
|
|
||||||
set(F_DOTOD,dotod);
|
set(F_DOTOD,dotod);
|
||||||
set(F_CONSANNO,consyear);
|
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;
|
const bool varclcons = get_int(F_PPCONF)>0;
|
||||||
|
|
||||||
ss.enable_cell(ss.selected(),ss.cid2index(S_CALCCONS));
|
ss.enable_cell(ss.selected(),ss.cid2index(S_CALCCONS));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user