Pular para o conteúdo principal

CD_IMPDUPLICATA - Parâmetro de Impressora de Duplicata

Tela de configuração: ADM012 — Parâmetros do Usuário
Localização: Aba "Impressoras do Usuário"
Tabela: PARMUSUARIO.CD_IMPDUPLICATA
Valor padrão: NULL (não definido)
Tipo: INTEGER — FK para IMPRESSORA(CD_IMPRESSORA)

Telas impactadas​

TelaNomeImpacto
ADM012PARMUSUARIOConfiguração direta do campo
ADM013CADUSUARIODuplicação de parâmetros entre usuários (copia CD_IMPDUPLICATA)

Campos envolvidos​

CampoTabelaTipoDescrição
CD_IMPDUPLICATAPARMUSUARIOINTEGERCódigo da impressora de duplicata
DS_IMPDUPLICATAPARMUSUARIO (campo descrição via join)VARCHARNome da impressora (display)
CD_IMPRESSORAIMPRESSORAINTEGERPK referenciada (FK: RPARMUSUSARIO_IMPDUPLICATA)

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
edtCD_IMPDUPLICATAKeyDownsource/ADM012/UADM012.pas:687Atalho F9: abre pesquisa na tabela IMPRESSORA para selecionar a impressora de duplicata
tabPARMUSUARIOCD_IMPDUPLICATAValidatesource/ADM012/UdmADM012.pas:398Valida se o código informado existe em IMPRESSORA. Exibe mensagem "A Impressora não está Cadastrada [ADM008]!" se inválido
TfrmADM013.btnDuplicaUsuarioClicksource/ADM013/UADM013.pas:471Duplica parâmetros (inclui CD_IMPDUPLICATA) de um usuário para outro

Referências SQL diretas ao campo​

Procedure/ScriptArquivoUso
RETORNA_IMPRESSORAUSUARIOScripts/RETORNA_IMPRESSORAUSUARIO.sql:45LEFT JOIN IMPRESSORA D ON (D.CD_IMPRESSORA = CD_IMPDUPLICATA) — retorna a impressora de duplicata quando I_TP_IMPRESSORA = 'P'

Candidatas por uso da tabela PARMUSUARIO​

Não foi encontrada referência direta ao campo CD_IMPDUPLICATA nestas rotinas. Impacto indireto possível (leem a tabela PARMUSUARIO para outros campos):

CANCELA_NOTAFISCAL, CONTROLE_CAIXA, GERA_ETIQUETABALANCA, PERMISSAO_CAIXA, TRGPARMFATUR_BU, VALIDA_BLOQDESCMAXSUBGRUPO, VALIDA_CODIGOBARRA, VALIDA_LIBERACAOUSUARIO, VALIDA_MODELOBLOQUEIODIASATRASO, VALIDA_MODELOBLOQUEIOPCDESCMAX, VALIDA_MODELOBLOQUEIOVLLIMITE, VERIFICA_BLOQUEIO, VIEW_DOCUMENTOSBLOQUEADOS.


Comportamento do parâmetro​

O que fazDetalhe
EditávelCampo de texto livre (TDBEdit), editável pelo usuário
LookupPressione F9 para pesquisar impressoras cadastradas (ADM008)
ValidaçãoO código informado deve existir na tabela IMPRESSORA, senão bloqueia o salvamento
Uso principalDefine qual impressora será usada quando o sistema solicitação por I_TP_IMPRESSORA = 'P'
OpcionalPode ficar em branco (NULL) — sem impressora de duplicata configurada

Simulação passo a passo​

  1. Abra ADM012 — Parâmetros do Usuário.
  2. Acesse a aba "Impressoras do Usuário".
  3. No campo "Cod Imp Duplicata" (CD_IMPDUPLICATA), digite um código de impressora (ex: 3) ou pressione F9 para abrir a pesquisa.
  4. Na pesquisa, selecione uma impressora (ex: HP Laserjet - Duplicatas).
  5. O campo de descrição (DS_IMPDUPLICATA) é preenchido automaticamente com o nome da impressora.
  6. Clique em Salvar.

Resultado esperado: O usuário passa a ter uma impressora padrão para impressão de duplicatas. Quando o sistema chamar RETORNA_IMPRESSORAUSUARIO com I_TP_IMPRESSORA = 'P', retornará a impressora code e nome configurado (ex: CD_IMPRESSORA = 3, DS_IMPRESSORA = 'HP Laserjet - Duplicatas').

Excecao / Importante: Se o código digitado não existir na tabela IMPRESSORA, o sistema bloqueia e exibe a mensagem: A Impressora não está Cadastrada [ADM008]!. É necessário cadastrar a impressora primeiro em ADM008.


Uso pela procedure RETORNA_IMPRESSORAUSUARIO​

A procedure RETORNA_IMPRESSORAUSUARIO é o principal consumidor deste parâmetro. Ela recebe I_TP_IMPRESSORA e retorna impressora e nome correspondente:

I_TP_IMPRESSORAImpressora retornadaCampo PARMUSUARIO
'N'Nota FiscalCD_IMPNOTA
'H'ChequeCD_IMPCHEQUE
'R'ReciboCD_IMPRECIBO
'P'DuplicataCD_IMPDUPLICATA
'E'EtiquetaCD_IMPETIQUETA
'D'PedidoCD_IMPPEDIDO
'A'ReceitaCD_IMPRECEITA

Simulação passo a passo (fluxo interno — sem ação do usuário final)​

Quando o sistema precisa imprimir uma duplicata:

  1. O módulo financeiro chama RETORNA_IMPRESSORAUSUARIO(CD_EMPRESA, CD_USUARIO, 'P', ...) passando o usuário logado.
  2. A procedure consulta PARMUSUARIO e faz LEFT JOIN com IMPRESSORA na coluna CD_IMPDUPLICATA.
  3. Retorna O_CD_IMPRESSORA e O_DS_IMPRESSORA com os dados da impressora configurada.
  4. O sistema usa a impressora retornada para enviar o documento de duplicata.

Resultado esperado: Se CD_IMPDUPLICATA estiver configurado, a impressão será direcionada à impressora definida. Se estiver NULL, a procedure retorna NULL — o sistema deve tratar (geralmente usa impressora padrão do Windows ou não imprime).


Duplicação de parâmetros (ADM013)​

O parâmetro CD_IMPDUPLICATA é copiado quando se utiliza a funcionalidade de duplicar parâmetros de usuário na tela ADM013.

Simulação passo a passo​

  1. Abra ADM013 — Cadastro de Usuários.
  2. Selecione um usuário origem que possui CD_IMPDUPLICATA configurado (ex: US001 → Impressora 3).
  3. Clique em "Duplica Configurações de Impressão/Parâmetros" (ação disponível na tela).
  4. Informe o usuário destino (ex: US002).
  5. Confirme a operação.

Resultado esperado: O usuário US002 terá o mesmo CD_IMPDUPLICATA (3) copiado de US001.


Tabela Comparativa Resumida​

AspectoValor
Tela de configuraçãoADM012 — Parâmetros do Usuário
AbaImpressoras do Usuário
CampoCD_IMPDUPLICATA
TabelaPARMUSUARIO
FKIMPRESSORA(CD_IMPRESSORA) via RPARMUSUSARIO_IMPDUPLICATA
TipoINTEGER
ObrigatórioNão (NULL permitido)
ValidaçãoDeve existir em IMPRESSORA (mensagem: "A Impressora não está Cadastrada [ADM008]!")
Atalho de pesquisaF9 na tela ADM012
Principal consumerProcedure RETORNA_IMPRESSORAUSUARIO (I_TP_IMPRESSORA = 'P')
Outros campos relacionadosCD_IMPNOTA, CD_IMPCHEQUE, CD_IMPRECIBO, CD_IMPETIQUETA, CD_IMPPEDIDO, CD_IMPRECEITA (todos configurados em ADM012)