pessoal preciso fazer uma validação no campo data emissao da nota fiscal de entrada mata103, tem algum PE que de pra fazer essa validação, ou se posso fazer a validação no priprio campo ? na hora da digitação da nota de entrada ( compras )
pessoal preciso fazer uma validação no campo data emissao da nota fiscal de entrada mata103, tem algum PE que de pra fazer essa validação, ou se posso fazer a validação no priprio campo ? na hora da digitação da nota de entrada ( compras )
Olá Eduardo, você pode usar o MT100LOK para validar toda a linha do item.
Segue exemplo, espero que ajude.
/*/{Protheus.doc} User Function MT100LOK
(Localização : Function A119LinOk e A119TudOK - Função de Validação ( linha OK da Getdados) para Inclusão/Alteração do item da NF de Despesas de Importação e A103LinOk - Função de Validação da LinhaOk.Em que Ponto: No final das validações após a confirmação da inclusão ou alteração da linha, antes da gravação da NF de Despesas de Importação.
Finalidade: Permite alterar itens da NF de Despesas de Importação.
Eventos
Programa Fonte
MATA119.PRW,MATA103.PRW)
@type Function
@author Leandro Lemos
@since 11/12/2023
@version version
@param param_name, param_type, param_descr
@return return_var, return_type, return_description
@example
(examples)
@see (links_or_references)
/*/
User Function MT100LOK()
Local aArea := getArea()
Local lExecuta := ParamIxb[1]
Local cProduto := aCols[n][aScan(aHeader,{|x|Trim(x[2])=="D1_COD"})]
Local cTes := aCols[n][aScan(aHeader,{|x|Trim(x[2])=="D1_TES"})]
DBSelectArea('SB1')
SB1->(DBSetOrder(1))
if SB1->(DBSeek(xFilial("SB1")+cProduto))
if SB1->B1_ORIGEM == '1' .and. cTes $ ('100,101,102')
MsgAlert("TES invalida para produto de origem 1")
lExecuta := .F.
endif
endif
RestArea(aArea)
Return lExecuta
O que você quer validar na data?
— Lucas de Paulo Santos 11 de Dec de 2023