Árvore de páginas

01. DADOS GERAIS

  • Linha de Produto: Microsiga Protheus®
  • Segmento: Backoffice
  • Módulo: SIGACTB
  • Função: ATFA012
  • Nome do Ponto de Entrada: AF012CHP
  • Tipo: Ponto de Entrada (Bloco Executável)
  • Objetivo: Personalizar a validação e manipulação do campo "Chapa" no módulo relacionado a ativos fixos.

02. DESCRIÇÃO

O ponto de entrada AF012CHP() permite que os desenvolvedores customizem o processo de validação e manipulação da chapa de um ativo fixo. Ele oferece flexibilidade para adaptar a lógica de verificação de existência de chapa no sistema, seja para evitar duplicidades, configurar permissões de edição ou implementar regras específicas de negócio. Se o bloco executável (ExecBlock) estiver definido, ele será chamado para que o comportamento do sistema seja alterado conforme o necessário.

03. PARÂMETROS 

  • nChapa: Número da chapa do ativo fixo.
  • lRepChapa: Indica se a chapa será repetida ou substituída (opcional).

04. RETORNO

  • Retorno Principal:
    • Um valor lógico (.T. ou .F.) que indica o sucesso ou falha da validação.

               Se o ponto de entrada não estiver definido, a lógica padrão será aplicada para validar a chapa e impedir a duplicidade de registros no sistema.

05. EXEMPLO DE UTILIZAÇÃO

If ExistBlock("AF012CHP")
    lRet := ExecBlock("AF012CHP", .F., .F., {nChapa, lRepChapa})
    lRet := If(ValType(lRet) == "L", lRet, .F.)
Else
    If !lRepChapa
        If Empty(nChapa)
            If !(cStatus == "0") .or. FwIsInCallStack("ATFA240")
                Help(" ", 1, "AF012ACHAP",, cDescCpo + STR0152, 1, 0,,,,,, {STR0153 + cNomeCpo + "." })
                lRet := .F.
            EndIf
        ElseIf lMile
            If AF12CHPMIL(nChapa)
                Help(" ", 1, "AF012ACHAP",, cDescCpo + STR0154, 1, 0,,,,,, {STR0155 + cNomeCpo + "."})
                lRet := .F.
            EndIf
        Else
            DBSelectArea("SN1")
            DBSetOrder(2)
            If DBSeek(XFilial("SN1") + nChapa) .And. cBase+cItem != SN1->(N1_CBASE+N1_ITEM)
                Help(" ", 1, "AF012ACHAP",, cDescCpo + STR0154, 1, 0,,,,,, {STR0155 + cNomeCpo + "."})
                lRet := .F.
            EndIf
        EndIf
    EndIf
EndIf