× Linguagem de Programação ADVPL

Perguntas FWMarkBrowse

Mais
10 anos 9 meses atrás #20444 por lucascience
FWMarkBrowse foi criado por lucascience
Bom dia pessoal,

Estou desenvolvendo uma tela para seleção de títulos para realizar transferência de situação em massa.
Pude ver que a função MarkBrow foi substituída pela FWMarkBrowse. Para conhecer e passar a utilizar, estou desenvolvendo utilizando-a.
Porém, ao ativar a tela, é gerado o erro: variable is not array - Type[C].

Não estou achando qual a variável que está com esse erro, visto que não informa.

o erro se dá na seguinte linha (negrito)

oMark:= FWMarkBrowse():New() // Cria o objeto oMark - MarkBrowse
oMark:SetAlias( cALiasTRB ) // Define a tabela do MarkBrowse
oMark:SetDescription( cTitulo ) // Define o titulo do MarkBrowse
oMark:SetFieldMark( "E1_OK" ) // Define o campo utilizado para a marcacao
oMark:SetFilterDefault() // Define o filtro a ser aplicado no MarkBrowse
oMark:SetFields( aCampos ) // Define os campos a serem mostrados no MarkBrowse
oMark:SetSemaphore(.F.) // Define se utiliza marcacao exclusiva
oMark:Activate() // Ativa o MarkBrowse

Alguém já viu esse erro e saberia me dar uma luz para resolver?

Obrigado!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #20507 por lucascience
Respondido por lucascience no tópico FWMarkBrowse
Ninguém teve esse problema?

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #20509 por rodrigolparaujo
Respondido por rodrigolparaujo no tópico FWMarkBrowse
oi, mande seu fonte para uma melhor analise

abaixo, segue um fonte funcional que utilizo para criar uma tela com MarkBrow e funciona muito bem
User Function AFIN003 
	Local 	aPerg     	:= {} 
	Private cAlias 	  	:= "SE2"
	Private cCadastro 	:= "Contas a Pagar"
	Private aRotina 	:= {} 
	Private aTitulos	:= {}   
	Private aIndexQRY   := {}   
	Private aIndexSE2   := {}
	Private cExp		:= ""
	Private aFiltro 	:= {}   
	Private bFiltraBrw	:= {|| Nil }  
	Private _cQuery		:= ""      
	Private cText		:= ""    
	Private aCores		:= {}	
	Private aCampos		:= {}
	Private cArqTrab    := ""
	Private cFiltro		:= ""
	Private nOrdPesq := 1
	Private cCondicao 	:= ""
		
	CriaSx1a('AFIN003F')
	if !(Pergunte('AFIN003F',.T.))
		Alert("Cancelado pelo usuario!")
		return
	endif

	AADD(aRotina,{"Visualizar"				,"U_AFIN003V"			, 0,2})
	Aadd(aRotina,{"Aviso"					,"U_AFIN003A"			, 0,6})		
	                 
	dbSelectArea("SE2")
	

	cCondicao := "     	E2_PREFIXO	== 'EIC' "	
	cCondicao += " .AND. E2_NUMDI 		  >= '"+mv_par01		+"' .AND. E2_NUMDI 		  <= '"+mv_par02+"' " 
	cCondicao += " .AND. E2_NUM 	 	  >= '"+mv_par03		+"' .AND. E2_NUM   		  <= '"+mv_par04+"' "
	cCondicao += " .AND. E2_FORNECE 	  >= '"+mv_par05		+"' .AND. E2_FORNECE 	  <= '"+mv_par07+"' " 
	cCondicao += " .AND. E2_LOJA    	  >= '"+mv_par06		+"' .AND. E2_LOJA		  <= '"+mv_par08+"' "
	cCondicao += " .AND. DTOS(E2_EMISSAO) >= '"+Dtos(MV_PAR09)  +"'.And. DTOS(E2_EMISSAO) <= '"+Dtos(MV_PAR10)+"'"
	
	if mv_par12>0 
		cCondicao += " .AND. E2_VALOR >= '"+STR(mv_par11)+"' .AND. E2_VALOR   	<= '"+STR(mv_par12)+"' "
	endif 

	If !Empty(mv_par13)	
		cCondicao+= " .AND. E2_HIST $ '"+Alltrim(mv_par13)+"' " 
	endif
	
	If !Empty(mv_par15)	
		cCondicao+= " .AND. E2_HAWBEIC == '"+mv_par15+"' " 
	endif

	If !Empty(mv_par16)	
		cCondicao+= " .AND. E2_PO_EIC == '"+mv_par16+"' " 
	endif

	
	bFiltraBrw	:= {|| FilBrowse("SE2",@aIndexSE2,@cCondicao) }
 	Eval(bFiltraBrw)
	dbSelectArea("SE2")
	if mv_par14==1
		SE2->(dbSetOrder(5))
	Elseif mv_par14==2
		SE2->(dbSetOrder(17))
	Elseif mv_par14==1
		SE2->(dbSetOrder(1))
	Endif	
	SE2->(dbGoTop())

	SET FILTER TO &(cCondicao)

	Aadd(aCampos, {'E2_ZZMARCA'	,'C','Ok'		,1,0,'@!'})
	Aadd(aCampos, {'E2_NUMDI'	,'C','D.I'		,PesqPict("SE2","E2_NUMDI")		,TAMSX3("E2_NUMDI")[1]		,TAMSX3("E2_NUMDI")[2]})
	Aadd(aCampos, {'E2_PO_EIC'	,'C','P.O'		,PesqPict("SE2","E2_PO_EIC")	,TAMSX3("E2_PO_EIC")[1]		,TAMSX3("E2_PO_EIC")[2]})
	Aadd(aCampos, {'E2_HAWBEIC'	,'C','Hawb'		,PesqPict("SE2","E2_HAWBEIC")	,TAMSX3("E2_HAWBEIC")[1]	,TAMSX3("E2_HAWBEIC")[2]}) 
	Aadd(aCampos, {'E2_PREFIXO'	,'C','Prefixo'	,PesqPict("SE2","E2_PREFIXO")	,TAMSX3("E2_PREFIXO")[1],TAMSX3("E2_PREFIXO")[2]})
  	Aadd(aCampos, {'E2_NUM'		,'C','Titulo'	,PesqPict("SE2","E2_NUM")		,TAMSX3("E2_NUM")[1]		,TAMSX3("E2_NUM")[2]}  )
	Aadd(aCampos, {'E2_PARCELA'	,'C','Parcela'	,PesqPict("SE2","E2_PARCELA")	,TAMSX3("E2_PARCELA")[1]	,TAMSX3("E2_PARCELA")[2]}  )
	Aadd(aCampos, {'E2_TIPO'	,'C','Tipo'		,PesqPict("SE2","E2_TIPO")		,TAMSX3("E2_TIPO")[1]		,TAMSX3("E2_TIPO")[2]} )                           
	Aadd(aCampos, {'E2_NATUREZ'	,'C','Natureza'	,PesqPict("SE2","E2_NATUREZ")	,TAMSX3("E2_NATUREZ")[1]	,TAMSX3("E2_NATUREZ")[2]})
	Aadd(aCampos, {'E2_FORNECE'	,'C','Fornecedor',PesqPict("SE2","E2_FORNECE")	,TAMSX3("E2_FORNECE")[1]	,TAMSX3("E2_FORNECE")[2]})
	Aadd(aCampos, {'E2_LOJA'	,'C','Loja'		,PesqPict("SE2","E2_LOJA")		,TAMSX3("E2_LOJA")[1]		,TAMSX3("E2_LOJA")[2]} )
	Aadd(aCampos, {'E2_EMISSAO'	,'D','Emissao'	,PesqPict("SE2","E2_EMISSAO")	,TAMSX3("E2_EMISSAO")[1]	,TAMSX3("E2_EMISSAO")[2]})
	Aadd(aCampos, {'E2_VENCTO'	,'D','Vencimento',PesqPict("SE2","E2_VENCTO")	,TAMSX3("E2_VENCTO")[1]		,TAMSX3("E2_VENCTO")[2]})
	Aadd(aCampos, {'E2_VENCREA'	,'D','Venc.Real',PesqPict("SE2","E2_VENCREA")	,TAMSX3("E2_VENCREA")[1]	,TAMSX3("E2_VENCREA")[2]})
	Aadd(aCampos, {'E2_VALOR'	,'N','Valor'	,PesqPict("SE2","E2_VALOR")		,TAMSX3("E2_VALOR")[1]		,TAMSX3("E2_VALOR")[2]})
	Aadd(aCampos, {'E2_SALDO'	,'N','Saldo'	,PesqPict("SE2","E2_SALDO")		,TAMSX3("E2_SALDO")[1]		,TAMSX3("E2_SALDO")[2]})
	Aadd(aCampos, {'E2_HIST'	,'C','Historico',PesqPict("SE2","E2_HIST")		,TAMSX3("E2_HIST")[1]		,TAMSX3("E2_HIST")[2]})

	MarkBrow("SE2","E2_ZZMARCA","",aCampos,.F.,GetMark(,"SE2","E2_ZZMARCA"),,,,,,,,,)

	Set Filter to 
	SE2->(DbGotop())	

Return                       

Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #20510 por rodrigolparaujo
Respondido por rodrigolparaujo no tópico FWMarkBrowse
oi, mande seu fonte para uma melhor analise

abaixo, segue um fonte funcional que utilizo para criar uma tela com MarkBrow e funciona muito bem
User Function AFIN003 
	Local 	aPerg     	:= {} 
	Private cAlias 	  	:= "SE2"
	Private cCadastro 	:= "Contas a Pagar"
	Private aRotina 	:= {} 
	Private aTitulos	:= {}   
	Private aIndexQRY   := {}   
	Private aIndexSE2   := {}
	Private cExp		:= ""
	Private aFiltro 	:= {}   
	Private bFiltraBrw	:= {|| Nil }  
	Private _cQuery		:= ""      
	Private cText		:= ""    
	Private aCores		:= {}	
	Private aCampos		:= {}
	Private cArqTrab    := ""
	Private cFiltro		:= ""
	Private nOrdPesq := 1
	Private cCondicao 	:= ""
		
	CriaSx1a('AFIN003F')
	if !(Pergunte('AFIN003F',.T.))
		Alert("Cancelado pelo usuario!")
		return
	endif

	AADD(aRotina,{"Visualizar"				,"U_AFIN003V"			, 0,2})
	Aadd(aRotina,{"Aviso"					,"U_AFIN003A"			, 0,6})		
	                 
	dbSelectArea("SE2")
	

	cCondicao := "     	E2_PREFIXO	== 'EIC' "	
	cCondicao += " .AND. E2_NUMDI 		  >= '"+mv_par01		+"' .AND. E2_NUMDI 		  <= '"+mv_par02+"' " 
	cCondicao += " .AND. E2_NUM 	 	  >= '"+mv_par03		+"' .AND. E2_NUM   		  <= '"+mv_par04+"' "
	cCondicao += " .AND. E2_FORNECE 	  >= '"+mv_par05		+"' .AND. E2_FORNECE 	  <= '"+mv_par07+"' " 
	cCondicao += " .AND. E2_LOJA    	  >= '"+mv_par06		+"' .AND. E2_LOJA		  <= '"+mv_par08+"' "
	cCondicao += " .AND. DTOS(E2_EMISSAO) >= '"+Dtos(MV_PAR09)  +"'.And. DTOS(E2_EMISSAO) <= '"+Dtos(MV_PAR10)+"'"
	
	if mv_par12>0 
		cCondicao += " .AND. E2_VALOR >= '"+STR(mv_par11)+"' .AND. E2_VALOR   	<= '"+STR(mv_par12)+"' "
	endif 

	If !Empty(mv_par13)	
		cCondicao+= " .AND. E2_HIST $ '"+Alltrim(mv_par13)+"' " 
	endif
	
	If !Empty(mv_par15)	
		cCondicao+= " .AND. E2_HAWBEIC == '"+mv_par15+"' " 
	endif

	If !Empty(mv_par16)	
		cCondicao+= " .AND. E2_PO_EIC == '"+mv_par16+"' " 
	endif

	
	bFiltraBrw	:= {|| FilBrowse("SE2",@aIndexSE2,@cCondicao) }
 	Eval(bFiltraBrw)
	dbSelectArea("SE2")
	if mv_par14==1
		SE2->(dbSetOrder(5))
	Elseif mv_par14==2
		SE2->(dbSetOrder(17))
	Elseif mv_par14==1
		SE2->(dbSetOrder(1))
	Endif	
	SE2->(dbGoTop())

	SET FILTER TO &(cCondicao)

	Aadd(aCampos, {'E2_ZZMARCA'	,'C','Ok'		,1,0,'@!'})
	Aadd(aCampos, {'E2_NUMDI'	,'C','D.I'		,PesqPict("SE2","E2_NUMDI")		,TAMSX3("E2_NUMDI")[1]		,TAMSX3("E2_NUMDI")[2]})
	Aadd(aCampos, {'E2_PO_EIC'	,'C','P.O'		,PesqPict("SE2","E2_PO_EIC")	,TAMSX3("E2_PO_EIC")[1]		,TAMSX3("E2_PO_EIC")[2]})
	Aadd(aCampos, {'E2_HAWBEIC'	,'C','Hawb'		,PesqPict("SE2","E2_HAWBEIC")	,TAMSX3("E2_HAWBEIC")[1]	,TAMSX3("E2_HAWBEIC")[2]}) 
	Aadd(aCampos, {'E2_PREFIXO'	,'C','Prefixo'	,PesqPict("SE2","E2_PREFIXO")	,TAMSX3("E2_PREFIXO")[1],TAMSX3("E2_PREFIXO")[2]})
  	Aadd(aCampos, {'E2_NUM'		,'C','Titulo'	,PesqPict("SE2","E2_NUM")		,TAMSX3("E2_NUM")[1]		,TAMSX3("E2_NUM")[2]}  )
	Aadd(aCampos, {'E2_PARCELA'	,'C','Parcela'	,PesqPict("SE2","E2_PARCELA")	,TAMSX3("E2_PARCELA")[1]	,TAMSX3("E2_PARCELA")[2]}  )
	Aadd(aCampos, {'E2_TIPO'	,'C','Tipo'		,PesqPict("SE2","E2_TIPO")		,TAMSX3("E2_TIPO")[1]		,TAMSX3("E2_TIPO")[2]} )                           
	Aadd(aCampos, {'E2_NATUREZ'	,'C','Natureza'	,PesqPict("SE2","E2_NATUREZ")	,TAMSX3("E2_NATUREZ")[1]	,TAMSX3("E2_NATUREZ")[2]})
	Aadd(aCampos, {'E2_FORNECE'	,'C','Fornecedor',PesqPict("SE2","E2_FORNECE")	,TAMSX3("E2_FORNECE")[1]	,TAMSX3("E2_FORNECE")[2]})
	Aadd(aCampos, {'E2_LOJA'	,'C','Loja'		,PesqPict("SE2","E2_LOJA")		,TAMSX3("E2_LOJA")[1]		,TAMSX3("E2_LOJA")[2]} )
	Aadd(aCampos, {'E2_EMISSAO'	,'D','Emissao'	,PesqPict("SE2","E2_EMISSAO")	,TAMSX3("E2_EMISSAO")[1]	,TAMSX3("E2_EMISSAO")[2]})
	Aadd(aCampos, {'E2_VENCTO'	,'D','Vencimento',PesqPict("SE2","E2_VENCTO")	,TAMSX3("E2_VENCTO")[1]		,TAMSX3("E2_VENCTO")[2]})
	Aadd(aCampos, {'E2_VENCREA'	,'D','Venc.Real',PesqPict("SE2","E2_VENCREA")	,TAMSX3("E2_VENCREA")[1]	,TAMSX3("E2_VENCREA")[2]})
	Aadd(aCampos, {'E2_VALOR'	,'N','Valor'	,PesqPict("SE2","E2_VALOR")		,TAMSX3("E2_VALOR")[1]		,TAMSX3("E2_VALOR")[2]})
	Aadd(aCampos, {'E2_SALDO'	,'N','Saldo'	,PesqPict("SE2","E2_SALDO")		,TAMSX3("E2_SALDO")[1]		,TAMSX3("E2_SALDO")[2]})
	Aadd(aCampos, {'E2_HIST'	,'C','Historico',PesqPict("SE2","E2_HIST")		,TAMSX3("E2_HIST")[1]		,TAMSX3("E2_HIST")[2]})

	MarkBrow("SE2","E2_ZZMARCA","",aCampos,.F.,GetMark(,"SE2","E2_ZZMARCA"),,,,,,,,,)

	Set Filter to 
	SE2->(DbGotop())	

Return                       

Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.184 segundos
Joomla templates by a4joomla