Pessoal preciso fazer uma validação no campo data emissao da nota fiscal de entrada mata103

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 )

O que você quer validar na data?

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