Patch level : 10.0
Files correlati : mg1100.msk mg3.exe mg4.exe Ricompilazione Demo : [ ] Commento : Corretta stampa ed aggiornamento registro di magazzino git-svn-id: svn://10.65.10.50/branches/R_10_00@21376 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									87e660e623
								
							
						
					
					
						commit
						dba14686b9
					
				@ -36,6 +36,7 @@
 | 
			
		||||
#define H_DESCR     135
 | 
			
		||||
#define F_INDSPED   136
 | 
			
		||||
#define F_INDIR     137
 | 
			
		||||
#define F_NUMREGST  138
 | 
			
		||||
 | 
			
		||||
#define G_DEFMOV 1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,12 +1,9 @@
 | 
			
		||||
#include "mg1100.h"
 | 
			
		||||
 | 
			
		||||
TOOLBAR "Toolbar" 0 0 0 2
 | 
			
		||||
 | 
			
		||||
#include <relapbar.h>
 | 
			
		||||
 | 
			
		||||
ENDPAGE  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PAGE "Testata" 0 0 0 0
 | 
			
		||||
 | 
			
		||||
GROUPBOX DLG_NULL 75 6
 | 
			
		||||
@ -17,7 +14,6 @@ END
 | 
			
		||||
 | 
			
		||||
NUMBER F_NUMREG  7
 | 
			
		||||
BEGIN 
 | 
			
		||||
//  FLAGS "D"
 | 
			
		||||
  FLAGS "G"
 | 
			
		||||
  FIELD NUMREG
 | 
			
		||||
  PROMPT 2 3 "Operazione numero       "
 | 
			
		||||
@ -102,13 +98,18 @@ BEGIN
 | 
			
		||||
  FIELD EX_NUMDOC
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
DATE F_EXANNODOC  
 | 
			
		||||
BEGIN 
 | 
			
		||||
  PROMPT 30 7 "del "
 | 
			
		||||
  FIELD EX_DATADOC  
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMBER F_NUMREGST  7
 | 
			
		||||
BEGIN 
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
  PROMPT 50 7 "N. su registro "
 | 
			
		||||
  FIELD NUMREGST
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_CODCAUS 5
 | 
			
		||||
BEGIN 
 | 
			
		||||
@ -372,8 +373,6 @@ SPREADSHEET F_RIGHE
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 0 6 "RIGHE DI MOVIMENTO"
 | 
			
		||||
  FLAGS "AI"
 | 
			
		||||
  //USE LF_RMOVMAG KEY NRIG
 | 
			
		||||
  //INPUT NUMREG F_NUMREG
 | 
			
		||||
  ITEM "@1"
 | 
			
		||||
  ITEM "Codice articolo"
 | 
			
		||||
  ITEM "Liv1@10"
 | 
			
		||||
 | 
			
		||||
@ -544,8 +544,8 @@ void TForm_schedemag::set_options(bool no_valori, bool no_ff, bool sintetica, bo
 | 
			
		||||
  }
 | 
			
		||||
  TForm_subsection & ss = ((TForm_subsection &)find_field('B',odd_page,"H_MOVS_INTERESSATI"));   
 | 
			
		||||
 | 
			
		||||
  ((TForm_item &)ss.find_field("10")).enable(!print_gio);
 | 
			
		||||
  ((TForm_item &)ss.find_field("110")).enable(print_gio);
 | 
			
		||||
  ss.find_field("10").enable(!print_gio);
 | 
			
		||||
  ss.find_field("110").enable(print_gio);
 | 
			
		||||
  _no_ff = no_ff;
 | 
			
		||||
  _sintetica = sintetica;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -139,35 +139,37 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
 | 
			
		||||
 | 
			
		||||
    } else if (subcode=="INCNUMREGST")    {
 | 
			
		||||
      _last_num_reg = max(_last_num_reg,_reg_giorn->last_numreg()) + 1;
 | 
			
		||||
      if (stampa_def)
 | 
			
		||||
      {
 | 
			
		||||
        _reg_giorn->set_last_numreg(_last_num_reg);
 | 
			
		||||
        _reg_giorn->rewrite();
 | 
			
		||||
      }
 | 
			
		||||
      return true;
 | 
			
		||||
 | 
			
		||||
    } else if (subcode== "REGISTRASTAMPA") {
 | 
			
		||||
      if (stampa_def)
 | 
			
		||||
      {
 | 
			
		||||
        TRectype& movr = cursor()->curr(LF_MOVMAG);
 | 
			
		||||
      if ((1 || movr.get_long("NUMREGST")<=_last_num_reg )&& stampa_def)
 | 
			
		||||
        if (movr.get_long(MOVMAG_NUMREGST) != _last_num_reg)
 | 
			
		||||
        {
 | 
			
		||||
          // movimento ancora da registrare
 | 
			
		||||
        movr.put("NUMREGST",_last_num_reg+1);
 | 
			
		||||
          movr.put(MOVMAG_NUMREGST, _last_num_reg);  // was _last_num_reg + 1
 | 
			
		||||
          cursor()->relation()->lfile(LF_MOVMAG).rewrite();
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        if (_last_num_reg > _reg_giorn->last_numreg())
 | 
			
		||||
        {
 | 
			
		||||
          _reg_giorn->set_last_numreg(_last_num_reg);
 | 
			
		||||
          _reg_giorn->set_pag_stampate(last_pag_stampata+printer().getcurrentpage());
 | 
			
		||||
          _reg_giorn->set_last_print(TDate(TODAY));
 | 
			
		||||
          _reg_giorn->rewrite();
 | 
			
		||||
        } 
 | 
			
		||||
 | 
			
		||||
      }
 | 
			
		||||
    } else if (subcode== "INFO_CRONO") {
 | 
			
		||||
      TDate datamov(cursor()->relation()->curr(LF_MOVMAG).get_date("DATAREG"));
 | 
			
		||||
      switch (freq_stampa ) {
 | 
			
		||||
      TRectype& movr = cursor()->curr(LF_MOVMAG);
 | 
			
		||||
      const TDate datamov = movr.get_date(MOVMAG_DATAREG);
 | 
			
		||||
      switch (freq_stampa )
 | 
			
		||||
      {
 | 
			
		||||
      case 0:
 | 
			
		||||
          valore.format(FR("%7g Movimento del %s "),  (double)_last_num_reg+1, (const char *)datamov.string());
 | 
			
		||||
          valore << cursor()->relation()->curr(LF_MOVMAG).get("DESCR");
 | 
			
		||||
        valore.format(FR("%7ld Movimento del %s "),  _last_num_reg+1, (const char *)datamov.string());
 | 
			
		||||
        valore << movr.get(MOVMAG_DESCR);
 | 
			
		||||
        break;
 | 
			
		||||
      default:
 | 
			
		||||
          valore.format(FR("%7g Movimenti di %s, dal %d al %d"), (double)_last_num_reg+1, 
 | 
			
		||||
        valore.format(FR("%7ld Movimenti di %s, dal %d al %d"), _last_num_reg+1, 
 | 
			
		||||
          (const char*)itom(datamov.month()),
 | 
			
		||||
          (int)((datamov.day()-1)/freq_stampa)*freq_stampa+1,
 | 
			
		||||
          (int)min(((datamov.day()-1)/freq_stampa+1)*freq_stampa,TDate::last_day(datamov.month(),datamov.year()))  );
 | 
			
		||||
@ -197,7 +199,7 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
 | 
			
		||||
      const TRectype& anamag = cursor()->curr(LF_ANAMAG);
 | 
			
		||||
      if (ragg_articoli)
 | 
			
		||||
      {
 | 
			
		||||
        valore << TR("Art.") << cursor()->curr(LF_ANAMAG).get(ANAMAG_CODART) << ' ';
 | 
			
		||||
        valore << TR("Art.") << anamag.get(ANAMAG_CODART) << ' ';
 | 
			
		||||
 | 
			
		||||
        TString livello(cursor()->relation()->curr(LF_RMOVMAG).get("LIVGIAC"));
 | 
			
		||||
        if (livello.not_empty() && livello_giac != 0)
 | 
			
		||||
@ -219,17 +221,16 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
 | 
			
		||||
      {
 | 
			
		||||
        if (ragg_classi)
 | 
			
		||||
        {
 | 
			
		||||
          valore << TR("Classe fiscale ") << cursor()->curr(LF_ANAMAG).get(ANAMAG_CLASSEFIS) << ' ';
 | 
			
		||||
          valore << TR("Classe fiscale ") << anamag.get(ANAMAG_CLASSEFIS) << ' ';
 | 
			
		||||
 | 
			
		||||
          if (ragg_raggart)
 | 
			
		||||
          {
 | 
			
		||||
            valore << TR(" ragg. ") << cursor()->curr(LF_ANAMAG).get(ANAMAG_RAGGFIS) << ' ';
 | 
			
		||||
            valore << TR(" ragg. ") << anamag.get(ANAMAG_RAGGFIS) << ' ';
 | 
			
		||||
 | 
			
		||||
          }
 | 
			
		||||
        } else {
 | 
			
		||||
          vv.cut(0);
 | 
			
		||||
          vv << TR("Art. ") << cursor()->curr(LF_ANAMAG).get(ANAMAG_CODART);
 | 
			
		||||
 | 
			
		||||
          vv << TR("Art. ") << anamag.get(ANAMAG_CODART);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      valore << vv;
 | 
			
		||||
@ -264,55 +265,46 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
 | 
			
		||||
 | 
			
		||||
const char * TGiornalemag::get_cronofield(TVariable_rectype & rmovmag)
 | 
			
		||||
{                             
 | 
			
		||||
  // static buffer
 | 
			
		||||
  static TString * valore=NULL; 
 | 
			
		||||
  if (valore == NULL ) 
 | 
			
		||||
    valore = new TString16;
 | 
			
		||||
                                  
 | 
			
		||||
  const TRectype& movmag = cache().get(LF_MOVMAG, rmovmag.get(RMOVMAG_NUMREG));
 | 
			
		||||
  const TDate datamov = movmag.get_date(MOVMAG_DATAREG);
 | 
			
		||||
 | 
			
		||||
  // gestione frequenza
 | 
			
		||||
  valore->cut(0);
 | 
			
		||||
  TString16 valore;
 | 
			
		||||
   switch (freq_stampa ) {
 | 
			
		||||
    case 0:
 | 
			
		||||
      valore->format("%4d%2d%2d%7d",datamov.year(),
 | 
			
		||||
      valore.format("%4d%2d%2d%7d",datamov.year(),
 | 
			
		||||
        datamov.month(),
 | 
			
		||||
        datamov.day(),
 | 
			
		||||
        movmag.get_long("NUMREG"));
 | 
			
		||||
    break;
 | 
			
		||||
    default:
 | 
			
		||||
      valore->format("%4d%2d%2d",datamov.year(),
 | 
			
		||||
      valore.format("%4d%2d%2d",datamov.year(),
 | 
			
		||||
        datamov.month(),
 | 
			
		||||
        (int)(datamov.day()/freq_stampa));
 | 
			
		||||
  }
 | 
			
		||||
  return *valore;
 | 
			
		||||
  return get_tmp_string() = valore;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char * TGiornalemag::get_fiscfield(TVariable_rectype & rmovmag)
 | 
			
		||||
{
 | 
			
		||||
  static TString * valore=NULL; 
 | 
			
		||||
  if (valore == NULL ) 
 | 
			
		||||
    valore = new TString80 ;
 | 
			
		||||
  
 | 
			
		||||
  TString80 valore;
 | 
			
		||||
  TString80 vv;
 | 
			
		||||
  valore->cut(0);
 | 
			
		||||
  
 | 
			
		||||
  const TString80 codart = rmovmag.get(RMOVMAG_CODART);
 | 
			
		||||
  
 | 
			
		||||
  // gestione ragruppamenti
 | 
			
		||||
  if (!ragg_mag)
 | 
			
		||||
  {
 | 
			
		||||
    valore->format("%-15s",(const char *)rmovmag.get(RMOVMAG_CODMAG));
 | 
			
		||||
    valore.format("%-15s",(const char *)rmovmag.get(RMOVMAG_CODMAG));
 | 
			
		||||
  }
 | 
			
		||||
  if (ragg_articoli)
 | 
			
		||||
  {
 | 
			
		||||
    *valore << codart;
 | 
			
		||||
    valore << codart;
 | 
			
		||||
 | 
			
		||||
    if (livello_giac)
 | 
			
		||||
    {
 | 
			
		||||
      const TString80 c2 = rmovmag.get("LIVGIAC");
 | 
			
		||||
      *valore << livelli_giacenza().unpack_grpcode(c2, livello_giac);
 | 
			
		||||
      const TString80 c2 = rmovmag.get(RMOVMAG_LIVGIAC);
 | 
			
		||||
      valore << livelli_giacenza().unpack_grpcode(c2, livello_giac);
 | 
			
		||||
    }
 | 
			
		||||
  } 
 | 
			
		||||
  else 
 | 
			
		||||
@ -320,9 +312,9 @@ const char * TGiornalemag::get_fiscfield(TVariable_rectype & rmovmag)
 | 
			
		||||
    if (ragg_classi)
 | 
			
		||||
    {
 | 
			
		||||
      const TRectype& anamag = cache().get(LF_ANAMAG, codart);
 | 
			
		||||
      *valore << anamag.get(ANAMAG_CLASSEFIS);
 | 
			
		||||
      valore << anamag.get(ANAMAG_CLASSEFIS);
 | 
			
		||||
      if (ragg_raggart)
 | 
			
		||||
        *valore << anamag.get(ANAMAG_RAGGFIS);
 | 
			
		||||
        valore << anamag.get(ANAMAG_RAGGFIS);
 | 
			
		||||
    } 
 | 
			
		||||
    else 
 | 
			
		||||
    {
 | 
			
		||||
@ -337,7 +329,7 @@ const char * TGiornalemag::get_fiscfield(TVariable_rectype & rmovmag)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  TString16 codcaus = rmovmag.get(RMOVMAG_CODCAUS);
 | 
			
		||||
  TString8 codcaus = rmovmag.get(RMOVMAG_CODCAUS);
 | 
			
		||||
  if (codcaus.empty())                                                           
 | 
			
		||||
  {
 | 
			
		||||
    const TRectype& movmag = cache().get(LF_MOVMAG, rmovmag.get(RMOVMAG_NUMREG));
 | 
			
		||||
@ -347,12 +339,12 @@ const char * TGiornalemag::get_fiscfield(TVariable_rectype & rmovmag)
 | 
			
		||||
  if (ragg_caus) // raggruppo per "tipo" di causale
 | 
			
		||||
  {
 | 
			
		||||
    TCausale_magazzino* caus = (TCausale_magazzino*)_cau_magazzino.objptr(codcaus);
 | 
			
		||||
    *valore << caus->get("S8");
 | 
			
		||||
    valore << caus->get("S8");
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
    *valore << codcaus;
 | 
			
		||||
  *valore << vv;
 | 
			
		||||
  return *valore;
 | 
			
		||||
    valore << codcaus;
 | 
			
		||||
  valore << vv;
 | 
			
		||||
  return get_tmp_string() = valore;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TGiornalemag::calcola_range_movimenti(TRecnotype& primo, TRecnotype& ultimo) const
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user