procedure TFrmEncerramento.Encerrar;
var
F: TextFile;
FrmRatVda: TFrmRatVda;
sMensagem: String;
nDia_Abertura: Integer;
sDT_Abertura: String;
begin
Btn_Encerrar.Enabled := False;
pbFechAll.Visible := True;
sNumLoj := FmtCamReg(FloatToStr(gLoja), 4, TIPO_NUM);
if not MapaCaxConsulta('', true) then
Exit;
if IniciaTransacao(DM_Principal.SoConn_GER) then
Try
Mapa_Caixa_Rel('');
Mapa_Caixa_Rel('');
RelDesp(DateToStr(gdat));
if ExisteFunRateio then begin
mbRateou := False;
Try
FrmRatVda := TFrmRatVda.Create(Self);
FrmRatVda.ShowModal;
Finally
FreeAndNil(FrmRatVda);
End;
if not mbRateou then begin
Warning('Sr. Operador. Rateio obrigatório.' + #13 + #13 +
'Favor selecionar funcionários da lista.');
BTN_Fechar.Enabled := True;
Btn_Encerrar.Enabled := True;
exit;
end
else
MM_Fechamento.Lines.add('Rateio Atualizado.');
end
else begin
MM_Fechamento.Lines.add('Não existem vendas a serem rateadas.');
AssignFile(F, gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_RAT +
'.SEQ');
if IOResult <> 0 then
begin
sMensagem := gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_RAT + '.SEQ';
raise Exception.Create(sMensagem);
end;
Rewrite(F);
CloseFile(F);
end; CB_Rateio.Checked := True;
AtualizaFunv; MM_Fechamento.Lines.add('Resumo das vendas realizado.');
CB_ResumoVendas.Checked := True;
AtualizaSecv; CB_ResumoPecas.Checked := True;
msMensDif := '';
mnRegLidRes := 0;
mnRegLidChq := 0;
mnRegLidTro := 0;
mnRegLidCli := 0;
mnRegLidDsp := 0;
mnRegLidVen := 0;
mnRegLidFis := 0;
mnRegLidLiv := 0;
mnRegLidLog := 0;
mnRegCntRes := ObtemRegArqRes;
mnRegCntChq := ObtemRegArqChq;
mnRegCntTro := ObtemRegArqTro;
mnRegCntCli := ObtemRegArqCli;
mnRegCntDsp := ObtemRegArqDsp;
mnRegCntVen := ObtemRegArqVen;
mnRegCntFis := ObtemRegArqFis;
mnRegCntLiv := ObtemRegArqLiv;
mnRegCntLog := ObtemRegArqLog;
AssignFile(F, gPATH_ENV +
'FLASH' +
FormatFloat('0000', gLoja) +
'.NET');
if IOResult <> 0 then begin
sMensagem := gPATH_ENV +
'FLASH' +
FormatFloat('0000', gLoja) +
'.NET';
raise Exception.Create(sMensagem);
end;
Rewrite(F);
GeraArqFla(F);
CloseFile(F);
AssignFile(F, gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_RES +
'.SEQ');
if IOResult <> 0 then
begin
sMensagem := gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_RES + '.SEQ';
raise Exception.Create(sMensagem);
end;
Rewrite(F);
GeraArqRes(F);
CloseFile(F);
if CompVal(mnRegCntRes, mnRegLidRes, cmpDiferente) then
msMensDif := msMensDif + #13 + 'RES - CNT: ' + FormatFloat('000000', mnRegCntRes) + ' LID: ' + FormatFloat('000000', mnRegLidRes);
AssignFile(F, gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_CHQ +
'.SEQ');
if IOResult <> 0 then
begin
sMensagem := gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_CHQ + '.SEQ';
raise Exception.Create(sMensagem);
end;
Rewrite(F);
GeraArqChq(F);
CloseFile(F);
if CompVal(mnRegCntChq, mnRegLidChq, cmpDiferente) then
msMensDif := msMensDif + #13 + 'CHQ - CNT: ' + FormatFloat('000000', mnRegCntChq) + ' LID: ' + FormatFloat('000000', mnRegLidChq);
AssignFile(F, gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_TRO +
'.SEQ');
if IOResult <> 0 then
begin
sMensagem := gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_TRO + '.SEQ';
raise Exception.Create(sMensagem);
end;
Rewrite(F);
GeraArqTro(F);
CloseFile(F);
if CompVal(mnRegCntTro, mnRegLidTro, cmpDiferente) then
msMensDif := msMensDif + #13 + 'TRO - CNT: ' + FormatFloat('000000', mnRegCntTro) + ' LID: ' + FormatFloat('000000', mnRegLidTro);
AssignFile(F, gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_CLI +
'.SEQ');
if IOResult <> 0 then
begin
sMensagem := gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_CLI + '.SEQ';
raise Exception.Create(sMensagem);
end;
Rewrite(F);
GeraArqCli(F);
CloseFile(F);
if CompVal(mnRegCntCli, mnRegLidCli, cmpDiferente) then
msMensDif := msMensDif + #13 + 'CLI - CNT: ' + FormatFloat('000000', mnRegCntCli) + ' LID: ' + FormatFloat('000000', mnRegLidCli);
AssignFile(F, gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_DSP +
'.SEQ');
if IOResult <> 0 then
begin
sMensagem := gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_DSP + '.SEQ';
raise Exception.Create(sMensagem);
end;
Rewrite(F);
GeraArqDsp(F);
CloseFile(F);
if CompVal(mnRegCntDsp, mnRegLidDsp, cmpDiferente) then
msMensDif := msMensDif + #13 + 'DSP - CNT: ' + FormatFloat('000000', mnRegCntDsp) + ' LID: ' + FormatFloat('000000', mnRegLidDsp);
AssignFile(F, gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_VEN +
'.SEQ');
if IOResult <> 0 then
begin
sMensagem := gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_VEN + '.SEQ';
raise Exception.Create(sMensagem);
end;
Rewrite(F);
GeraArqVenCapea(F);
CloseFile(F);
if CompVal(mnRegCntVen, mnRegLidVen, cmpDiferente) then
msMensDif := msMensDif + #13 + 'VEN - CNT: ' + FormatFloat('000000', mnRegCntVen) + ' LID: ' + FormatFloat('000000', mnRegLidVen);
AssignFile(F, gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_FIS +
'.SEQ');
if IOResult <> 0 then
begin
sMensagem := gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_FIS + '.SEQ';
raise Exception.Create(sMensagem);
end;
Rewrite(F);
GeraArqFisCapea(F);
CloseFile(F);
if CompVal(mnRegCntFis, mnRegLidFis, cmpDiferente) then
msMensDif := msMensDif + #13 + 'FIS - CNT: ' + FormatFloat('000000', mnRegCntFis) + ' LID: ' + FormatFloat('000000', mnRegLidFis);
AssignFile(F, gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_LIV +
'.SEQ');
if IOResult <> 0 then
begin
sMensagem := gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_LIV + '.SEQ';
raise Exception.Create(sMensagem);
end;
Rewrite(F);
GeraArqLivCapea(F);
CloseFile(F);
if CompVal(mnRegCntLiv, mnRegLidLiv, cmpDiferente) then
msMensDif := msMensDif + #13 + 'LIV - CNT: ' + FormatFloat('000000', mnRegCntLiv) + ' LID: ' + FormatFloat('000000', mnRegLidLiv);
AssignFile(F, gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_LOG +
'.SEQ');
if IOResult <> 0 then
begin
sMensagem := gPATH_ENV +
FormatDateTime('YYYYMMDD', mDt_Abertura) +
FormatFloat('000', gLoja) +
FormatFloat('00', gcd_caixa) +
FILE_LOG + '.SEQ';
raise Exception.Create(sMensagem);
end;
Rewrite(F);
GeraArqLog(F);
CloseFile(F);
if CompVal(mnRegCntLog, mnRegLidLog, cmpDiferente) then
msMensDif := msMensDif + #13 + 'LOG - CNT: ' + FormatFloat('000000', mnRegCntLog) + ' LID: ' + FormatFloat('000000', mnRegLidLog);
CB_Geracao.Checked := True;
Dm_Principal.SacParametro;
CopyFile(pChar(gPATH_BANCO + 'SAC_DB.FDB'),pChar(gPATH_BACKUP+ 'SAC_DB.FDB'), False);
InicializaTabelas;
CB_Inicializacao.Checked := True;
CDSINS.Close;
CDSINS.CommandText := ' UPDATE TB_SAC_PARAM_CAIXA SET' +
' FL_CX_ABERTO = ' + QuotedStr('N') +
' ,DT_ENCERRAMENTO = ' + QuotedStr(FormatDateTime('dd-mmm-yyyy', gDat)) +
' ,HR_ENCERRAMENTO = ' + QuotedStr(FormatDateTime('HH:NN:SS',Time));
CDSINS.Execute; CDSINS.Close;
gsDT_Encerramento := FormatDateTime('dd/mm/yyyy', gDat);
if Trim(msMensDif) <> '' then
Warning('- Sr.Operador, favor anotar a mensagem abaixo e avisar o CPD. Obrigado' + #13 + #13 +
' _ Módulo: Sac_Gerencial' + #13 +
' _ Programa: Encerramento [Verificação de Contadores com diferença]' + #13 +
' _ MENSAGEM:' + #13 + #13 + msMensDif);
Warning('Fechamento ConcluÍdo.');
MM_Fechamento.Lines.add('Fechamento concluido.');
BTN_Fechar.Enabled := True;
BTN_Fechar.SetFocus;
CommitTransacao(DM_Principal.SoConn_GER);
Except
on E: Exception do
begin
RollbackTransacao(DM_Principal.SoConn_GER);
Warning('.:: ERRO ::. Senhor Operador, por favor, comunique o erro ao CPD.' + #13 + #13 +
' _ Módulo: Sac_Gerencial' + #13 +
' _ Programa: Encerramento [Geração de Arquivos]' + #13 + #13 +
' .:: MENSAGEM ::.' + #13 + E.Message);
end;
End;
end;