Jump to content
Fivewin Brasil

PDV's Frente de Caixa


Wellington Vieira

Recommended Posts

Boa Tarde Wellington,

Amigo tive algum tempo este lema em fornecer aos usuários uma tela mais agradável e funcional e que também fizesse eu admirá-la (sei que vocês gostam de ter seus egos de um "bom trabalho" também rsrsr) e percebi que telas com muitas informações não ficavam legais na minha opinião.

Teclas de comandos podem serem substituídas com em help em uma tecla (a minha é F12) pois percebi que com o tempo, os usuários gravam em mente suas funções portando, acho desnecessário.

Telas sobrepostas com muitos dialogs, ficam confusas e parecem que um fechamento de venda fica com muitos níveis de execução.

Cores demais, vi em uma reportagem que visualmente ficam cansativas e não gradáveis com o tempo além de serem bem infantis ao meu ver.

Me desculpe as observações mas  apenas dei minha opinião sobre o assunto e espero ter contribuído para 1 ou nenhum ponto ao senhor.

Gostei muito da transparência na tela do recebimento do caixa, ficou show!

Abaixo algumas telas  do meu PDV onde pode ser configurado o papel de parede, cores, logo e uso informações apenas necessários onde as mesmas aparecem conforme também as configurações como por exemplo descontos e códigos de vendedores apenas para alguns usuários em níveis de acesso.

Obrigado

p54kfWj.jpg

9HvEMbr.jpg

YpIBJla.jpg

i7fsr6u.jpg

EFw65il.jpg

V2NICPX.jpg

07i5duv.jpg

 

 

Link to comment
Share on other sites

  • 2 weeks later...

Olá amigo, blz

Vou postar a parte de baixo, onde tem fontes diferentes e cores diferentes alem de tem imagem

Sem_t%C3%ADtulo.png?1587381508

 

	a_ARRAY_BOTOES_FUNCOES		:= {}
	T_PROD_1	:= '#8041' + '|' + 'F1' + '|' + 'Cad. Cliente'	+ '|' 
	T_PROD_2 :=   '#8260' + '|' + 'F2' + '|' + 'Nfc-e '   			+ '|'  
	T_PROD_3	:=  (M->BTN_PRINT_REGISTRO)  		+ '|' + 'F3'  + '|' + 'Reemitir Ultima'+ '|'  
	T_PROD_4 :=  (M->BTN_APAGAR_REGISTRO) 		+ '|' + 'F4'  + '|' + 'Cancelar Item'	+ '|'   	
	T_PROD_5	:=  '#8631' 					  		+ '|' + 'F5'  + '|' + 'Receber Contas'	+ '|'  
	T_PROD_6	:=  '#8668' 					  		+ '|' + 'F6'  + '|' + 'Caixa Fechado'	+ '|'  
	T_PROD_7	:=  '#8258' 					  		+ '|' + 'F7'  + '|' + 'Cons.Produtos'	+ '|'  
	T_PROD_8	:=  '#8629' 					  		+ '|' + 'F8'  + '|' + 'Fechar a Vista'	+ '|'  
	T_PROD_9	:=  '#8616' 					  		+ '|' + 'F9'  + '|' + 'Fechar a Prazo'	+ '|'  
	T_PROD_10:=  '#8632' 				 	  		+ '|' + 'F10' + '|' + 'Outras Funções'	+ '|'  	
	T_PROD_11:=  (M->BTN_CANCELAR_REGISTRO)	+ '|' + 'F11' + '|' + 'Canc.Todos Itens'	+ '|'  
	T_PROD_12:=  '#8413' 			  		  		+ '|' + 'F12' + '|' + 'Abrir Gaveta'	+ '|'   
		

	aAdd(  a_ARRAY_BOTOES_FUNCOES,{   IF(!EMPTY(ALLTRIM(T_PROD_1)),ALLTRIM(T_PROD_1),'') ,; 	&&& 1 MESA VERMELHA VERDE 
	IF(!EMPTY(ALLTRIM(T_PROD_2)),ALLTRIM(T_PROD_2),''),;                          				&&& 2 Numero da Mesa
	IF(!EMPTY(ALLTRIM(T_PROD_3)),ALLTRIM(T_PROD_3),''),;                          				&&& 3 Numero da Mesa
	IF(!EMPTY(ALLTRIM(T_PROD_4)),ALLTRIM(T_PROD_4),''),;                       					&&& 4 Numero da Mesa
	IF(!EMPTY(ALLTRIM(T_PROD_5)),ALLTRIM(T_PROD_5),''),;		 											&&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_6)),ALLTRIM(T_PROD_6),'')  } ) 	 											&&& 5 Tempo gasto

	aAdd(  a_ARRAY_BOTOES_FUNCOES,{IF(!EMPTY(ALLTRIM(T_PROD_7)),ALLTRIM(T_PROD_7),''),;		 	&&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_8)),ALLTRIM(T_PROD_8),''),;		 											&&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_9)),ALLTRIM(T_PROD_9),''),;		 											&&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_10)),ALLTRIM(T_PROD_10),''),;		 										&&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_11)),ALLTRIM(T_PROD_11),''),;                                    &&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_12)),ALLTRIM(T_PROD_12),'') } )   											&&& 5 Tempo gasto

	oDB_BROWSE								:= TXBrowse():New( oDlg_PDV_VENDAS   )                     
	oDB_BROWSE								: CreateFromResource(4003)
	oDB_BROWSE:nHeaderLines        	:=  0.1  //-----> Linhas do cabeçalho
	oDB_BROWSE:nDataLines          	:=  2.0
	oDB_BROWSE:lRecordSelector     	:= .F.   //-----> Mostrar ou Não o Seletor > 	
	oDB_BROWSE:lAllowColSwapping   	:= .F.  	//-----> Trocar Colunas 	         
	oDB_BROWSE:lAllowRowSizing     	:= .F.  	//-----> Nao move as Linhas            
	oDB_BROWSE:lAllowColSwapping   	:= .F.   //-----> Faz a Linha Lateral do Grid Escura ou Não
	oDB_BROWSE:lColDividerComplete 	:= .F.  	//-----> .T. Poe as colunas ate o final do browse.
	oDB_BROWSE:lHScroll            	:= .F.  	//-----> Barra Rolagem Horiz.
	oDB_BROWSE:lVScroll    				:= .F.   
	oDB_BROWSE:lFooter             	:= .F.   //-----> Mostrar ou nao o rodape
	oDB_BROWSE:lHeader		       	:= .F.   //-----> Mostrar ou Não o Cabecalho
	oDB_BROWSE:lDrawBorder 				:= .F.
	oDB_BROWSE:lFlatStyle   			:= .F.
	oDB_BROWSE:nColDividerStyle    	:= 4
	oDB_BROWSE:nRowDividerStyle    	:= 4
	oDB_BROWSE:nMarqueeStyle       	:= 7
	oDB_BROWSE:l2007 						:= M->ESTILO_l2007 
	oDB_BROWSE								:SetArray( (a_ARRAY_BOTOES_FUNCOES), .t., 1, { 1,2,3,4,5,6  } ) 
	oDB_BROWSE:lDisplayZeros 			:= (.F.)
	oDB_BROWSE:lColChangeNotify 		:= (.T.)
	oDB_BROWSE:oDataFonts    			:= O_F_DLG
	oDB_BROWSE:lTransparent 			:= .F.   &&&& faz o browse Transparente
	oDB_BROWSE:lColChangeNotify 		:= .T.  &&&&& gerar evento por coluna
	oDB_BROWSE:aCols[02]:SetOrder()	
	*-------------------------------------------------------------------------
   oDB_BROWSE:aCols[01]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][1])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][1]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[01]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[01]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[01]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[01]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][1]))  } 	
   oDB_BROWSE:aCols[01]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[01]
         oDB_BROWSE:aCols[01]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[01]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
   oDB_BROWSE:aCols[02]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][2])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][2]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[02]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[02]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[02]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[02]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][2]))  } 	
   oDB_BROWSE:aCols[02]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[02]
         oDB_BROWSE:aCols[02]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[02]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
   oDB_BROWSE:aCols[03]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][3])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][3]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[03]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[03]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[03]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[03]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][3]))  } 	
   oDB_BROWSE:aCols[03]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[03]
         oDB_BROWSE:aCols[03]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[03]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
   oDB_BROWSE:aCols[04]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][4])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][4]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[04]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[04]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[04]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[04]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][4]))  } 	
   oDB_BROWSE:aCols[04]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[04]
         oDB_BROWSE:aCols[04]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[04]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
   oDB_BROWSE:aCols[05]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][5])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][5]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[05]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[05]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[05]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[05]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][5]))  } 	
   oDB_BROWSE:aCols[05]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[05]
         oDB_BROWSE:aCols[05]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[05]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
   oDB_BROWSE:aCols[06]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][6])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][6]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[06]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[06]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[06]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[06]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][6]))  } 	
   oDB_BROWSE:aCols[06]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[06]
         oDB_BROWSE:aCols[06]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[06]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
	



-------------------------------------------------------------------------------
* Mostra Dados da grid
*-------------------------------------------------------------------------------
Static Function Mostra_Dados_Funcao(v_String_Analizar)
	Local v_Numero_Funcao := '', v_Nome_Funcao:= ''
	v_Texto_Pipe						:=	hb_atokens(v_String_Analizar,"|")
	FOR I := 1 TO LEN(v_String_Analizar)					
		v_Numero_Funcao		:= alltrim(v_Texto_Pipe[2])
		v_Nome_Funcao			:= alltrim(v_Texto_Pipe[3])
	NEXT
Return (v_Numero_Funcao +CRTLF+v_Nome_Funcao)



 

Link to comment
Share on other sites

 

Olá amigo, blz

Vou postar a parte de baixo, onde tem fontes diferentes e cores diferentes alem de tem imagem

Sem_t%C3%ADtulo.png?1587381508

 


	a_ARRAY_BOTOES_FUNCOES		:= {}
	T_PROD_1	:= '#8041' + '|' + 'F1' + '|' + 'Cad. Cliente'	+ '|' 
	T_PROD_2 :=   '#8260' + '|' + 'F2' + '|' + 'Nfc-e '   			+ '|'  
	T_PROD_3	:=  (M->BTN_PRINT_REGISTRO)  		+ '|' + 'F3'  + '|' + 'Reemitir Ultima'+ '|'  
	T_PROD_4 :=  (M->BTN_APAGAR_REGISTRO) 		+ '|' + 'F4'  + '|' + 'Cancelar Item'	+ '|'   	
	T_PROD_5	:=  '#8631' 					  		+ '|' + 'F5'  + '|' + 'Receber Contas'	+ '|'  
	T_PROD_6	:=  '#8668' 					  		+ '|' + 'F6'  + '|' + 'Caixa Fechado'	+ '|'  
	T_PROD_7	:=  '#8258' 					  		+ '|' + 'F7'  + '|' + 'Cons.Produtos'	+ '|'  
	T_PROD_8	:=  '#8629' 					  		+ '|' + 'F8'  + '|' + 'Fechar a Vista'	+ '|'  
	T_PROD_9	:=  '#8616' 					  		+ '|' + 'F9'  + '|' + 'Fechar a Prazo'	+ '|'  
	T_PROD_10:=  '#8632' 				 	  		+ '|' + 'F10' + '|' + 'Outras Funções'	+ '|'  	
	T_PROD_11:=  (M->BTN_CANCELAR_REGISTRO)	+ '|' + 'F11' + '|' + 'Canc.Todos Itens'	+ '|'  
	T_PROD_12:=  '#8413' 			  		  		+ '|' + 'F12' + '|' + 'Abrir Gaveta'	+ '|'   
		

	aAdd(  a_ARRAY_BOTOES_FUNCOES,{   IF(!EMPTY(ALLTRIM(T_PROD_1)),ALLTRIM(T_PROD_1),'') ,; 	&&& 1 MESA VERMELHA VERDE 
	IF(!EMPTY(ALLTRIM(T_PROD_2)),ALLTRIM(T_PROD_2),''),;                          				&&& 2 Numero da Mesa
	IF(!EMPTY(ALLTRIM(T_PROD_3)),ALLTRIM(T_PROD_3),''),;                          				&&& 3 Numero da Mesa
	IF(!EMPTY(ALLTRIM(T_PROD_4)),ALLTRIM(T_PROD_4),''),;                       					&&& 4 Numero da Mesa
	IF(!EMPTY(ALLTRIM(T_PROD_5)),ALLTRIM(T_PROD_5),''),;		 											&&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_6)),ALLTRIM(T_PROD_6),'')  } ) 	 											&&& 5 Tempo gasto

	aAdd(  a_ARRAY_BOTOES_FUNCOES,{IF(!EMPTY(ALLTRIM(T_PROD_7)),ALLTRIM(T_PROD_7),''),;		 	&&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_8)),ALLTRIM(T_PROD_8),''),;		 											&&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_9)),ALLTRIM(T_PROD_9),''),;		 											&&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_10)),ALLTRIM(T_PROD_10),''),;		 										&&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_11)),ALLTRIM(T_PROD_11),''),;                                    &&& 5 Tempo gasto
	IF(!EMPTY(ALLTRIM(T_PROD_12)),ALLTRIM(T_PROD_12),'') } )   											&&& 5 Tempo gasto

	oDB_BROWSE								:= TXBrowse():New( oDlg_PDV_VENDAS   )                     
	oDB_BROWSE								: CreateFromResource(4003)
	oDB_BROWSE:nHeaderLines        	:=  0.1  //-----> Linhas do cabeçalho
	oDB_BROWSE:nDataLines          	:=  2.0
	oDB_BROWSE:lRecordSelector     	:= .F.   //-----> Mostrar ou Não o Seletor > 	
	oDB_BROWSE:lAllowColSwapping   	:= .F.  	//-----> Trocar Colunas 	         
	oDB_BROWSE:lAllowRowSizing     	:= .F.  	//-----> Nao move as Linhas            
	oDB_BROWSE:lAllowColSwapping   	:= .F.   //-----> Faz a Linha Lateral do Grid Escura ou Não
	oDB_BROWSE:lColDividerComplete 	:= .F.  	//-----> .T. Poe as colunas ate o final do browse.
	oDB_BROWSE:lHScroll            	:= .F.  	//-----> Barra Rolagem Horiz.
	oDB_BROWSE:lVScroll    				:= .F.   
	oDB_BROWSE:lFooter             	:= .F.   //-----> Mostrar ou nao o rodape
	oDB_BROWSE:lHeader		       	:= .F.   //-----> Mostrar ou Não o Cabecalho
	oDB_BROWSE:lDrawBorder 				:= .F.
	oDB_BROWSE:lFlatStyle   			:= .F.
	oDB_BROWSE:nColDividerStyle    	:= 4
	oDB_BROWSE:nRowDividerStyle    	:= 4
	oDB_BROWSE:nMarqueeStyle       	:= 7
	oDB_BROWSE:l2007 						:= M->ESTILO_l2007 
	oDB_BROWSE								:SetArray( (a_ARRAY_BOTOES_FUNCOES), .t., 1, { 1,2,3,4,5,6  } ) 
	oDB_BROWSE:lDisplayZeros 			:= (.F.)
	oDB_BROWSE:lColChangeNotify 		:= (.T.)
	oDB_BROWSE:oDataFonts    			:= O_F_DLG
	oDB_BROWSE:lTransparent 			:= .F.   &&&& faz o browse Transparente
	oDB_BROWSE:lColChangeNotify 		:= .T.  &&&&& gerar evento por coluna
	oDB_BROWSE:aCols[02]:SetOrder()	
	*-------------------------------------------------------------------------
   oDB_BROWSE:aCols[01]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][1])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][1]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[01]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[01]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[01]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[01]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][1]))  } 	
   oDB_BROWSE:aCols[01]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[01]
         oDB_BROWSE:aCols[01]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[01]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
   oDB_BROWSE:aCols[02]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][2])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][2]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[02]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[02]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[02]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[02]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][2]))  } 	
   oDB_BROWSE:aCols[02]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[02]
         oDB_BROWSE:aCols[02]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[02]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
   oDB_BROWSE:aCols[03]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][3])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][3]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[03]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[03]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[03]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[03]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][3]))  } 	
   oDB_BROWSE:aCols[03]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[03]
         oDB_BROWSE:aCols[03]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[03]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
   oDB_BROWSE:aCols[04]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][4])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][4]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[04]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[04]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[04]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[04]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][4]))  } 	
   oDB_BROWSE:aCols[04]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[04]
         oDB_BROWSE:aCols[04]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[04]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
   oDB_BROWSE:aCols[05]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][5])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][5]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[05]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[05]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[05]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[05]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][5]))  } 	
   oDB_BROWSE:aCols[05]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[05]
         oDB_BROWSE:aCols[05]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[05]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
   oDB_BROWSE:aCols[06]:bStrImage      	:= { ||  iif(len(a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][6])>0,  SUBSTR((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][6]),01,05) ,nil) }   // nao conheco a extgrutura do seu array      oXBrw10:aArrayData[oXBrw10:nArrayAt][3]
   oDB_BROWSE:aCols[06]:nWidth        		:= (100 + IF(ScreenWidth_pdv>1024,40,0) )
	oDB_BROWSE:aCols[06]:nDataBmpAlign 	 	:= 1
   oDB_BROWSE:aCols[06]:aClrText   			:= { nil, CLR_HRED, nil, CLR_GREEN }
	oDB_BROWSE:aCols[06]:bStrData          := { ||  Mostra_Dados_Funcao((a_ARRAY_BOTOES_FUNCOES[oDB_BROWSE:nArrayAt][6]))  } 	
   oDB_BROWSE:aCols[06]:aClrText   			:= { CLR_HRED, CLR_GREEN }
	WITH OBJECT oDB_BROWSE
      WITH OBJECT  :aCols[06]
         oDB_BROWSE:aCols[06]:aDataFont   := { O_F_DLG,O_F_DLG  }
         oDB_BROWSE:aCols[06]:aClrText    := { CLR_HRED,CLR_PRETO }
      END
	END	
	*-------------2---------------------------------------------------------------	
	



-------------------------------------------------------------------------------
* Mostra Dados da grid
*-------------------------------------------------------------------------------
Static Function Mostra_Dados_Funcao(v_String_Analizar)
	Local v_Numero_Funcao := '', v_Nome_Funcao:= ''
	v_Texto_Pipe						:=	hb_atokens(v_String_Analizar,"|")
	FOR I := 1 TO LEN(v_String_Analizar)					
		v_Numero_Funcao		:= alltrim(v_Texto_Pipe[2])
		v_Nome_Funcao			:= alltrim(v_Texto_Pipe[3])
	NEXT
Return (v_Numero_Funcao +CRTLF+v_Nome_Funcao)



 

Show!

Mas era mesmo a mais simples onde esta os produtos.

Link to comment
Share on other sites

 

 

	oCol := oDB_TEMPO_VENDA:AddCol()
	oCol:bStrData  := { || tempo->NOME_PRODUTO + IF(ScreenWidth_pdv>1024,SPACE(30),'') + CRTLF + 'Quantidade.: ' +TRANSFORM(tempo->QTDE_VENDIDO,"@E 99,999.999") +' '+ lower(tempo->UNIDADE_MEDIDA) + ' x    Preço Unitário.: ' + TRANSFORM(tempo->VR_UNITARIO,"@E  999,999.99")+ CRTLF +'Terceira Linha se For o Caso'}
	oCol:cHeader   := "Descrição"
	oCol:cFooter   := " "
	oCol:nDataStrAlign := AL_LEFT
	oCol:nHeadStrAlign := AL_LEFT
	WITH OBJECT oDB_TEMPO_VENDA
      WITH OBJECT :aCols[ 03 ]
         oDB_TEMPO_VENDA:aCols[03]:aDataFont   	:= { O_F_DLG2,O_F_DLG, O_F_DLG  }
         oDB_TEMPO_VENDA:aCols[03]	:aClrText   := { CLR_PRETO, CLR_PRETO, CLR_PRETO }
      END
	END

 

Link to comment
Share on other sites

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...