× Linguagem de Programação ADVPL

Perguntas Validação de Campo

Mais
7 anos 5 meses atrás #31371 por diegoo_martins
Estou fazendo uma validação no campo C6_CLASFIS para não permitir Situação Tributária diferente do cadastro de TES.
Porém, não está posicionando no campo F4_SITTRIB.

ERRO: variable does not exist C6_TES

Alguém pode me ajudar?

User Function VL_SIT_TRB()

Local lRet := .T.
Local nPosSit := aCols[n,AScan(aHeader,{|x| AllTrim(x[2]) == "C6_CLASFIS" })]
Local _cSitTRB := ""

DbSelectArea ("SC6")
DbSetOrder(1)
DbSeek(xfilial("SC6")+ nPosSit)

_SitTRB := Posicione("SF4",1,xFilial("SF4")+M->C6_TES,"F4_SITTRIB")

If AllTrim(Subst(aCols[N][nPosSit],2,3)) <> _cSitTRB

Aviso("Classificação Fiscal","Situação Trinutária inválida.",{"OK"},1)
lRet := .F.

EndIf

Return (lRet)

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 5 meses atrás #31374 por will
Respondido por will no tópico Validação de Campo
Bom dia!

Você está tentando usar uma variavel de memoria dentro de um dbselectArea.

Ou você debuga e verifica se existe o M->C6_TES que já vem da tela, e aí vc pode retirar todo esse DbSelect Area e tal

ou você usa SC6->C6_TES

EXEMPLO 1:

User Function VL_SIT_TRB()

Local lRet := .T.
Local nPosSit := aCols[n,AScan(aHeader,{|x| AllTrim(x[2]) == "C6_CLASFIS" })]
Local _cSitTRB := ""

_SitTRB := Posicione("SF4",1,xFilial("SF4")+M->C6_TES,"F4_SITTRIB")

If AllTrim(Subst(aCols[N][nPosSit],2,3)) <> _cSitTRB

Aviso("Classificação Fiscal","Situação Trinutária inválida.",{"OK"},1)
lRet := .F.

EndIf

Return (lRet)

EXEMPLO 2:

User Function VL_SIT_TRB()

Local lRet := .T.
Local nPosSit := aCols[n,AScan(aHeader,{|x| AllTrim(x[2]) == "C6_CLASFIS" })]
Local _cSitTRB := ""

DbSelectArea ("SC6")
DbSetOrder(1)
DbSeek(xfilial("SC6")+ nPosSit)

_SitTRB := Posicione("SF4",1,xFilial("SF4")+SC6->C6_TES,"F4_SITTRIB")

If AllTrim(Subst(aCols[N][nPosSit],2,3)) <> _cSitTRB

Aviso("Classificação Fiscal","Situação Trinutária inválida.",{"OK"},1)
lRet := .F.

EndIf

Return (lRet)


verifique qual é o melhor.

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 5 meses atrás #31375 por diegoo_martins
Respondido por diegoo_martins no tópico Validação de Campo
William, bom dia.

Se colocar a validação no campo C6_TES, o erro não ocorre. Mas, o objetivo é ter a validação ao mudar de linha.
Pensei em utilizar o PE M410LIOK, mas dá este erro de variável de memória no C6_TES...

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 5 meses atrás #31380 por will
Respondido por will no tópico Validação de Campo
Boa Tarde!

Para usar o ponto de entrada M410LIOK, ele está dentro do Acols ainda, então você tem que ver o vetor Acols e não o cmapo, se precisar de um exemplo me avise.

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 5 meses atrás #31382 por diegoo_martins
Respondido por diegoo_martins no tópico Validação de Campo
William, bom dia.

Vou precisar de um exemplo do PE M410LIOK.
Poderia me enviar, por favor?

Obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 5 meses atrás #31392 por diegoo_martins
Respondido por diegoo_martins no tópico Validação de Campo
Willian, boa tarde.

Consegue me enviar um exemplo do PE M410LIOK.

Att,

Por favor Acessar ou Registrar para participar da conversa.

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