Pular para o conteúdo principal

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​

TelaTipoContexto de uso
FNC001CRUD (configuração)Campo de edição na aba &Layouts/Relatórios
MFC001LeituraAbertura/fechamento de caixa; imprime extrato automaticamente via CarregaLayout após fechar caixa (btnSalvarClick → Imprimir_Extrato)
MFC008LeituraFechamento de caixa (módulo separado); lê layout na inicialização (iniciar) e imprime em Imprimir_Extrato
RFC008LeituraReimpressão de extrato/fechamento; lê layout em btnFechamentoClick e chama CarregaLayout
RFC012LeituraReimpressão de extrato de caixa; lê layout em btnImprimirClick e chama Imprimir_Extrato

Campos envolvidos​

CampoTabelaTipoDescrição
CD_LAYCAIXAPARMFINANCVARCHAR(6)Código do layout de extrato de fechamento de caixa

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoTelaComportamento
TfrmMFC001.btnNovoClicksource/MFC001/UMFC001.pas:315MFC001Consulta CD_LAYCAIXA para a empresa; armazena em iCdLayCaixa para uso posterior no fechamento
TfrmMFC001.btnSalvarClicksource/MFC001/UMFC001.pasMFC001Após fechar caixa (FECHA_CAIXA), chama Imprimir_Extrato que repassa iCdLayCaixa ao CarregaLayout
iniciarsource/MFC008/UMFC008.pas:123MFC008Consulta CD_LAYCAIXA na inicialização do módulo
Imprimir_Extratosource/MFC008/UMFC008.pas:163MFC008Se iCdLayCaixa <> '', chama CarregaLayout com o layout code
TfrmRFC008.btnFechamentoClicksource/RFC008/URFC008.pas:470RFC008Consulta CD_LAYCAIXA e passa a CarregaLayout (parâmetros: layout, empresa, nr_controle, 'V')
TfrmRFC012.btnImprimirClicksource/RFC012/URFC012.pas:235RFC012Consulta 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_RFC019
  • CANCELA_CONTAS, CONTABILIZA_REPARCELAMENTO, CONTROLE_CAIXA, ESTORNA_MOVTOCAIXA
  • EXECUTA_PROCESSO, GERA_DUPLICATAS, GERA_INTEGRACAO, GERA_INTEGRACAOFISCAL
  • GERA_MOVTOCONTABIL, GRAVA_CHEQUECARTAO, GRAVA_CONTAS, GRAVA_MOVTOCAIXA
  • GRAVA_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 fazDetalhe
Campo editável na FNC001Edit livre na aba &Layouts/Relatórios, vinculado a dmFNC001.dsoPARMFINANC
Conversão automáticaCharCase = ecUpperCase — valor sempre gravado em maiúsculas
Valor vazio permitidoSim; telas de leitura tratam de forma diferente (MFC001/MFC008 ignoram impressão, RFC012 gera erro)
EscopoPor empresa (CD_EMPRESA) — cada empresa pode ter seu próprio layout

Layout configurado (ex.: LAY001)​

Simulação passo a passo​

  1. Acesse a tela FNC001 — Parâmetros Financeiros.
  2. Selecione a empresa desejada.
  3. Navegue até a aba &Layouts/Relatórios.
  4. Localize o campo Layout de Extrato de Caixa.
  5. Informe o código do layout desejado (ex.: LAY001).
  6. Salve o registro.
  7. Abra a tela MFC001 — Abertura/Fechamento de Caixa para a mesma empresa.
  8. Preencha os dados de fechamento de caixa e clique em Salvar.
  9. O sistema executa o fechamento (FECHA_CAIXA) e, em seguida, exibe/imprime o extrato formatado com o layout LAY001.

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 CarregaLayout poderá falhar ou gerar um relatório vazio.

Sem layout configurado (campo vazio)​

Simulação passo a passo​

  1. Acesse a tela FNC001 — Parâmetros Financeiros.
  2. Selecione a empresa desejada.
  3. Navegue até a aba &Layouts/Relatórios.
  4. Deixe em branco o campo Layout de Extrato de Caixa.
  5. Salve o registro.
  6. 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âmetroRelaçãoOnde configurado
CD_LAYRECIBOLayout de recibos (outro documento)FNC001 — aba &Layouts/Relatórios
CD_LAYDUPLICATALayout de duplicatasFNC001 — aba &Layouts/Relatórios
CD_LAYTRANSFERENCIALayout de transferênciasFNC001 — aba &Layouts/Relatórios
CD_EMPRCAIXAConta caixa padrão da empresaFNC001
ST_ABRECAIXAPermissão de abertura de caixa por usuárioPARMUSUARIO (verificar TFA008/AUTORIZADOR ou ADM012/PARMUSUARIO)
ST_VISUALIZARECIBOExibe recibo após baixaFNC001