- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Validação linhas Pedido
×
Linguagem de Programação ADVPL
Perguntas Validação linhas Pedido
- plautojr
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 10
- Obrigados Recebidos: 0
11 anos 7 meses atrás #14089
por plautojr
Validação linhas Pedido foi criado 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
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.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- plautojr
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 10
- Obrigados Recebidos: 0
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Validação linhas Pedido
Tempo para a criação da página:0.094 segundos