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 "../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));
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user