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
| Tela | Rotina | Uso |
|---|---|---|
| MFA001 | Parâmetros de Faturamento | Configuração do campo |
| MNF002 | Nota Fiscal de Saída | Determina a movimentação de itens de transferência |
| MNF008 | Nota Fiscal de Serviço | Determina a movimentação de itens de transferência |
| MNF036 | Transferência entre Empresas | Fallback quando RETORNA_MOVIMENTACAO não encontra movimentação |
| MCO006 | Contas a Receber (Baixa) | Leitura dos parâmetros de faturamento |
| MFC002 | Financeiro (Contas) | Leitura dos parâmetros de faturamento |
| MRC020 | Nota Fiscal Ordem | Leitura dos parâmetros de faturamento |
| MRC039 | Rotina específica | Leitura dos parâmetros de faturamento |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_MOVTRANSFSAI | PARMFATUR | Código da movimentação de saída para transferência |
CD_MOVTRANSFENT | PARMFATUR | Código da movimentação de entrada para transferência (par complementar) |
ST_TRANSFERENCIA | PARMFATUR | Habilita controle de transferência (S/N) — configurado em MFA001 — Parâmetros de Faturamento |
CD_MOVIMENTACAO | MOVIMENTACAO | Tabela de movimentações cadastradas (TCB001) |
CD_MOVSAIDA | PARMFATUR | Movimentaçã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 faz | Detalhe |
|---|---|
| Armazena o código de uma movimentação | Somente movimentações com TP_OPERACAO = Saída e ST_ATIVO = S |
| Validação ao digitar | Rejeita movimentações de entrada ou inativas |
| Preenchimento via busca | Pressione <F9> para abrir a pesquisa de movimentações |
Campo preenchido — Movimentação de transferência de saída
Simulação passo a passo
- Acesse MFA001 — Parâmetros de Faturamento.
- Posicione na aba Operação 1.
- 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. - Na tela de pesquisa, selecione uma movimentação ativa com tipo de operação Saída.
- O sistema preenche o código e exibe a descrição ao lado.
- 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 valorS.
Campo vazio — Sem movimentação de transferência específica
Simulação passo a passo
- Acesse MFA001 — Parâmetros de Faturamento.
- Na aba Operação 1, deixe o campo de transferência saída vazio.
- 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:
- Busca a movimentação específica via
RETORNA_MOVIMENTACAO(considerando grupo, item, condição fiscal, etc.). - Se não encontrar e o item for de transferência (
iTransf = 'S') eCD_MOVTRANSFSAIestiver preenchido, utilizaCD_MOVTRANSFSAI. - Caso contrário, utiliza
CD_MOVSAIDA(produtos) ouCD_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
| Rotina | Arquivo | Descrição |
|---|---|---|
TdmMFA001.tabPARMFATURCD_MOVTRANSFSAIValidate | UdmMFA001.pas | Valida o código digitado na tabela MOVIMENTACAO |
TfrmMFA001.edtCD_MOVTRANSFSAIKeyDown | UMFA001.pas | Abre pesquisa <F9> de movimentações filtrando Saída/Ativas |
TdmMNF002.buscaMovimentacaoItem | UdmMNF002.pas | Usa CD_MOVTRANSFSAI quando item é transferência |
TdmMNF002.retornaMovimentacao | UdmMNF002.pas | Retorna CD_MOVTRANSFSAI como fallback para transferência |
TdmMNF002.reprocessaMov | UdmMNF002.pas | Verifica se deve reprocessar itens de transferência |
TdmMNF008.reprocessaMov | UdmMNF008.pas | Mesma lógica de reprocessamento do MNF002 |
TdmMNF008.Busca_Parametros | UdmMNF008.pas | Lê CD_MOVTRANSFSAI dos parâmetros de faturamento |
TdmMNF008.BuscaParametros_MNF008 | UdmMNF008.pas | Lê CD_MOVTRANSFSAI dos parâmetros de faturamento |
TfrmMNF036.btnSalvarClick | UMNF036.pas | Usa CD_MOVTRANSFSAI como fallback na transferência entre empresas |
TdmMCO006.BuscaParametros_MCO006 | UdmMCO006.pas | Lê parâmetros de faturamento (referência) |
TdmMFC002.tabCONTASCD_PESSOAValidate | UdmMFC002.pas | Lê parâmetros de faturamento (referência) |
TdmMNF002.BuscaParametros_MNF002 | UdmMNF002.pas | Lê parâmetros de faturamento (referência) |
TdmMNF008.tabNOTACD_PESSOAValidate | UdmMNF008.pas | Lê parâmetros de faturamento (referência) |
TdmMRC020NFORDEM.tabNOTACD_PESSOAValidate | UdmMRC020NFORDEM.pas | Lê parâmetros de faturamento (referência) |
TdmMRC039.tabCAMPOSINICIAISIDPESSOAValidate | UdmMRC039.pas | Lê parâmetros de faturamento (referência) |
transactionAfterRollback (MNF008) | UdmMNF008.pas | Declara variável iCD_MOVTRANSFSAI |
Referências SQL diretas ao campo
| Arquivo | Linha | Contexto |
|---|---|---|
UdmMFA001.dfm | 111, 2991 | SELECT — traz CD_MOVTRANSFSAI com JOIN em MOVIMENTACAO MOVTS |
UdmMFA001.dfm | 401, 3282 | LEFT JOIN MOVIMENTACAO MOVTS pela coluna CD_MOVTRANSFSAI |
UdmMFA001.dfm | 2365 | INSERT — inclui CD_MOVTRANSFSAI |
UdmMFA001.dfm | 2680 | UPDATE — grava CD_MOVTRANSFSAI |
UdmCPD009.dfm | 351, 426, 565, 653 | Manutençã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/View | Arquivo |
|---|---|
ATUALIZA_PESSOA | Scripts/ATUALIZA_PESSOA.sql |
ATUALIZA_PRECOVENDA | Scripts/ATUALIZA_PRECOVENDA.sql |
BUSCAPRECORECAP | Scripts/BUSCAPRECORECAP.sql |
CALCULA_CENTRORESULT | Scripts/CALCULA_CENTRORESULT.sql |
CALCULA_CENTRORESULTITEM | Scripts/CALCULA_CENTRORESULTITEM.sql |
CALCULA_COMISSAO | Scripts/CALCULA_COMISSAO.sql |
CALCULA_COMISSAO_V2 | Scripts/CALCULA_COMISSAO_V2.sql |
CALCULA_JUROVENDA | Scripts/CALCULA_JUROVENDA.sql |
CANCELA_MESTRA | Scripts/CANCELA_MESTRA.sql |
CANCELA_NOTAFISCAL | Scripts/CANCELA_NOTAFISCAL.sql |
CONFIRMA_ORDEMSERVICO | Scripts/CONFIRMA_ORDEMSERVICO.sql |
CONFIRMA_ORDEMSERVICOMETAL | Scripts/CONFIRMA_ORDEMSERVICOMETAL.sql |
CONSOME_LOTEMATERIAPRIMA | Scripts/CONSOME_LOTEMATERIAPRIMA.sql |
CREDITOPERIODICO_AI0 | Scripts/CREDITOPERIODICO_AI0.sql |
EXPORTACAO_ALLABOR | Scripts/EXPORTACAO_ALLABOR.sql |
EXPORTACAO_DOMINIOCADASTROS | Scripts/EXPORTACAO_DOMINIOCADASTROS.sql |