Pular para o conteúdo principal

CD_MOVTRANSFSAI - Movimentação Padrão de Transferência (Saída)

Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Aba Operação 1 → seção "Movimentos e Operações Padrão" Tabela: PARMFATUR.CD_MOVTRANSFSAI (INTEGER) Valor padrão: nenhum (campo vazio)

Telas impactadas​

TelaRotinaUso
MFA001Parâmetros de FaturamentoConfiguração do campo
MNF002Nota Fiscal de SaídaDetermina a movimentação de itens de transferência
MNF008Nota Fiscal de ServiçoDetermina a movimentação de itens de transferência
MNF036Transferência entre EmpresasFallback quando RETORNA_MOVIMENTACAO não encontra movimentação
MCO006Contas a Receber (Baixa)Leitura dos parâmetros de faturamento
MFC002Financeiro (Contas)Leitura dos parâmetros de faturamento
MRC020Nota Fiscal OrdemLeitura dos parâmetros de faturamento
MRC039Rotina específicaLeitura dos parâmetros de faturamento

Campos envolvidos​

CampoTabelaDescrição
CD_MOVTRANSFSAIPARMFATURCódigo da movimentação de saída para transferência
CD_MOVTRANSFENTPARMFATURCódigo da movimentação de entrada para transferência (par complementar)
ST_TRANSFERENCIAPARMFATURHabilita controle de transferência (S/N) — configurado em MFA001 — Parâmetros de Faturamento
CD_MOVIMENTACAOMOVIMENTACAOTabela de movimentações cadastradas (TCB001)
CD_MOVSAIDAPARMFATURMovimentação padrão de saída — configurado em MFA001 — Parâmetros de Faturamento

Opções disponíveis​

O campo aceita o código de uma movimentação cadastrada em MOVIMENTACAO (tela TCB001) com as seguintes restrições:

O que fazDetalhe
Armazena o código de uma movimentaçãoSomente movimentações com TP_OPERACAO = Saída e ST_ATIVO = S
Validação ao digitarRejeita movimentações de entrada ou inativas
Preenchimento via buscaPressione <F9> para abrir a pesquisa de movimentações

Campo preenchido — Movimentação de transferência de saída​

Simulação passo a passo​

  1. Acesse MFA001 — Parâmetros de Faturamento.
  2. Posicione na aba Operação 1.
  3. No campo ao lado do label "Transferência Saída", digite o código da movimentação desejada (ex.: 5) ou pressione <F9> para abrir a tela de pesquisa.
  4. Na tela de pesquisa, selecione uma movimentação ativa com tipo de operação Saída.
  5. O sistema preenche o código e exibe a descrição ao lado.
  6. Salve os parâmetros.

Resultado esperado: Itens de transferência em notas fiscais de saída utilizarão esta movimentação em vez da movimentação padrão de saída (CD_MOVSAIDA).

Exceção / Importante:

  • A movimentação informada não pode ser de entrada (TP_OPERACAO = E). O sistema exibe a mensagem "A Operação da Movimentação não pode ser de Entrada!".
  • A movimentação deve estar ativa (ST_ATIVO = S). Caso contrário, o sistema exibe "A Movimentação não está Ativa!".
  • Se o código não existir em MOVIMENTACAO, o sistema exibe "A Movimentação não está Cadastrada [TCB001]!".
  • O parâmetro só é efetivo quando ST_TRANSFERENCIA (configurado em MFA001 — Parâmetros de Faturamento) estiver com valor S.

Campo vazio — Sem movimentação de transferência específica​

Simulação passo a passo​

  1. Acesse MFA001 — Parâmetros de Faturamento.
  2. Na aba Operação 1, deixe o campo de transferência saída vazio.
  3. Salve os parâmetros.

Resultado esperado: Itens de transferência utilizarão a movimentação padrão de saída (CD_MOVSAIDA) ou de serviço (CD_MOVSERVICO), conforme o tipo do item, sem distinção para transferência.

Regra de uso nas notas fiscais​

Quando o sistema determina a movimentação de um item em notas fiscais (MNF002/MNF008), a lógica segue esta ordem:

  1. Busca a movimentação específica via RETORNA_MOVIMENTACAO (considerando grupo, item, condição fiscal, etc.).
  2. Se não encontrar e o item for de transferência (iTransf = 'S') e CD_MOVTRANSFSAI estiver preenchido, utiliza CD_MOVTRANSFSAI.
  3. Caso contrário, utiliza CD_MOVSAIDA (produtos) ou CD_MOVSERVICO (serviços).

Na tela MNF036 — Transferência entre Empresas, se a função RETORNA_MOVIMENTACAO não retornar resultado para um item, o sistema utiliza CD_MOVTRANSFSAI como fallback. Se também estiver vazio, o sistema exibe erro: "Não foi encontrado movimentação de saída para o item X. Verifique! [MFA005/MFA001]".

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
TdmMFA001.tabPARMFATURCD_MOVTRANSFSAIValidateUdmMFA001.pasValida o código digitado na tabela MOVIMENTACAO
TfrmMFA001.edtCD_MOVTRANSFSAIKeyDownUMFA001.pasAbre pesquisa <F9> de movimentações filtrando Saída/Ativas
TdmMNF002.buscaMovimentacaoItemUdmMNF002.pasUsa CD_MOVTRANSFSAI quando item é transferência
TdmMNF002.retornaMovimentacaoUdmMNF002.pasRetorna CD_MOVTRANSFSAI como fallback para transferência
TdmMNF002.reprocessaMovUdmMNF002.pasVerifica se deve reprocessar itens de transferência
TdmMNF008.reprocessaMovUdmMNF008.pasMesma lógica de reprocessamento do MNF002
TdmMNF008.Busca_ParametrosUdmMNF008.pasLê CD_MOVTRANSFSAI dos parâmetros de faturamento
TdmMNF008.BuscaParametros_MNF008UdmMNF008.pasLê CD_MOVTRANSFSAI dos parâmetros de faturamento
TfrmMNF036.btnSalvarClickUMNF036.pasUsa CD_MOVTRANSFSAI como fallback na transferência entre empresas
TdmMCO006.BuscaParametros_MCO006UdmMCO006.pasLê parâmetros de faturamento (referência)
TdmMFC002.tabCONTASCD_PESSOAValidateUdmMFC002.pasLê parâmetros de faturamento (referência)
TdmMNF002.BuscaParametros_MNF002UdmMNF002.pasLê parâmetros de faturamento (referência)
TdmMNF008.tabNOTACD_PESSOAValidateUdmMNF008.pasLê parâmetros de faturamento (referência)
TdmMRC020NFORDEM.tabNOTACD_PESSOAValidateUdmMRC020NFORDEM.pasLê parâmetros de faturamento (referência)
TdmMRC039.tabCAMPOSINICIAISIDPESSOAValidateUdmMRC039.pasLê parâmetros de faturamento (referência)
transactionAfterRollback (MNF008)UdmMNF008.pasDeclara variável iCD_MOVTRANSFSAI

Referências SQL diretas ao campo​

ArquivoLinhaContexto
UdmMFA001.dfm111, 2991SELECT — traz CD_MOVTRANSFSAI com JOIN em MOVIMENTACAO MOVTS
UdmMFA001.dfm401, 3282LEFT JOIN MOVIMENTACAO MOVTS pela coluna CD_MOVTRANSFSAI
UdmMFA001.dfm2365INSERT — inclui CD_MOVTRANSFSAI
UdmMFA001.dfm2680UPDATE — grava CD_MOVTRANSFSAI
UdmCPD009.dfm351, 426, 565, 653Manutenção genérica de PARMFATUR (INSERT/UPDATE/SELECT/JOIN)

Candidatas por uso da tabela (sem referência direta ao campo)​

As procedures SQL abaixo utilizam a tabela PARMFATUR, mas não referenciam CD_MOVTRANSFSAI literalmente. Impacto funcional direto não identificado.

Procedure/ViewArquivo
ATUALIZA_PESSOAScripts/ATUALIZA_PESSOA.sql
ATUALIZA_PRECOVENDAScripts/ATUALIZA_PRECOVENDA.sql
BUSCAPRECORECAPScripts/BUSCAPRECORECAP.sql
CALCULA_CENTRORESULTScripts/CALCULA_CENTRORESULT.sql
CALCULA_CENTRORESULTITEMScripts/CALCULA_CENTRORESULTITEM.sql
CALCULA_COMISSAOScripts/CALCULA_COMISSAO.sql
CALCULA_COMISSAO_V2Scripts/CALCULA_COMISSAO_V2.sql
CALCULA_JUROVENDAScripts/CALCULA_JUROVENDA.sql
CANCELA_MESTRAScripts/CANCELA_MESTRA.sql
CANCELA_NOTAFISCALScripts/CANCELA_NOTAFISCAL.sql
CONFIRMA_ORDEMSERVICOScripts/CONFIRMA_ORDEMSERVICO.sql
CONFIRMA_ORDEMSERVICOMETALScripts/CONFIRMA_ORDEMSERVICOMETAL.sql
CONSOME_LOTEMATERIAPRIMAScripts/CONSOME_LOTEMATERIAPRIMA.sql
CREDITOPERIODICO_AI0Scripts/CREDITOPERIODICO_AI0.sql
EXPORTACAO_ALLABORScripts/EXPORTACAO_ALLABOR.sql
EXPORTACAO_DOMINIOCADASTROSScripts/EXPORTACAO_DOMINIOCADASTROS.sql