Produto: | |
---|---|
Linha de Produto: | |
Segmento: | |
Módulo: | |
Função: | ATFA380 |
País: | Brasil |
Ticket: | Interno |
Requisito/Story/Issue | DSERCTR1-46748 |
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.
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.
lRet := ExecBlock( "AF380VLIN", .F., .F.,{oGetD:aHeader,oGetD:aCols,nInc,nOpc,lEfetiva } ) |
#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) |
|