Fechar caixa com dav sem concluir

Weverton Johnnys

Autor Weverton Johnnys
Data de criação Aug 24, 2021
Última edição Modificado há 3 anos

Recebi um chamado para avaliar a situação de uma das lojas do cliente, pois em uma estava aceitando fechar o caixa sem concluir o dav e nas demais não estavam.

A primeira coisa que chequei foi a configuração de “Forçar Conclusão no fechamento de Caixa” e olhei pelo log de usuário se essa opção foi marcada após o dav ter sido feito.

Analisei também se a opção “salvar pedido com caixa fechado“ estava marcada, e analisei se o dav feito foi após a hora de fechamento do caixa.

nesse caso nenhuma das duas situações acima acusaram anormalidade. por tanto foi necessário uma apuração maior, conectei nos dois computares para observar alguma diferença, no que funcionava e no que não bloqueava e observei que a configuração local estava diferente, sendo um utilizando configuração local, e outra configuração do modelo a configuração em si se trata desta: Fechamento de caixa local com configuração padrão em Funcionalidades Hermes | Atlanta Sistemas (pulpo.run)

neste caso foi necessário checar a consulta realizada para bloquear os davs sem conclusão, pois isso irei coloca-la aqui para caso seja necessário conferir.

Esta era a consulta feita antes até a versão 1.90.15, neste caso se trouxer algum registro significa que tem dav para concluir, essa consulta é feita quando a configuração está para identificar a conta na conclusão, sendo assim ele compara a loja configurada como padrão, para obter os davs apenas do modelo onde contem essa loja , porém ai está o erro, pois neste cliente a loja configurado no modelo é a fiscal para importar na nfc-e e no fechamento está a loja gerencial onde realmente entra o dinheiro, observe o comando e as imagens

comando antes da 1.90.15

SELECT
	dav.codigo,
	dav.codigomodelodav,
	dav.DATA 
FROM
	dav
	INNER JOIN modelodav ON modelodav.codigo = dav.codigomodelodav 
WHERE
	(
		dav.concluido = 'Não' 
		AND modelodav.forcarconclusaocaixa = 'Sim' 
		AND dav.cancelado = 'Não' 
		AND modelodav.codigoloja = " & Val(CodigoLoja) & " 
	AND ( modelodav.gerarfinanceiro = 'Sim' OR modelodav.ConcluirDavSemGerarFaturamento > 0 ) 
	AND dav.DATA <= CURRENT_DATE 

comando a partir da 1.90.15

SELECT
	dav.codigo,
	dav.codigomodelodav,
	dav.DATA 
FROM
	dav
	INNER JOIN modelodav ON modelodav.codigo = dav.codigomodelodav 
WHERE
	(
		dav.concluido = 'Não' 
		AND modelodav.forcarconclusaocaixa = 'Sim' 
		AND dav.cancelado = 'Não' 
		AND modelodav.CodigoLojaPadraoDAV = " & Val(CodigoLoja) & " 
	AND ( modelodav.gerarfinanceiro = 'Sim' OR modelodav.ConcluirDavSemGerarFaturamento > 0 ) 
	AND dav.DATA <= CURRENT_DATE 

como as duas lojas acima são diferentes não trás resultado no comando, porém isso foi resolvido agora na versão 1.90.15 onde ele passa a checar a “Loja Padrão DAV”, destacada em amarelo que é a que faz sentido por ser a gerencial,

Neste caso ficar atento caso ocorra novamente, para checar essa situação se o cliente estiver antes da 1.90.15 e caso ocorra algum dúvida para os que forem atualizar caso ocorra algum impacto devido trocar a loja que está sendo checado, pode ocorrer por exemplo do cliente não precisar concluir o dav para fechar, ai quando atualizar passar a obrigar pois a configuração estará fazendo o correto, o que deve-se fazer neste caso é marcar a opção de forçar conclusão de dav.

Uma observação importante para este processo, é o seguinte, caso mesmo tudo configurado certo, ainda esteja conseguindo fechar o caixa sem concluir os davs, observe se existem outros caixas abertos para essa mesma loja, pois via de regra, apenas quando o ultimo caixa da loja for fechado que ele vai checar os davs não concluídos, ou seja:

possuo:
caixa 01

caixa 02

sendo que os dois são para a mesma loja.

se eu fechar o caixa 01 e existir davs pendente para concluir ele vai aceitar, porém se eu fechar o caixa 02 ele irá bloquear pois foi o ultimo caixa que restou para aquela loja.