Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento :adesso genera dalla anagrafica in modo corretto git-svn-id: svn://10.65.10.50/trunk@19359 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									2a4f005d77
								
							
						
					
					
						commit
						e130c6af43
					
				@ -47,7 +47,7 @@ TGestione_listini_semplice_mask_genera::TGestione_listini_semplice_mask_genera(T
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// COPIA LISTINO
 | 
					// COPIA LISTINO
 | 
				
			||||||
//--------------
 | 
					//----------------------------------------------------------------------------------------------------------------------
 | 
				
			||||||
//metodo che restituisce l'indice della riga dello sheet che contiene
 | 
					//metodo che restituisce l'indice della riga dello sheet che contiene
 | 
				
			||||||
//la coppia tipo-articolo desiderata (-1 se non lo trova)
 | 
					//la coppia tipo-articolo desiderata (-1 se non lo trova)
 | 
				
			||||||
int TGestione_listini_semplice_mask_genera::find_art_in_sheet(const char tipo, const TString& cod,
 | 
					int TGestione_listini_semplice_mask_genera::find_art_in_sheet(const char tipo, const TString& cod,
 | 
				
			||||||
@ -119,21 +119,25 @@ void TGestione_listini_semplice_mask_genera::copia_listino()
 | 
				
			|||||||
  //sheet righe listino da riempire nella maschera principale
 | 
					  //sheet righe listino da riempire nella maschera principale
 | 
				
			||||||
  TSheet_field& sf_righe = _main_mask->sfield(F_L_RIGHE);
 | 
					  TSheet_field& sf_righe = _main_mask->sfield(F_L_RIGHE);
 | 
				
			||||||
  TMask& msk = sf_righe.sheet_mask();
 | 
					  TMask& msk = sf_righe.sheet_mask();
 | 
				
			||||||
  //record corrente del recordset
 | 
					
 | 
				
			||||||
 | 
					  //record corrente del recordset (non const perchè la modifica eventualmente causa ricarico)
 | 
				
			||||||
  TRectype& riga_corrente = righe_listino.cursor()->curr();
 | 
					  TRectype& riga_corrente = righe_listino.cursor()->curr();
 | 
				
			||||||
  TString80 val;
 | 
					  TString80 val;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //alcune date utili nelle righe
 | 
					  //alcune date utili nelle righe; prese qui perchè vengono dalla testata o dalla maschera e sono poi riportate..
 | 
				
			||||||
 | 
					  //..nelle righe
 | 
				
			||||||
  TDate data_ult_aum = _main_mask->get_date(F_L_VALINI);
 | 
					  TDate data_ult_aum = _main_mask->get_date(F_L_VALINI);
 | 
				
			||||||
  if (!data_ult_aum.ok())
 | 
					  if (!data_ult_aum.ok())
 | 
				
			||||||
    data_ult_aum = TDate(TODAY);
 | 
					    data_ult_aum = TDate(TODAY);
 | 
				
			||||||
  TDate data_prz_storico = rec_ori_testata.get_date(CONDV_VALIN);
 | 
					  TDate data_prz_storico = rec_ori_testata.get_date(CONDV_VALIN);
 | 
				
			||||||
  if (!data_prz_storico.ok())
 | 
					  if (!data_prz_storico.ok())
 | 
				
			||||||
    data_prz_storico = data_ult_aum - 1L;
 | 
					    data_prz_storico = data_ult_aum - 1L;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //scorre tutte le righe listino del recordset e le sbatte nello sheet della maschera principale
 | 
					  //scorre tutte le righe listino del recordset e le sbatte nello sheet della maschera principale
 | 
				
			||||||
  for (bool ok = righe_listino.move_first(); ok; ok = righe_listino.move_next())
 | 
					  for (bool ok = righe_listino.move_first(); ok; ok = righe_listino.move_next())
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    pi.addstatus(1);
 | 
					    if (!pi.addstatus(1))
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
    //controlla che il record non esista per caso già nel listino di destinazione (caso della copia listino in più..
 | 
					    //controlla che il record non esista per caso già nel listino di destinazione (caso della copia listino in più..
 | 
				
			||||||
    //..fasi separate: un lavoro da mica normali!). Prende quindi la chiave di riga e cerca nello sheet...
 | 
					    //..fasi separate: un lavoro da mica normali!). Prende quindi la chiave di riga e cerca nello sheet...
 | 
				
			||||||
    const char tiporiga = riga_corrente.get_char(RCONDV_TIPORIGA);
 | 
					    const char tiporiga = riga_corrente.get_char(RCONDV_TIPORIGA);
 | 
				
			||||||
@ -175,7 +179,7 @@ void TGestione_listini_semplice_mask_genera::copia_listino()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//CREA DA ANAGRAFICA ARTICOLI
 | 
					//CREA DA ANAGRAFICA ARTICOLI
 | 
				
			||||||
//----------------------------
 | 
					//----------------------------------------------------------------------------------------------------------------------
 | 
				
			||||||
void TGestione_listini_semplice_mask_genera::crea_da_anamag()
 | 
					void TGestione_listini_semplice_mask_genera::crea_da_anamag()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  //prende i dati dalla maschera per crearsi una query di generazione righe sheet
 | 
					  //prende i dati dalla maschera per crearsi una query di generazione righe sheet
 | 
				
			||||||
@ -221,9 +225,12 @@ void TGestione_listini_semplice_mask_genera::crea_da_anamag()
 | 
				
			|||||||
  //fase riempimento sheet maschera principale
 | 
					  //fase riempimento sheet maschera principale
 | 
				
			||||||
  TSheet_field& sf_righe = _main_mask->sfield(F_L_RIGHE);
 | 
					  TSheet_field& sf_righe = _main_mask->sfield(F_L_RIGHE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  //attenzione! ci possono essere articoli presenti più volte in UMART con diverse unità di misura: li mette tutti
 | 
				
			||||||
  const bool gest_um = _main_mask->get_bool(F_L_GESTUM);
 | 
					  const bool gest_um = _main_mask->get_bool(F_L_GESTUM);
 | 
				
			||||||
  TRecord_array arr_art_um(LF_UMART, UMART_NRIGA);
 | 
					  TRecord_array arr_art_um(LF_UMART, UMART_NRIGA);
 | 
				
			||||||
 | 
					  //la gestione omaggi (misteriosamente definita gestsco) attiva l'iva
 | 
				
			||||||
  const bool gest_sco = _main_mask->get_bool(F_L_GESTSCO);
 | 
					  const bool gest_sco = _main_mask->get_bool(F_L_GESTSCO);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //per ogni riga del recordset va ad aggiornare lo sheet sulla maschera (aggiunge la riga)
 | 
					  //per ogni riga del recordset va ad aggiornare lo sheet sulla maschera (aggiunge la riga)
 | 
				
			||||||
  for (bool ok = recset.move_first(); ok; ok = recset.move_next())
 | 
					  for (bool ok = recset.move_first(); ok; ok = recset.move_next())
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -235,7 +242,7 @@ void TGestione_listini_semplice_mask_genera::crea_da_anamag()
 | 
				
			|||||||
    key->put(UMART_CODART, codart);
 | 
					    key->put(UMART_CODART, codart);
 | 
				
			||||||
    arr_art_um.read(key);
 | 
					    arr_art_um.read(key);
 | 
				
			||||||
    const int num_um = gest_um ? arr_art_um.rows() : 1;
 | 
					    const int num_um = gest_um ? arr_art_um.rows() : 1;
 | 
				
			||||||
 | 
					    //se ci sono più unità di misura per lo stesso codart ci sono tanti record quante um
 | 
				
			||||||
    for (int u = 1; u <= num_um; u++)
 | 
					    for (int u = 1; u <= num_um; u++)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      TToken_string& row = sf_righe.row(-1);
 | 
					      TToken_string& row = sf_righe.row(-1);
 | 
				
			||||||
@ -266,7 +273,8 @@ void TGestione_listini_semplice_mask_genera::crea_da_anamag()
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// GESTIONE COPIA/GENERA IN AUTOMATICO
 | 
				
			||||||
 | 
					//------------------------------------
 | 
				
			||||||
void TGestione_listini_semplice_mask_genera::crea_listino()
 | 
					void TGestione_listini_semplice_mask_genera::crea_listino()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  //per prima cosa controlla se deve copiare da un listino esistente o generare da nuovo
 | 
					  //per prima cosa controlla se deve copiare da un listino esistente o generare da nuovo
 | 
				
			||||||
@ -703,7 +711,8 @@ bool TGestione_listini_semplice::remove()
 | 
				
			|||||||
  //strage di righe!
 | 
					  //strage di righe!
 | 
				
			||||||
  for (bool ok = righelist.move_first(); ok; ok = righelist.move_next())
 | 
					  for (bool ok = righelist.move_first(); ok; ok = righelist.move_next())
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    pi.addstatus(1);
 | 
					    if (!pi.addstatus(1))
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
    righelist.cursor()->relation()->remove();
 | 
					    righelist.cursor()->relation()->remove();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,13 +12,9 @@ RADIOBUTTON F_SELECT 76
 | 
				
			|||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 1 1 "@bTipologia di generazione"
 | 
					  PROMPT 1 1 "@bTipologia di generazione"
 | 
				
			||||||
  ITEM "1|Copia da listino esistente"
 | 
					  ITEM "1|Copia da listino esistente"
 | 
				
			||||||
  MESSAGE HIDE,2@|HIDE,3@|HIDE,4@|SHOW,1@
 | 
					  MESSAGE HIDE,2@|SHOW,1@
 | 
				
			||||||
  ITEM "2|Anagrafica articoli"
 | 
					  ITEM "2|Anagrafica articoli"
 | 
				
			||||||
  MESSAGE HIDE,1@|HIDE,3@|HIDE,4@|SHOW,2@
 | 
					  MESSAGE HIDE,1@|SHOW,2@
 | 
				
			||||||
  ITEM "3|Gruppo merceologico"
 | 
					 | 
				
			||||||
  MESSAGE HIDE,1@|HIDE,2@|HIDE,4@|SHOW,3@
 | 
					 | 
				
			||||||
  ITEM "4|Raggruppamento fiscale"
 | 
					 | 
				
			||||||
  MESSAGE HIDE,1@|HIDE,2@|HIDE,3@|SHOW,4@
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//Copia listino esistente
 | 
					//Copia listino esistente
 | 
				
			||||||
@ -169,14 +165,15 @@ BEGIN
 | 
				
			|||||||
  OUTPUT F_GRMERC CODTAB[1,3]
 | 
					  OUTPUT F_GRMERC CODTAB[1,3]
 | 
				
			||||||
  OUTPUT F_DESGRMERC S0
 | 
					  OUTPUT F_DESGRMERC S0
 | 
				
			||||||
  CHECKTYPE NORMAL
 | 
					  CHECKTYPE NORMAL
 | 
				
			||||||
  GROUP 2 3
 | 
					  GROUP 2
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_SOTGRMERC 5
 | 
					STRING F_SOTGRMERC 5
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 20 10 ""
 | 
					  PROMPT 20 10 ""
 | 
				
			||||||
  FLAGS "U"
 | 
					  FLAGS "U"
 | 
				
			||||||
  USE GMC SELECT CODTAB[4,5] != ""
 | 
					  USE GMC 
 | 
				
			||||||
 | 
					  //SELECT CODTAB[4,5] != ""
 | 
				
			||||||
  COPY INPUT F_GRMERC
 | 
					  COPY INPUT F_GRMERC
 | 
				
			||||||
  INPUT CODTAB[4,5] F_SOTGRMERC
 | 
					  INPUT CODTAB[4,5] F_SOTGRMERC
 | 
				
			||||||
  DISPLAY "Gruppo" CODTAB[1,3]
 | 
					  DISPLAY "Gruppo" CODTAB[1,3]
 | 
				
			||||||
@ -185,7 +182,7 @@ BEGIN
 | 
				
			|||||||
  COPY OUTPUT F_GRMERC
 | 
					  COPY OUTPUT F_GRMERC
 | 
				
			||||||
  OUTPUT F_SOTGRMERC CODTAB[4,5]
 | 
					  OUTPUT F_SOTGRMERC CODTAB[4,5]
 | 
				
			||||||
  CHECKTYPE NORMAL
 | 
					  CHECKTYPE NORMAL
 | 
				
			||||||
  GROUP 2 3
 | 
					  GROUP 2
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_DESGRMERC 50 45
 | 
					STRING F_DESGRMERC 50 45
 | 
				
			||||||
@ -198,7 +195,7 @@ BEGIN
 | 
				
			|||||||
  DISPLAY "Sottogruppo" CODTAB[4,5]
 | 
					  DISPLAY "Sottogruppo" CODTAB[4,5]
 | 
				
			||||||
  COPY OUTPUT F_SOTGRMERC
 | 
					  COPY OUTPUT F_SOTGRMERC
 | 
				
			||||||
  CHECKTYPE NORMAL
 | 
					  CHECKTYPE NORMAL
 | 
				
			||||||
  GROUP 2 3
 | 
					  GROUP 2
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_RAGFIS 5
 | 
					STRING F_RAGFIS 5
 | 
				
			||||||
@ -212,7 +209,7 @@ BEGIN
 | 
				
			|||||||
  OUTPUT F_RAGFIS CODTAB
 | 
					  OUTPUT F_RAGFIS CODTAB
 | 
				
			||||||
  OUTPUT F_DESRAGFIS S0
 | 
					  OUTPUT F_DESRAGFIS S0
 | 
				
			||||||
  CHECKTYPE NORMAL
 | 
					  CHECKTYPE NORMAL
 | 
				
			||||||
  GROUP 2 4
 | 
					  GROUP 2
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_DESRAGFIS 50
 | 
					STRING F_DESRAGFIS 50
 | 
				
			||||||
@ -224,24 +221,9 @@ BEGIN
 | 
				
			|||||||
  DISPLAY "Ragg. fisc." CODTAB
 | 
					  DISPLAY "Ragg. fisc." CODTAB
 | 
				
			||||||
  COPY OUTPUT F_RAGFIS
 | 
					  COPY OUTPUT F_RAGFIS
 | 
				
			||||||
  CHECKTYPE NORMAL
 | 
					  CHECKTYPE NORMAL
 | 
				
			||||||
  GROUP 2 4
 | 
					  GROUP 2
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//Generazione da gruppo merceologico
 | 
					 | 
				
			||||||
//-----------------------------------------------
 | 
					 | 
				
			||||||
GROUPBOX DLG_NULL 76 3
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  PROMPT 1 9 "@bGruppo merceologico"
 | 
					 | 
				
			||||||
  GROUP 3
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//Generazione da raggruppamento fiscale
 | 
					 | 
				
			||||||
//-----------------------------------------------
 | 
					 | 
				
			||||||
GROUPBOX DLG_NULL 76 3
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  PROMPT 1 10 "@bRaggruppamento fiscale"
 | 
					 | 
				
			||||||
  GROUP 4
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENDPAGE
 | 
					ENDPAGE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -20,7 +20,7 @@ BEGIN
 | 
				
			|||||||
  KEY 1
 | 
					  KEY 1
 | 
				
			||||||
  USE GMC SELECT CODTAB[4,5]==""
 | 
					  USE GMC SELECT CODTAB[4,5]==""
 | 
				
			||||||
  INPUT CODTAB F_CODGRU
 | 
					  INPUT CODTAB F_CODGRU
 | 
				
			||||||
  DISPLAY "Gruppo"         CODTAB[1,3]
 | 
					  DISPLAY "Gruppo" CODTAB[1,3]
 | 
				
			||||||
  DISPLAY "Descrizione gruppo@50" S0
 | 
					  DISPLAY "Descrizione gruppo@50" S0
 | 
				
			||||||
  OUTPUT F_CODGRU CODTAB[1,3]
 | 
					  OUTPUT F_CODGRU CODTAB[1,3]
 | 
				
			||||||
  OUTPUT H_CODGRU CODTAB[1,3]
 | 
					  OUTPUT H_CODGRU CODTAB[1,3]
 | 
				
			||||||
@ -260,14 +260,14 @@ END
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
STRING F_SCONTO 25
 | 
					STRING F_SCONTO 25
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
   PROMPT  2 13 "Sconto "
 | 
					  PROMPT  2 13 "Sconto "
 | 
				
			||||||
   FIELD S4
 | 
					  FIELD S4
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_RICARICO 25
 | 
					STRING F_RICARICO 25
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
   PROMPT  38 13 "Ricarico "
 | 
					  PROMPT  38 13 "Ricarico "
 | 
				
			||||||
   FIELD S5
 | 
					  FIELD S5
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEXT -1
 | 
					TEXT -1
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user