× Linguagem de Programação ADVPL

Perguntas Validação linhas Pedido

Mais
11 anos 7 meses atrás #14089 por plautojr
Bom dia amigos, criei uma msnewgetdados, que está no ponto de entrada da validação da linha do pedido (M410LIOK), nessa tela eu crio uma grid onde eu vinculo outros produtos da tabela SB1, ao item do pedido, então no campo da minha tabela que eu criei eu coloquei uma validação para verificar se existe o produto digitado na grid com tabela SB1, e uma validação para ver se o usuario não está repetindo o produto na grid, se não está digitando duas vezes o mesmo produto, no caso a validação do campo na minha tabela ficou assim:
campo "Z4_COD" : "existcpo("SB1",M->Z4_COD).And.(U_VALEXIST())"

Minha função ValExist ficou assim:
*****************************************************
User Function valexist()

DbSelectArea("SZ4")
SZ4->(DbSetOrder(3))
//Z4_FILIAL+Z4_COD+Z4_NPED




For nI := 1 To Len( oGET:aCols )

If SZ4->(dbSeek(xFilial("SZ4") + oGet:aCols[nI][1] + M->C5_NUM ))


MsgAlert ("Insumo Já Cadastrado")

oGet:Disable()

Else

oGet:Enable()

EndIf
NEXT
Return ()
*****************************************************
e o erro que dá é : "THREAD ERROR (tecnologia5, TECNOLOGIA5) 21/05/2013 10:32:20
type mismatch on .AND. on {|| (existcpo("SB1",M->Z4_COD).And.(U_VALEXIST())) .and. (AllwaysTrue())} line : 1008"

Faz uma semana que trabalho com ADVPL, se puderem ajudar eu agradeço.



Jesus é Caminho

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 7 meses atrás #14091 por kanaamlrr
Respondido por kanaamlrr no tópico Validação linhas Pedido
o retorno da sua função não é uma variavel logica, por isso o erro.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 7 meses atrás #14104 por plautojr
Respondido por plautojr no tópico Validação linhas Pedido
Pode me mostrar como ? sou bem novato mesmo.. hehe
faz uma semana que to desenvolvendo.. bem perdido aqui

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 7 meses atrás #14112 por kanaamlrr
Respondido por kanaamlrr no tópico Validação linhas Pedido
tenta assim
User Function valexist()
Local lRet := .T. 

DbSelectArea("SZ4")
 SZ4->(DbSetOrder(3))
 //Z4_FILIAL+Z4_COD+Z4_NPED
 



For nI := 1 To Len( oGET:aCols )
 
If SZ4->(dbSeek(xFilial("SZ4") + oGet:aCols[nI][1] + M->C5_NUM ))
 

MsgAlert ("Insumo Já Cadastrado")
 
oGet:Disable()
 lRet := .F.
Else
 
oGet:Enable()
 
EndIf
 NEXT
 Return lRet

Por favor Acessar ou Registrar para participar da conversa.

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