- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- MT100LOK - Validar linha por linha na SD1
×
Linguagem de Programação ADVPL
Perguntas MT100LOK - Validar linha por linha na SD1
- eljusticeiro
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 4
- Obrigados Recebidos: 0
9 anos 11 meses atrás #26522
por eljusticeiro
MT100LOK - Validar linha por linha na SD1 foi criado por eljusticeiro
Estou procurando um ponto de entrada ou alguma maneira de, na classificação da nota fiscal, obrigar o cadastro de um campo específico se o tipo do produto for "tal"
Ex.
Criamos um campo chamado D1_XXCR (Controle de Recebimento Interno), precisamos que seja obrigatório quando o tipo do produto seja "MP"
Segue um exemplo do código que estou tentando usar. Ele posiciona no B1, mas ao tentar pegar o valor do meu campo D1_XXCR ele não retorna nda, está vazio mesmo preenchendo
User Function MT100LOK()
Local nRet := .T.
if (SB1->B1_TIPO='MP')
if ALLTRIM(D1_XXCR)=''
MsgAlert('Favor verificar os campos: Controle de recebimento')
nRet := .F.
end if
endif
Return(nRet)
Ex.
Criamos um campo chamado D1_XXCR (Controle de Recebimento Interno), precisamos que seja obrigatório quando o tipo do produto seja "MP"
Segue um exemplo do código que estou tentando usar. Ele posiciona no B1, mas ao tentar pegar o valor do meu campo D1_XXCR ele não retorna nda, está vazio mesmo preenchendo
User Function MT100LOK()
Local nRet := .T.
if (SB1->B1_TIPO='MP')
if ALLTRIM(D1_XXCR)=''
MsgAlert('Favor verificar os campos: Controle de recebimento')
nRet := .F.
end if
endif
Return(nRet)
Por favor Acessar ou Registrar para participar da conversa.
- Tony.totvs
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 47
- Obrigados Recebidos: 0
9 anos 11 meses atrás #26523
por Tony.totvs
Respondido por Tony.totvs no tópico MT100LOK - Validar linha por linha na SD1
Alessandro, tenta assim:
User Function MT100LOK()
Local nRet := .T.
cXXCR := acols[n][ascan(aHeader,{|x| Upper(alltrim(x[2])) == "D1_XXCR"})]
// Verifica se esta deletado
if !acols[n][len(aCols[n])]
if (SB1->B1_TIPO='MP')
if ALLTRIM(cXXCR)=''
MsgAlert('Favor verificar os campos: Controle de recebimento')
nRet := .F.
end if
endif
endif
Return(nRet)
User Function MT100LOK()
Local nRet := .T.
cXXCR := acols[n][ascan(aHeader,{|x| Upper(alltrim(x[2])) == "D1_XXCR"})]
// Verifica se esta deletado
if !acols[n][len(aCols[n])]
if (SB1->B1_TIPO='MP')
if ALLTRIM(cXXCR)=''
MsgAlert('Favor verificar os campos: Controle de recebimento')
nRet := .F.
end if
endif
endif
Return(nRet)
Por favor Acessar ou Registrar para participar da conversa.
- eljusticeiro
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 4
- Obrigados Recebidos: 0
9 anos 11 meses atrás #26526
por eljusticeiro
Respondido por eljusticeiro no tópico MT100LOK - Validar linha por linha na SD1
Deu certinho só
if !acols[n][len(aCols[n])]
que deu erro....
if !acols[n][len(aCols[n])]
que deu erro....
Por favor Acessar ou Registrar para participar da conversa.
- luizalbertovieiraalves
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 6
- Obrigados Recebidos: 0
9 anos 11 meses atrás #26528
por luizalbertovieiraalves
Luiz Alberto V Alves
(12) 9 8256-5905
Proprietário 3L Systems e MasterAdvpl
Respondido por luizalbertovieiraalves no tópico MT100LOK - Validar linha por linha na SD1
Usa Assim
If !acols[n,Len(aHeader)+1]
If !acols[n,Len(aHeader)+1]
Luiz Alberto V Alves
(12) 9 8256-5905
Proprietário 3L Systems e MasterAdvpl
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- MT100LOK - Validar linha por linha na SD1
Tempo para a criação da página:0.083 segundos