| Produto: | |
|---|---|
| Linha de Produto: | |
| Segmento: | |
| Módulo: | |
| Função: | ATFA036 |
| País: | Brasil |
| Ticket: | Interno |
| Requisito/Story/Issue | DSERCTR1-46030 |
O ponto de entrada AF036CAN é utilizado para aplicar uma validação específica durante o cancelamento de baixas efetuadas sobre ativos fixos. Ele pode realizar uma checagem adicional ou atualizar registros, garantindo que a operação de cancelamento seja feita apenas em condições adequadas, evitando inconsistências nos registros contábeis e patrimoniais.
/*
* Controle de multiplas moedas
*/
aVrdAcm := AtfMultMoe("SN3","N3_VRDACM")
AtfMultMoe(,,{|x| aVrdAcm[x] -= aVrdMes[x] })
If ExistBlock("AF036CAN")
ExecBlock("AF036CAN",.F.,.F.)
EndIf
/*
* Geração de lancamentos Contabeis conforme o tipo do ativo cadastrado
*/
If Empty(cPadraoAut)
IF SN3->N3_TIPO $ ("01*10" + cTypes10)
cPadrao := "814"
ElseIF SN3->N3_TIPO $ "02,05"
cPadrao := "815"
ElseIF SN3->N3_TIPO $ "03*13"
cPadrao := "816"
ElseIF SN3->N3_TIPO == "04"
cPadrao := "817"
Else
cPadrao := "81B" // Cancelamento da baixa de outros tipos de ativos
EndIf
Else
cPadrao := cPadraoAut
EndIf |
User Function AF036CAN()
// Contexto: Valida se os registros atendem aos critérios para cancelamento
If SN3->N3_BAIXA = "2" .And. (! Empty(SN3->N3_DTBAIXA))
// Validação do cliente
EndIf
// Atualiza o campo de status no SN1, caso necessário
If SN1->N1_STATUS = "C" .And. lCancela
SN1->(RecLock())
SN1->N1_STATUS := "A"
SN1->(MsUnlock())
EndIf
Return |
|