Pular para o conteúdo principal

CD_TROCASAI - Movimentação de Troca (Saída/Venda)

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Ambos → Operação 1 Tabela: PARMFATUR.CD_TROCASAI Tipo: INTEGER — chave estrangeira para MOVIMENTACAO (CD_MOVIMENTACAO) Valor padrão: não definido (campo livre)

Resumo​

Define a movimentação padrão de saída (venda) utilizada em operações de troca. Quando o usuário realiza uma troca, os itens de saída (que o cliente leva) são registrados com esta movimentação. O campo aceita somente movimentações cuja operação seja de saída (TP_OPERACAO = 'S') e que estejam ativas (ST_ATIVO = 'S').

Campos envolvidos​

CampoTabelaDescrição
CD_TROCASAIPARMFATURCódigo da movimentação de troca de saída (venda)
DS_TROCASAIConsulta calculadaDescrição da movimentação (exibida ao lado do campo)
CD_TROCAENTPARMFATURCódigo da movimentação de troca de entrada (devolução) — campo complementar
CD_TROCASAILOCPARMFATURMesma movimentação replicada para o grupo Locações

Telas impactadas​

TelaEfeito
MNF009 - TrocasUsa CD_TROCASAI como iCD_MOVSAIDA para os itens de saída da troca. Se CD_TROCAENT não estiver cadastrado, o formulário bloqueia Novo/Salvar/Excluir.
MPD043 - Locações (confirmação de troca)Lê CD_TROCASAI para obter a movimentação de saída na troca de locação. Se vazio, exibe erro "Movimentação de Troca de Venda não Cadastrada. Verifique [MFA001]!".
MPD029 - Montagem de RotaLê CD_TROCASAI da tabela PARMFATUR. Se vazio, bloqueia a operação com "A Movimentação de Troca Não Esta Cadastrada. Verifique! [MFA001]".
LDP018 - Layout de DuplicataConsulta CD_TROCASAI para identificação do tipo de movimentação na geração de duplicatas de troca.
CPD008 - Contas a Pagar/ReceberUtiliza CD_TROCASAI na consulta para determinar o histórico com base na movimentação.
MFA001 - Parâmetros de FaturamentoTela onde o campo é configurado.

Opções disponíveis​

O que fazDetalhe
Define a movimentação de saída de trocaCampo editável, preenchido via pesquisa <F9> na tabela MOVIMENTACAO. Exige TP_OPERACAO = 'S' (saída) e ST_ATIVO = 'S'.

O campo não possui opções fixas (como S/N). Aceita qualquer código de movimentação ativa do tipo saída. Abaixo está o comportamento em cada cenário:

Campo preenchido com movimentação válida​

Simulação passo a passo​

  1. Acesse MFA001 → Parâmetros de Faturamento → Operação 1.
  2. Posicione o cursor no campo Movim. Troca Venda.
  3. Pressione <F9> para abrir a janela de pesquisa "Selecione a Movimentação de Troca (Venda)".
  4. Selecione uma movimentação ativa com tipo de operação Saída (ex.: código 5 — "Venda de Troca").
  5. Confira se a descrição aparece ao lado do campo.
  6. Salve os parâmetros.

Resultado esperado: Em telas de troca (MNF009, MPD043, MPD029), os itens de saída da troca utilizarão automaticamente esta movimentação para gerar movimentações de estoque e financeiras.

Exceção / Importante: Ao selecionar, o mesmo valor é replicado para edtCD_TROCASAILOC (grupo Locações), sincronizando ambos os campos.

Campo vazio (não preenchido)​

Simulação passo a passo​

  1. Deixe o campo Movim. Troca Venda em branco.
  2. Salve os parâmetros.
  3. Tente realizar uma operação de troca no MPD043 ou confirmar um fechamento de rota no MPD029.

Resultado esperado: A operação é bloqueada com mensagem de erro: "Movimentação de Troca de Venda não Cadastrada. Verifique [MFA001]!" ou "A Movimentação de Troca Não Esta Cadastrada. Verifique! [MFA001]".

Exceção / Importante: No MNF009, a validação de bloqueio recai sobre CD_TROCAENT (entrada). Se apenas CD_TROCASAI estiver vazio, a tela pode abrir, mas a movimentação de saída dos itens ficará sem código, causando inconsistência.

Validações​

ValidaçãoCondiçãoMensagem
Operação não pode ser de entradaTP_OPERACAO = 'E'"A Operação da Movimentação não pode ser de Entrada!"
Movimentação deve estar ativaST_ATIVO = 'N'"A Movimentação não está Ativa!"
Movimentação deve existircódigo não encontrado"A Movimentação não está Cadastrada [TCB001]!"

Regra de preenchimento (F9)​

A pesquisa (<F9>) lista movimentações da tabela MOVIMENTACAO filtrando:

  • ST_ATIVO = 'S' — somente ativas
  • TP_OPERACAO = 'S' — somente saída

O valor selecionado é gravado tanto em CD_TROCASAI (grupo Operação) quanto em CD_TROCASAILOC (grupo Locações).

Relacionamentos​

  • FK RPARMFATUR_TROCASAI: PARMFATUR.CD_TROCASAI → MOVIMENTACAO (CD_MOVIMENTACAO)
  • Campo complementar: CD_TROCAENT (configurado em MFA001 — Parâmetros de Faturamento, mesma aba Operação 1) — define a movimentação de entrada (devolução) na troca.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
edtCD_TROCASAIKeyDownsource/MFA001/UMFA001.pasAbre pesquisa de movimentação ao pressionar <F9>
tabPARMFATURCD_TROCASAIValidatesource/MFA001/UdmMFA001.pasValida que a movimentação é de saída e está ativa
Busca_Parametrossource/MNF009/UdmMNF009.pasCarrega CD_TROCASAI como iCD_MOVSAIDA para trocas
Busca_Parametrossource/MNF026/UdmMNF026.pasLê parâmetros de faturamento incluindo CD_TROCASAI
TfrmMPD029.btnOKClicksource/MPD029/UMPD029.pasConsulta CD_TROCASAI para roteirização de trocas
TfrmMPD029.btnConfirmarClicksource/MPD029/UMPD029.pasValida existência de CD_TROCASAI; bloqueia se vazio
TfrmMPD043.btnConfirmaTrocaClicksource/MPD043/UMPD043.pasLê CD_TROCASAI para troca de locação
ExecLayoutsource/LDP018/ULDP018.pasConsulta CD_TROCASAI para layout de duplicata

Scripts SQL com referência direta ao campo​

Procedure/ViewArquivoDescrição
RECALCULA_COMISSAOScripts/RECALCULA_COMISSAO.sqlLê CD_TROCASAI para cálculo de comissão sobre trocas
RECALCULA_COMISSAOV2Scripts/RECALCULA_COMISSAOV2.sqlVersão V2 do recálculo de comissão — mesma lógica
RETORNA_BASENOTACOMISSAOScripts/RETORNA_BASENOTACOMISSAO.sqlRetorna base de nota para comissão usando CD_TROCASAI