CD_IMPCHEQUE - Impressora de Cheque do Usuario
Tela de configuracao: ADM012 - Parametros do Usuario
Localizacao: Aba "Impressoras do Usuario"
Tabela:PARMUSUARIO.CD_IMPCHEQUE
Tipo:INTEGER
Valor padrao:NULL(nenhuma impressora definida)
Chave estrangeira:RPARMUSUARIO_IMPCHEQUE→IMPRESSORA(CD_IMPRESSORA)
O que faz
Armazena o codigo da impressora que sera utilizada para impressao de cheques vinculada ao usuario logado. Quando definido, sistemas de caixa e modulo financeiro utilizam essa impressora como destino padrao para emissao de cheques.
Telas e modulos impactados
- ADM012 — Parametros do Usuario (configuracao)
- ADM013 — Duplicacao de usuario (copia o parametro ao clonar)
- MFC003 — Modulo financeiro (consulta para impressao de cheques)
- MFC013 — Impressao de documentos financeiros
- jCaixa — Tela de caixa / fechamento (consulta impressora de cheque)
- RETORNA_IMPRESSORAUSUARIO — Procedure que retorna todas as impressoras do usuario
Campos envolvidos
| Campo | Tabela | Tipo | FK |
|---|---|---|---|
CD_IMPCHEQUE | PARMUSUARIO | INTEGER | IMPRESSORA(CD_IMPRESSORA) |
DS_IMPRESSORA | IMPRESSORA | (descricao) | — |
Comportamento na tela ADM012
| O que faz | Detalhe |
|---|---|
| Campo de selecao de impressora | Edit no formulario vinculado a dsPARMUSUARIO, campo CD_IMPCHEQUE |
Pesquisa com <F9> | Pressionar F9 sobre o campo abre lista de impressoras cadastradas |
| Validacao | Rejeita codigo inexistente na tabela IMPRESSORA |
| Exibicao da descricao | Campo descricao ao lado (DS_IMPCHEQUE) exibe o nome da impressora via LEFT JOIN |
| Obrigatoriedade | Nao obrigatorio — pode ficar em branco (NULL) |
Simulacao passo a passo
- Acesse a tela ADM012 — Parametros do Usuario.
- Localize a aba "Impressoras do Usuario".
- Posicione o cursor no campo "Impressoras do Usuario" (codigo da impressora de cheque).
- Pressione
<F9>ou digite diretamente o codigo da impressora desejada (ex:3). - Observe que o campo de descricao ao lado e preenchido automaticamente com o nome da impressora (ex:
"EPSON-TM-T20"). - Salve o registro.
Resultado esperado: O usuario passa a ter a impressora de cheque 3 vinculada. Quando qualquer tela do sistema solicitar a impressora de cheque para aquele usuario, o codigo 3 sera retornado.
Excecao / Importante: Se o campo for preenchido com um codigo que nao existe na tabela
IMPRESSORA, o sistema rejeita com a mensagem: "Impressora Informada nao Existe!".
Regra de validacao
O metodo tabPARMUSUARIOCD_IMPCHEQUEValidate executa a seguinte regra:
if (Trim(CD_IMPCHEQUE) <> '') then
begin
if not existe_em_IMPRESSORA(CD_IMPCHEQUE) then
raise 'Impressora Informada nao Existe!';
end;
Ou seja:
- Campo vazio: aceito sem validacao.
- Campo preenchido: obrigatoriamente deve existir um registro correspondente em
IMPRESSORA.
Procedures impactadas
Rotinas Delphi com referencia direta ao campo
| Rotina | Arquivo | Impacto |
|---|---|---|
edtCD_IMPCHEQUEKeyDown | source/ADM012/UADM012.pas | Abre pesquisa de impressora (<F9>) no campo |
tabPARMUSUARIOCD_IMPCHEQUEValidate | source/ADM012/UdmADM012.pas | Valida se o codigo informado existe em IMPRESSORA |
TfrmADM013.btnDuplicaUsuarioClick | source/ADM013/UADM013.pas | Copia CD_IMPCHEQUE ao duplicar parametros de um usuario para outro |
TfrmMFC003.btnSalvarClick | source/MFC003/UMFC003.pas | Consulta CD_IMPCHEQUE para definir impressora na emissao de cheques |
TfrmMFC013.btnImprimirClick | source/MFC013/UMFC013.pas | Consulta CD_IMPCHEQUE para impressao de documentos financeiros |
TfrmCaixa.btnOKClick | source/jCaixa/UCaixa.pas | Consulta CD_IMPCHEQUE ao abrir caixa para definir impressora de cheques |
Scripts SQL com referencia direta ao campo
| Procedure | Arquivo | Impacto |
|---|---|---|
RETORNA_IMPRESSORAUSUARIO | Scripts/RETORNA_IMPRESSORAUSUARIO.sql | Retorna V_CD_IMPCHEQUE e V_NM_IMPCHEQUE para a aplicacao |
Candidatas por uso da tabela PARMUSUARIO
As rotinas abaixo consultam PARMUSUARIO mas nao referenciam CD_IMPCHEQUE literalmente. Podem usar outros campos do parametro. Validar individualmente se necessario.
| Rotina | Arquivo |
|---|---|
CANCELA_NOTAFISCAL | Scripts/CANCELA_NOTAFISCAL.sql |
CONTROLE_CAIXA | Scripts/CONTROLE_CAIXA.sql |
GERA_ETIQUETABALANCA | Scripts/GERA_ETIQUETABALANCA.sql |
PERMISSAO_CAIXA | Scripts/PERMISSAO_CAIXA.sql |
VALIDA_BLOQDESCMAXSUBGRUPO | Scripts/VALIDA_BLOQDESCMAXSUBGRUPO.sql |
VALIDA_CODIGOBARRA | Scripts/VALIDA_CODIGOBARRA.sql |
VALIDA_LIBERACAOUSUARIO | Scripts/VALIDA_LIBERACAOUSUARIO.sql |
VERIFICA_BLOQUEIO | Scripts/VERIFICA_BLOQUEIO.sql |
VIEW_DOCUMENTOSBLOQUEADOS | Scripts/VIEW_DOCUMENTOSBLOQUEADOS.sql |
Parametros relacionados
Os seguintes parametros da mesma aba operam de forma analoga para diferentes tipos de documento:
| Parametro | Documento | Tela |
|---|---|---|
CD_IMPNOTA | Nota Fiscal | ADM012 |
CD_IMPRECIBO | Recibo | ADM012 |
CD_IMPDUPLICATA | Duplicata | ADM012 |
CD_IMPETIQUETA | Etiqueta | ADM012 |
CD_IMPPEDIDO | Pedido | ADM012 |
CD_IMPRECEITA | Receita | ADM012 |
CD_IMPEXTRATO | Extrato | ADM012 |
Todos sao INTEGER com FK para IMPRESSORA(CD_IMPRESSORA) e validacao equivalente.
Tabela comparativa resumida
| Situacao | Comportamento |
|---|---|
CD_IMPCHEQUE = NULL | Nenhuma impressora padrao definida; a aplicacao pode solicitar selecao manual ou usar default do sistema |
CD_IMPCHEQUE = 3 (existente) | Impressora codigo 3 e usada automaticamente para impressao de cheques |
CD_IMPCHEQUE = 999 (inexistente) | Validacao barra o salvamento com mensagem de erro |
| Duplicacao de usuario (ADM013) | CD_IMPCHEQUE do usuario origem e copiado para o destino quando a opcao "Duplicar Parametros" e marcada |