Patch level : 10.0 patch 767
Files correlati : mg4.exe Ricompilazione Demo : [ ] Commento : Aggiunto filtro su codice articolo in stampa inventario raggruppata per gruppo merceologico (Dassi) Stampa inventario filtrata per fornitore e stagione Dalla versione 3.2 git-svn-id: svn://10.65.10.50/trunk@20591 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									809dff8729
								
							
						
					
					
						commit
						d3d86c6cc4
					
				@ -22,7 +22,7 @@ static const char* or_connect(TString & expr)
 | 
			
		||||
TCursor* TForm_inventario::cursor() const
 | 
			
		||||
{
 | 
			
		||||
  if (_use_alternate_cursor) // Se e' settata la stampa per ragg. fisc ritorna il cursore appropriato
 | 
			
		||||
    return (TCursor*)_sortcur;
 | 
			
		||||
    return _sortcur;
 | 
			
		||||
  return TForm_stampemg::cursor();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -33,7 +33,7 @@ bool TForm_inventario::validate(TForm_item &cf, TToken_string &s)
 | 
			
		||||
  if (code=="_USER")
 | 
			
		||||
  {
 | 
			
		||||
    const TRectype& magrec=relation()->curr(LF_MAG);
 | 
			
		||||
    const TString subcode=s.get();
 | 
			
		||||
    const TFixed_string subcode=s.get();
 | 
			
		||||
    if (subcode=="GIAC")
 | 
			
		||||
    {
 | 
			
		||||
      real v=curr_art().giacenza_corretta(magrec, false,_valcomp);
 | 
			
		||||
@ -110,9 +110,7 @@ void TForm_inventario::add_colval(int tipo)
 | 
			
		||||
 | 
			
		||||
    _valorizz_scelte[_colonne++] = t;
 | 
			
		||||
    
 | 
			
		||||
		TString col;
 | 
			
		||||
 | 
			
		||||
    col << _colonne;
 | 
			
		||||
		TString8 col; col << _colonne;
 | 
			
		||||
    find_field('B',odd_page,FF_ENABLECOLS).set(col);
 | 
			
		||||
    
 | 
			
		||||
    // Accende le colonne per l'intestazione
 | 
			
		||||
@ -299,7 +297,8 @@ TStampainv_mask::TStampainv_mask()
 | 
			
		||||
    field(F_CATVENLISTINO).enable(prassid.get_bool("GESLISCV"));
 | 
			
		||||
  else
 | 
			
		||||
	{	
 | 
			
		||||
    field(F_CATVENLISTINO).disable(); field(F_CODLISTINO).disable();
 | 
			
		||||
    field(F_CATVENLISTINO).disable(); 
 | 
			
		||||
    field(F_CODLISTINO).disable();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
  if (prassid.get_bool("CHK_USER", "ve", 1))
 | 
			
		||||
@ -309,6 +308,13 @@ TStampainv_mask::TStampainv_mask()
 | 
			
		||||
    show(F_DAUSR); show(F_AUSR);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (!IsPeppeOk()) // Rimuovere quand'e' ora, non prima
 | 
			
		||||
  {
 | 
			
		||||
    hide(F_FORNITORE);
 | 
			
		||||
    hide(F_DASTAGIONE);
 | 
			
		||||
    hide(F_ASTAGIONE);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  set_handler(F_TOLIVELLOART, handle_liv);
 | 
			
		||||
  set_handler(F_TOLIVELLOGIAC, handle_liv);
 | 
			
		||||
  set_handler(F_ORDINE, handle_ragg);
 | 
			
		||||
@ -502,7 +508,6 @@ TIsamtempfile * TStampa_inventario::crea_tempmag(const bool valcomp)
 | 
			
		||||
		delete temp_mag;
 | 
			
		||||
		return NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TIsamtempfile* TStampa_inventario::calcola_giacenze(const bool giaceff, const bool valcomp, const TDate & al, const char subordine)
 | 
			
		||||
@ -605,17 +610,10 @@ void TStampa_inventario::setprint_permagazzini(const char subordine, const bool
 | 
			
		||||
  // setta il filtro sul cursore
 | 
			
		||||
	switch (filtro)
 | 
			
		||||
	{
 | 
			
		||||
  case '0':
 | 
			
		||||
    cfilter = "(STR(GIAC!=\"0\"))";
 | 
			
		||||
		break;
 | 
			
		||||
  case 'N': // negativi
 | 
			
		||||
    cfilter << "(STR(GIAC<\"0\"))";
 | 
			
		||||
    break;
 | 
			
		||||
  case '+':
 | 
			
		||||
    cfilter = "(STR(GIAC>\"0\"))";
 | 
			
		||||
		break;
 | 
			
		||||
	default:
 | 
			
		||||
		break;
 | 
			
		||||
  case '0': cfilter = "(STR(GIAC!=\"0\"))";	break;
 | 
			
		||||
  case 'N': cfilter = "(STR(GIAC<\"0\"))"; break; // negativi
 | 
			
		||||
  case '+': cfilter = "(STR(GIAC>\"0\"))";	break;
 | 
			
		||||
	default :	break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
  if (m.get(F_DAART).full())
 | 
			
		||||
@ -627,6 +625,11 @@ void TStampa_inventario::setprint_permagazzini(const char subordine, const bool
 | 
			
		||||
    _form->find_field('B',odd_page,"GRUPPI_DEPOSITO").setcondition("CODMAG[1,3]",_strexpr);
 | 
			
		||||
  else
 | 
			
		||||
    _form->find_field('B',odd_page,"GRUPPI_DEPOSITO").setcondition("CODMAG[1,5]",_strexpr);
 | 
			
		||||
 | 
			
		||||
  if (!m.field(F_FORNITORE).empty())
 | 
			
		||||
    cfilter << and_connect(cfilter) << "(47->CODFORN==\"" << m.get(F_FORNITORE) << "\")" ;
 | 
			
		||||
  if (!m.field(F_DASTAGIONE).empty() || !m.field(F_ASTAGIONE).empty())
 | 
			
		||||
    cfilter << and_connect(cfilter) << "(BETWEEN(47->STAGIONE,\"" << m.get(F_DASTAGIONE) << "\",\"" << m.get(F_ASTAGIONE) <<"\"))" ;
 | 
			
		||||
  
 | 
			
		||||
	switch (subordine)
 | 
			
		||||
  {
 | 
			
		||||
@ -778,19 +781,17 @@ void TStampa_inventario::setprint_perarticoli(const char subordine, const bool a
 | 
			
		||||
  // setta il filtro sul cursore
 | 
			
		||||
	switch (filtro)
 | 
			
		||||
	{
 | 
			
		||||
  case '0':
 | 
			
		||||
    cfilter = "(STR(GIAC!=\"0\"))";
 | 
			
		||||
		break;
 | 
			
		||||
  case 'N': // negativi
 | 
			
		||||
    cfilter << "(STR(GIAC<\"0\"))";
 | 
			
		||||
    break;
 | 
			
		||||
  case '+':
 | 
			
		||||
    cfilter = "(STR(GIAC>\"0\"))";
 | 
			
		||||
		break;
 | 
			
		||||
	default:
 | 
			
		||||
		break;
 | 
			
		||||
  case '0': cfilter = "(STR(GIAC!=\"0\"))";	break;
 | 
			
		||||
  case 'N': cfilter = "(STR(GIAC<\"0\"))";  break; // negativi
 | 
			
		||||
  case '+': cfilter = "(STR(GIAC>\"0\"))";	break;
 | 
			
		||||
	default :	break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
  if (!m.field(F_FORNITORE).empty())
 | 
			
		||||
    cfilter << and_connect(cfilter) << "(47->CODFORN==\"" << m.get(F_FORNITORE) << "\")" ;
 | 
			
		||||
  if (!m.field(F_DASTAGIONE).empty() || !m.field(F_ASTAGIONE).empty())
 | 
			
		||||
    cfilter << and_connect(cfilter) << "(BETWEEN(47->STAGIONE,\"" << m.get(F_DASTAGIONE) << "\",\"" << m.get(F_ASTAGIONE) <<"\"))" ;
 | 
			
		||||
 | 
			
		||||
  switch (subordine)
 | 
			
		||||
  {
 | 
			
		||||
  case 'C':
 | 
			
		||||
@ -834,6 +835,11 @@ void TStampa_inventario::setprint_perarticoli(const char subordine, const bool a
 | 
			
		||||
    _form->set_ordering(mg_cat_merc);
 | 
			
		||||
    espr2.format("%d->GRMERC[1,3]", LF_ANAMAG);
 | 
			
		||||
    _form->find_field('B',odd_page,"GRUPPI_CATMER").setcondition(espr2,_strexpr); 
 | 
			
		||||
 | 
			
		||||
    if (m.get(F_DAART).full())
 | 
			
		||||
			cfilter << and_connect(cfilter) << "(CODART>=\"" << m.get(F_DAART) << "\")";
 | 
			
		||||
    if (m.get(F_AART).full())
 | 
			
		||||
			cfilter << and_connect(cfilter) << "(CODART<=\"" << m.get(F_AART) << "\")";
 | 
			
		||||
    
 | 
			
		||||
    if (subordine == 'S')
 | 
			
		||||
    {
 | 
			
		||||
@ -947,6 +953,11 @@ void TStampa_inventario::setprint_perarticoli_all(const char subordine, bool all
 | 
			
		||||
  if (m.get(F_AMAG).full())
 | 
			
		||||
    filter << and_connect(filter) << "(CODMAG[1,3]<=" <<'"' << m.get(F_AMAG)<< "\")" ;
 | 
			
		||||
 | 
			
		||||
  if (!m.field(F_FORNITORE).empty())
 | 
			
		||||
    cfilter << and_connect(cfilter) << "(CODFORN==\"" << m.get(F_FORNITORE) << "\")" ;
 | 
			
		||||
  if (!m.field(F_DASTAGIONE).empty() || !m.field(F_ASTAGIONE).empty())
 | 
			
		||||
    cfilter << and_connect(cfilter) << "(BETWEEN(STAGIONE,\"" << m.get(F_DASTAGIONE) << "\",\"" << m.get(F_ASTAGIONE) <<"\"))" ;
 | 
			
		||||
 | 
			
		||||
  //m.set_livellicodice();
 | 
			
		||||
	TString sortexp;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,6 +19,11 @@
 | 
			
		||||
#define F_ADES 112
 | 
			
		||||
#define F_VALMEDI 113
 | 
			
		||||
#define F_STAMPAGIAC 114
 | 
			
		||||
 | 
			
		||||
#define F_FORNITORE   115
 | 
			
		||||
#define F_DASTAGIONE  116
 | 
			
		||||
#define F_ASTAGIONE   117
 | 
			
		||||
 | 
			
		||||
#define F_TOTALIMAGAZZINI 119
 | 
			
		||||
#define F_TOTALIDEPOSITI 120
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
#include "mg4200.h"
 | 
			
		||||
 | 
			
		||||
TOOLBAR "" 0 0 0 2
 | 
			
		||||
TOOLBAR "Toolbar" 0 0 0 2
 | 
			
		||||
 | 
			
		||||
#include <printbar.h>
 | 
			
		||||
 | 
			
		||||
@ -76,19 +76,9 @@ BEGIN
 | 
			
		||||
  ITEM "T|tutti gli articoli"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
TEXT DLG_NULL
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 16 4 "@bDall'articolo"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
TEXT DLG_NULL
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 50 4 "@bAll'articolo"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DAART 20
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 2 5 "Codice        "
 | 
			
		||||
  PROMPT 2 4 "@bDall'articolo "
 | 
			
		||||
  FLAGS "U"
 | 
			
		||||
  USE LF_ANAMAG 
 | 
			
		||||
  INPUT CODART F_DAART
 | 
			
		||||
@ -101,9 +91,9 @@ BEGIN
 | 
			
		||||
  ADD RUN ve2 -3
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DADES 50 28
 | 
			
		||||
STRING F_DADES 50 34
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 2 6 "Descrizione   "
 | 
			
		||||
  PROMPT 44 4 ""
 | 
			
		||||
  FLAGS "U"
 | 
			
		||||
  USE LF_ANAMAG KEY 2
 | 
			
		||||
  INPUT DESCR F_DADES
 | 
			
		||||
@ -114,16 +104,9 @@ BEGIN
 | 
			
		||||
  CHECKTYPE NORMAL
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DAUSR 40 30
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 2 7 "Personalizz.  "
 | 
			
		||||
  FLAGS "UH"
 | 
			
		||||
  GROUP G_USER
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_AART 20
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 50 5 ""
 | 
			
		||||
  PROMPT 2 5 "@bAll'articolo  "
 | 
			
		||||
  FLAGS "U"
 | 
			
		||||
  COPY USE F_DAART
 | 
			
		||||
  INPUT CODART F_AART
 | 
			
		||||
@ -135,9 +118,9 @@ BEGIN
 | 
			
		||||
  ADD RUN ve2 -3
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_ADES 50 28
 | 
			
		||||
STRING F_ADES 50 34
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 50 6 ""
 | 
			
		||||
  PROMPT 44 5 ""
 | 
			
		||||
  FLAGS "U"
 | 
			
		||||
  COPY USE F_DADES
 | 
			
		||||
  INPUT DESCR F_ADES
 | 
			
		||||
@ -147,13 +130,59 @@ BEGIN
 | 
			
		||||
  CHECKTYPE NORMAL
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_AUSR 40 30
 | 
			
		||||
STRING F_DAUSR 50 30
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 50 7 ""
 | 
			
		||||
  PROMPT 2 6 "Da pers. "
 | 
			
		||||
  FLAGS "UH"
 | 
			
		||||
  GROUP G_USER
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
STRING F_AUSR 50 30
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 48 6 "a pers. "
 | 
			
		||||
  FLAGS "UH"
 | 
			
		||||
  GROUP G_USER
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMBER F_FORNITORE 6
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 2 7 "Fornitore  "
 | 
			
		||||
  USE LF_CLIFO
 | 
			
		||||
  INPUT TIPOCF "F"
 | 
			
		||||
  INPUT CODCF F_FORNITORE
 | 
			
		||||
  DISPLAY "Codice" CODCF
 | 
			
		||||
  DISPLAY "Ragione Sociale@50" RAGSOC
 | 
			
		||||
  OUTPUT F_FORNITORE CODCF
 | 
			
		||||
  CHECKTYPE NORMAL
 | 
			
		||||
  ADD RUN,cg0 -1 F
 | 
			
		||||
  FLAGS "U"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DASTAGIONE 4
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 38 7 "Da stagione "
 | 
			
		||||
 	FLAGS "UZ"
 | 
			
		||||
	USE %STG
 | 
			
		||||
	INPUT CODTAB F_DASTAGIONE
 | 
			
		||||
	DISPLAY "Codice" CODTAB
 | 
			
		||||
	DISPLAY "Descrizione@70" S0
 | 
			
		||||
	OUTPUT F_DASTAGIONE CODTAB
 | 
			
		||||
  CHECKTYPE NORMAL
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_ASTAGIONE 4
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 63 7 "A stagione "
 | 
			
		||||
 	FLAGS "UZ"
 | 
			
		||||
	USE %STG
 | 
			
		||||
	INPUT CODTAB F_ASTAGIONE
 | 
			
		||||
	DISPLAY "Codice" CODTAB
 | 
			
		||||
	DISPLAY "Descrizione@70" S0
 | 
			
		||||
	OUTPUT F_ASTAGIONE CODTAB
 | 
			
		||||
  CHECKTYPE NORMAL
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DAMAG 3 
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 2 8 "Dal magazzino "
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,5 @@
 | 
			
		||||
#include "mg4frm.h"
 | 
			
		||||
 | 
			
		||||
USE LF_MAG KEY 2 BY ANNOES CODART LIVELLO CODMAG
 | 
			
		||||
JOIN LF_ANAMAG TO LF_MAG INTO CODART==CODART
 | 
			
		||||
JOIN MAG TO LF_MAG ALIAS 500 INTO CODTAB==CODMAG[1,3]
 | 
			
		||||
 | 
			
		||||
@ -388,7 +388,7 @@ public:
 | 
			
		||||
  // costruisce il codice compatto e viceversa  
 | 
			
		||||
  void pack_maskgrpcodes(TString & pc, const TMask & m, int field, int level) const;
 | 
			
		||||
  void pack_grpcode(TString & pc, const TString &codlev, const int levnum) const;     // Inserisce il codice del gruppo del livello levnum in pc
 | 
			
		||||
  TString unpack_grpcode(const TString & pc, const int levnum) const ;     // Estrae il codice del gruppo del livello levnum da pc
 | 
			
		||||
  const TString& unpack_grpcode(const TString & pc, const int levnum) const; // Estrae il codice del gruppo del livello levnum da pc
 | 
			
		||||
  // costruisce il codice della tabella di decodifica dei livelli
 | 
			
		||||
  TString build_tabcode(const TString & code, const int levnum) const ;
 | 
			
		||||
  TString build_tabcode_packed(const TString & pcode, const int levnum) const ;
 | 
			
		||||
 | 
			
		||||
@ -796,7 +796,7 @@ void TCodice_livelli::pack_grpcode(TString & pc, const TString &codlev, const in
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
TString TCodice_livelli::unpack_grpcode(const TString& pc, const int levnum) const
 | 
			
		||||
const TString& TCodice_livelli::unpack_grpcode(const TString& pc, const int levnum) const
 | 
			
		||||
{
 | 
			
		||||
  CHECK(levnum<=max_levels() && levnum>0,"I codici livello partono da 1") ;
 | 
			
		||||
  int start=0;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user