01. DADOS GERAIS
Produto: |
TOTVS Backoffice
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Serviços |
Módulo: | TOTVS Backoffice (Linha Protheus) - Ativo Fixo (SIGAATF)
|
Função: | ATFA380 |
País: | Brasil |
Ticket: | Interno |
Requisito/Story/Issue | DSERCTR1-46748 |
02. DESCRIÇÃO
O ponto de entrada AF380VLIN é utilizado para realizar a validação de cada linha da grade na rotina de Acerto do Valor Recuperável. Ele permite que sejam aplicadas regras de negócio específicas para verificar e controlar os dados inseridos ou ajustados na grade.
Funcionamento:
- Executado durante a interação com a grade, avaliando cada linha antes de prosseguir.
- Permite que o desenvolvedor implemente validações personalizadas, garantindo que os valores e informações preenchidos atendam aos critérios esperados.
Benefícios:
- Validação Dinâmica: Assegura a consistência e a integridade dos dados inseridos na grade.
- Customização: Flexibilidade para adaptar o comportamento do sistema às necessidades específicas de cada cliente ou processo.
Este ponto de entrada é essencial para cenários onde os dados ajustados na rotina de Acerto do Valor Recuperável demandam validações rigorosas ou customizadas antes da confirmação.
03. DEMAIS INFORMAÇÕES
Manipulação de PE no sistema
lRet := ExecBlock( "AF380VLIN", .F., .F.,{oGetD:aHeader,oGetD:aCols,nInc,nOpc,lEfetiva } )
Exemplo de PE
#Include 'Protheus.ch' //Exemplo de ponto de entrada para validar linha na exportacao ou importacao User Function AF380VLIN() Local aHeaVLin := ParamIXB[1] Local aColsVLin := ParamIXB[2] Local nLinAt := ParamIXB[3] Local nOpc := ParamIXB[4] Local lEfetiva_ := ParamIXB[5] Local lRet := .T. Local cQuery := "" Local aArea := GetArea() Local cAliasQry := CriaTrab(,.F.) Local nPosBem := aScan( aHeaVLin, {|x| Upper( AllTrim( x[2] ) ) == "NJ_BEM" } ) Local nPosItBem := aScan( aHeaVLin, {|x| Upper( AllTrim( x[2] ) ) == "NJ_ITBEM" } ) If nOpc == 7 .And. lEfetiva_ .And. nPosBem > 0 .And. nPosItBem > 0 //importacao com efetivacao tem que validar se bem ja nao esta em outra simulacao cQuery := " SELECT NI_STATUS FROM " cQuery += " SNI000 SNI, SNJ000 SNJ " cQuery += " WHERE " cQuery += " NI_STATUS = '1' " cQuery += " AND SNI.D_E_L_E_T_ = ' ' " cQuery += " AND NI_FILIAL = NJ_FILIAL " cQuery += " AND NI_PROC = NJ_PROC " cQuery += " AND SNJ.D_E_L_E_T_ = ' ' " dbUseArea(.T., "TOPCONN", TcGenQry(,, cQuery ), cAliasQry, .T.,.F. ) If (cAliasQry)->( !Eof() ) //se encontrado retorna .F. para chamador (cAliasQry)->( DbCloseArea() ) //MsgInfo("Bem : "+aColsVLin[nLinAt, nPosBem]+"/"+aColsVLin[nLinAt, nPosItBem]+" - encontrado em outra simulacao, Arquivo nao pode ser importado.") lRet := .F. EndIf EndIf RestArea(aArea) Return(lRet)
Importante !!
- Observa-se que a utilização do PE e os impactos dele no sistema são de responsabilidade do cliente.
- Os exemplos utilizados nessa documentação são apenas para fins de demonstração, cada cliente deve verificar qual comportamento deseja realizar de acordo com o escopo do ponto de entrada.
04. ASSUNTOS RELACIONADOS
- Não se aplica.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas