CD_LAYCAIXA — Layout de Extrato de Caixa
Tela de configuração: FNC001 — Parâmetros Financeiros
Localização:&Layouts/Relatórios
Tabela:PARMFINANC.CD_LAYCAIXA
Tipo:DOM_VARCHAR6(VARCHAR(6), caixa alta automática)
Display Label:Layout de Extrato de Caixa
Valor padrão: Nenhum (campo livre, pode ficar vazio)
Descrição
Define o código do layout FastReport utilizado para impressão do extrato de fechamento de caixa. O valor é lido em tempo de execução pelas telas de movimentação de caixa (MFC001, MFC008, RFC008, RFC012), que consultam PARMFINANC.CD_LAYCAIXA para a empresa da sessão e repassam o código à rotina CarregaLayout.
Se o campo estiver vazio:
- MFC001/MFC008: a impressão do extrato é simplesmente ignorada (a verificação exige
iCdLayCaixa <> ''). - RFC012: gera exceção —
Layout de Extrato de caixa não cadastrado para a empresa X. [FNC001].
Telas impactadas
| Tela | Tipo | Contexto de uso |
|---|---|---|
| FNC001 | CRUD (configuração) | Campo de edição na aba &Layouts/Relatórios |
| MFC001 | Leitura | Abertura/fechamento de caixa; imprime extrato automaticamente via CarregaLayout após fechar caixa (btnSalvarClick → Imprimir_Extrato) |
| MFC008 | Leitura | Fechamento de caixa (módulo separado); lê layout na inicialização (iniciar) e imprime em Imprimir_Extrato |
| RFC008 | Leitura | Reimpressão de extrato/fechamento; lê layout em btnFechamentoClick e chama CarregaLayout |
| RFC012 | Leitura | Reimpressão de extrato de caixa; lê layout em btnImprimirClick e chama Imprimir_Extrato |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_LAYCAIXA | PARMFINANC | VARCHAR(6) | Código do layout de extrato de fechamento de caixa |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Tela | Comportamento |
|---|---|---|---|
TfrmMFC001.btnNovoClick | source/MFC001/UMFC001.pas:315 | MFC001 | Consulta CD_LAYCAIXA para a empresa; armazena em iCdLayCaixa para uso posterior no fechamento |
TfrmMFC001.btnSalvarClick | source/MFC001/UMFC001.pas | MFC001 | Após fechar caixa (FECHA_CAIXA), chama Imprimir_Extrato que repassa iCdLayCaixa ao CarregaLayout |
iniciar | source/MFC008/UMFC008.pas:123 | MFC008 | Consulta CD_LAYCAIXA na inicialização do módulo |
Imprimir_Extrato | source/MFC008/UMFC008.pas:163 | MFC008 | Se iCdLayCaixa <> '', chama CarregaLayout com o layout code |
TfrmRFC008.btnFechamentoClick | source/RFC008/URFC008.pas:470 | RFC008 | Consulta CD_LAYCAIXA e passa a CarregaLayout (parâmetros: layout, empresa, nr_controle, 'V') |
TfrmRFC012.btnImprimirClick | source/RFC012/URFC012.pas:235 | RFC012 | Consulta CD_LAYCAIXA; se vazio, lança exceção indicando a tela FNC001 |
Referências SQL diretas ao campo em Scripts/
Nenhuma referência direta ao campo CD_LAYCAIXA encontrada em scripts SQL do repositório.
Candidatas por uso da tabela PARMFINANC
Estas procedures/views usam a tabela PARMFINANC, mas não citam o campo CD_LAYCAIXA literalmente. Validar antes de afirmar impacto funcional direto:
CALCULA_CAPITAL,CALCULA_JURO,CALCULA_JUROMORA,CALCULA_JUROMORA_RFC019CANCELA_CONTAS,CONTABILIZA_REPARCELAMENTO,CONTROLE_CAIXA,ESTORNA_MOVTOCAIXAEXECUTA_PROCESSO,GERA_DUPLICATAS,GERA_INTEGRACAO,GERA_INTEGRACAOFISCALGERA_MOVTOCONTABIL,GRAVA_CHEQUECARTAO,GRAVA_CONTAS,GRAVA_MOVTOCAIXAGRAVA_MOVTOCAIXAINDIVIDUAL,GRAVA_MOVTOPROCESSO,GRAVA_PROCESSOSMART,PROCESSA_FATURA
Nenhuma delas faz referência direta ao campo CD_LAYCAIXA — o uso de PARMFINANC nessas rotinas é para outros parâmetros (juros, contas contábeis, switches behaviorais, etc.).
Opções disponíveis
O parâmetro aceita qualquer código de layout válido (máximo 6 caracteres, convertido para caixa alta automaticamente pelo componente com CharCase = ecUpperCase). O valor deve corresponder a um layout FastReport configurado no sistema (unidade .pas/.dfm registrada na infraestrutura de layouts).
| O que faz | Detalhe |
|---|---|
| Campo editável na FNC001 | Edit livre na aba &Layouts/Relatórios, vinculado a dmFNC001.dsoPARMFINANC |
| Conversão automática | CharCase = ecUpperCase — valor sempre gravado em maiúsculas |
| Valor vazio permitido | Sim; telas de leitura tratam de forma diferente (MFC001/MFC008 ignoram impressão, RFC012 gera erro) |
| Escopo | Por empresa (CD_EMPRESA) — cada empresa pode ter seu próprio layout |
Layout configurado (ex.: LAY001)
Simulação passo a passo
- Acesse a tela FNC001 — Parâmetros Financeiros.
- Selecione a empresa desejada.
- Navegue até a aba
&Layouts/Relatórios. - Localize o campo
Layout de Extrato de Caixa. - Informe o código do layout desejado (ex.:
LAY001). - Salve o registro.
- Abra a tela MFC001 — Abertura/Fechamento de Caixa para a mesma empresa.
- Preencha os dados de fechamento de caixa e clique em Salvar.
- O sistema executa o fechamento (
FECHA_CAIXA) e, em seguida, exibe/imprime o extrato formatado com o layoutLAY001.
Resultado esperado: O extrato de fechamento de caixa é impresso/visualizado automaticamente após o fechamento, utilizando o layout LAY001 (dados da empresa, número de controle do caixa, valores de abertura, fechamento, movimentação e diferença).
Exceção / Importante: O código informado deve corresponder a um layout registrado no sistema. Se o layout não existir na configuração de layouts do ERP, a rotina
CarregaLayoutpoderá falhar ou gerar um relatório vazio.
Sem layout configurado (campo vazio)
Simulação passo a passo
- Acesse a tela FNC001 — Parâmetros Financeiros.
- Selecione a empresa desejada.
- Navegue até a aba
&Layouts/Relatórios. - Deixe em branco o campo
Layout de Extrato de Caixa. - Salve o registro.
- Abra a tela MFC001 e feche um caixa normalmente.
Resultado esperado: O fechamento do caixa é realizado com sucesso (cálculos de valores, diferença, gravação na tabela CAIXA). O sistema não imprime o extrato automaticamente, pois iCdLayCaixa está vazio — a verificação if (Resultado[0] <> '') impede a chamada a CarregaLayout.
Exceção / Importante: Na tela RFC012 (Reimprimir Extrato), se o campo estiver vazio, o sistema gera a exceção:
Layout de Extrato de caixa não cadastrado para a empresa X. [FNC001]. Nesse caso, é obrigatório configurar o layout na FNC001 antes de usar a reimpressão via RFC012.
Regra de funcionamento
O parâmetro opera da seguinte forma nas telas consumidoras:
CarregaLayout(dmConexao, [
CD_LAYCAIXA, // código do layout (ex.: 'LAY001')
CD_EMPRESA, // empresa do fechamento
NR_CONTROLE, // número do fechamento de caixa
'V' // modo de visualização
]);
O quarto parâmetro 'V' indica modo de visualização (preview). O mecanismo de CarregaLayout é compartilhado com outros layouts do sistema (CD_LAYRECIBO, CD_LAYDUPLICATA, etc.).
Referências cruzadas
| Parâmetro | Relação | Onde configurado |
|---|---|---|
CD_LAYRECIBO | Layout de recibos (outro documento) | FNC001 — aba &Layouts/Relatórios |
CD_LAYDUPLICATA | Layout de duplicatas | FNC001 — aba &Layouts/Relatórios |
CD_LAYTRANSFERENCIA | Layout de transferências | FNC001 — aba &Layouts/Relatórios |
CD_EMPRCAIXA | Conta caixa padrão da empresa | FNC001 |
ST_ABRECAIXA | Permissão de abertura de caixa por usuário | PARMUSUARIO (verificar TFA008/AUTORIZADOR ou ADM012/PARMUSUARIO) |
ST_VISUALIZARECIBO | Exibe recibo após baixa | FNC001 |