CNF001.R001 — Bloqueio de alteração por período contábil não é efetivado (falta Raise)
Módulo: CNF001 · Menu: Faturamento > Consultas > Notas Fiscais > Consulta de Notas Fiscais Classificação: bug_conhecido · Relevância: alta
Regra
Quando PARMCONTABIL.ST_BLOQALTFATDOCNAOCONTAB='S' e a Data de Emissão da nota é <= PARMCONTABIL.DT_BLOQCONTABIL, o código monta a exceção de bloqueio mas não a lança (falta o comando 'Raise'), então a confirmação da alteração prossegue normalmente.
Quando dispara
Ao clicar 'Confirma Alteração' com o período contábil da empresa bloqueado para a data de emissão da nota.
Mensagem exibida
A Alteração da nota não pode ser concluida! Alterações de Notas bloqueadas até %s
Como o usuário resolve
Reportar ao time de desenvolvimento para avaliar se deve-se adicionar o 'Raise' faltante; até lá, o bloqueio de período não impede efetivamente a alteração pela CNF001.
Evidência
| Arquivo | Linhas | Rotina | O que o trecho faz |
|---|---|---|---|
source/CNF001/UCNF001.pas | 3599-3612 | TfrmCNF001.btnConfirmaClick | JException.Create é instanciado sem o comando Raise antes dele |
source/CNF001/UCNF001.pas:3599
Consulta :=
'SELECT PC.ST_BLOQALTFATDOCNAOCONTAB, PC.DT_BLOQCONTABIL, CURRENT_DATE DT_HOJE '+#10+
'FROM PARMCONTABIL PC '+#10+
'WHERE PC.CD_EMPRESA = '+IntToStr(sessao.empresa.cd_Empresa);
Resultado := ExecutaConsulta(dmCNF001.transactionNota,Consulta);
IF (Resultado[0] = 'S') THEN
BEGIN
IF (StrToDate(dmCNF001.tabNOTADT_EMISSAO.AsString) <= StrToDate(Resultado[1])) THEN
BEGIN
JException.Create('W-0000', ['A Alteração da nota não pode ser concluida!'+#10+
'Alterações de Notas bloqueadas até '+Resultado[1]]);