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.
- Um valor lógico (
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