CD_TRANSPORTADOR - Transportador Padrão
Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Aba Operação 2 → seção "Movimentos e Operações Padrão" Tabela:
PARMFATUR.CD_TRANSPORTADOR(DOM_INTEGER) Componente:edtCD_TRANSPORTADOR(TDBEdit, editável) Lookup:<F9>abre consulta à tabela PESSOA
Resumo
Define o transportador padrão da empresa. Quando um novo Pedido ou Nota Fiscal é criado e o endereço da pessoa não possui transportador vinculado, o sistema utiliza este valor como fallback.
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_TRANSPORTADOR | PARMFATUR | INTEGER | Código do transportador padrão (FK → PESSOA.CD_PESSOA) |
NM_PESSOATRANSP | PARMFATUR | — | Nome do transportador (preenchido automaticamente via validação) |
Telas impactadas
| Tela / Rotina | Como usa |
|---|---|
| MNF001 — Nota Fiscal | Fallback: se o endereço da pessoa não tem transportador, usa PARMFATUR.CD_TRANSPORTADOR no embarque |
| MNF002 — Nota Fiscal (variação) | Mesma lógica de fallback para o embarque |
| MNF007 — Nota Fiscal (variação) | Usa COALESCE(ENDRECOCADASTRAIS.CD_TRANSPORTADOR, PARMFATUR.CD_TRANSPORTADOR) |
| MPD001 — Pedido de Venda | Transportador vem do endereço da pessoa (ENDERECOPESSOA.CD_TRANSPORTADOR); indiretamente beneficiado |
| MPD002 — Pedido de Venda (variação) | Transportador vem de ENDERECOPESSOA via query; indiretamente beneficiado |
Comportamento
Preenchimento
| O que faz | Detalhe |
|---|---|
| Campo editável | Sim, permite digitar código ou pressionar <F9> para busca |
| Valor obrigatório | Não, pode ficar vazio |
| Validação ao sair do campo | Verifica se a pessoa existe em PESSOA e está ativa (ST_ATIVA <> 'N') |
| FK | PESSOA.CD_PESSOA |
Simulação passo a passo
- Acesse MFA001 → Parâmetros de Faturamento.
- Selecione a aba Operação 2.
- Posicione o cursor no campo Transportador (ao lado de "Movimentos e Operações Padrão").
- Digite o código da pessoa transportadora ou pressione
<F9>para abrir a lista de pessoas. - Selecione o transportador desejado na lista.
- Salve os parâmetros (
<Ctrl+S>ou botão correspondente).
Resultado esperado: O transportador fica gravado como padrão para a empresa. Ao criar uma nova Nota Fiscal ou Pedido, se o endereço do cliente não tiver transportador próprio, o sistema preenche automaticamente o transportador informado neste parâmetro.
Exceção / Importante:
- Se a pessoa informada estiver inativa (
ST_ATIVA = 'N'), o sistema exibe erro E-0032 e não permite gravar.- Se o código não existir em
PESSOA, o sistema exibe a mensagem "A Pessoa Transportador não está Cadastrado! Verifique [TFA001]".- A prioridade de preenchimento é sempre: ENDERECOPESSOA.CD_TRANSPORTADOR → PARMFATUR.CD_TRANSPORTADOR. Ou seja, se o endereço do cliente já tiver um transportador vinculado (em TFA001 — Cadastro de Pessoas, aba Endereços), este parâmetro é ignorado para aquele cliente.
Relação com outros parâmetros
| Parâmetro | Configurado em | Relação |
|---|---|---|
CD_TRANSPORTADORRECUSADO | MFA001 — mesma aba | Transportador recusado/bloqueado para a empresa |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Contexto |
|---|---|---|
tabPARMFATURCD_TRANSPORTADORValidate | source/MFA001/UdmMFA001.pas | Validação: verifica existência e status ativo em PESSOA |
edtCD_TRANSPORTADORKeyDown | source/MFA001/UMFA001.pas | Lookup <F9> na tabela PESSOA |
tabEMBARQUECD_PESSOAValidate | source/MNF001/UdmMNF001.pas | Fallback para PARMFATUR.CD_TRANSPORTADOR ao selecionar pessoa na NF |
tabEMBARQUECD_PESSOAValidate | source/MNF002/UdmMNF002.pas | Mesma lógica de fallback |
tabNOTACD_ENDERECOValidate | source/MNF007/UdmMNF007.pas | COALESCE entre dados cadastrais e parâmetro |
Referências SQL diretas ao campo em Scripts/
| Procedure/View | Arquivo | Contexto |
|---|---|---|
CALCULA_FRETE | Scripts/CALCULA_FRETE.sql | Filtra PARMPRECOFRETE por transportador |
CALCULA_FRETEGERAL | Scripts/CALCULA_FRETEGERAL.sql | Mesmo filtro de frete |
RETORNA_DADOSCADASTRAIS | Scripts/RETORNA_DADOSCADASTRAIS.sql | Retorna CD_TRANSPORTADOR do cadastro |
Candidatas por uso da tabela PARMFATUR
As procedures abaixo acessam PARMFATUR mas não referenciam diretamente o campo CD_TRANSPORTADOR. Impacto funcional direto não confirmado:
ATUALIZA_PRECOVENDA, BUSCAPRECORECAP, CALCULA_CENTRORESULT, CALCULA_CENTRORESULTITEM, CALCULA_COMISSAO, CALCULA_COMISSAO_V2, CALCULA_JUROVENDA, CANCELA_MESTRA, CANCELA_NOTAFISCAL, CONFIRMA_ORDEMSERVICO, EXPORTACAO_ALLABOR, EXPORTACAO_SOVIS, entre outras.