CD_MOVIMENTACAOPED - Movimentação Padrão do Pedido
Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 2 Tabela:
PARMFATUR.CD_MOVIMENTACAOPEDTipo:INTEGER— FK paraMOVIMENTACAO (CD_MOVIMENTACAO)Valor padrão: vazio (nenhuma movimentação definida) Label na tela: "Solicita Fator" Componente:TDBEditcom busca<F9>
Descrição
Define a movimentação padrão que será atribuída automaticamente aos itens do Pedido de Venda. Quando preenchido, ao abrir um novo pedido na tela MPD020, o sistema exibe o campo "Movimentação" no cabeçalho com este valor como sugestão. Ao confirmar o pedido, essa movimentação é replicada para todos os itens do pedido.
Se o campo ficar vazio, cada item do pedido manterá sua própria movimentação individual (comportamento padrão).
Telas impactadas
| Tela | Arquivo | Efeito |
|---|---|---|
| MPD020 — Pedido de Venda | source/MPD020/UMPD020.pas | Exibe campo de movimentação no cabeçalho; ao salvar/atualizar replica a movimentação para todos os itens |
| MPD002 — Consulta de Pedidos | source/MPD002/UMPD002.pas | Usa o parâmetro ao duplicar pedido para definir a movimentação dos novos itens |
| LOR044 — Layout de Relatório | source/LOR044/ULOR044.pas | Lê o campo para layouts de impressão |
| LPD128 — Layout de Pedido | source/LPD128/ULPD128.pas | Lê o campo para layouts de impressão |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_MOVIMENTACAOPED | PARMFATUR | Código da movimentação padrão para pedidos (campo deste parâmetro) |
DS_MOVPED | PARMFATUR (calculado) | Descrição da movimentação (preenchido automaticamente pelo Validate) |
CD_MOVIMENTACAOPEDIDO | PEDIDO | Campo equivalente no pedido individual (MPD020) |
CD_MOVIMENTACAO | ITEMPEDIDO | Movimentação de cada item do pedido |
DS_MOVIMENTACAO | MOVIMENTACAO | Descrição da movimentação cadastrada em TCB001 |
Opções disponíveis
Vazio (não preenchido)
| O que faz | Detalhe |
|---|---|
| Cada item mantém sua própria movimentação | Comportamento padrão; sem interferência do parâmetro |
Simulação passo a passo
- Acesse MFA001 → Parâmetros → Opção 2.
- Deixe o campo "Solicita Fator" vazio.
- Salve os parâmetros (
<F11>ou botão Salvar). - Abra um pedido de venda na tela MPD020.
- Adicione produtos ao pedido — cada item usará a movimentação definida individualmente.
Resultado esperado: O campo "Movimentação" no cabeçalho do pedido fica vazio; cada item conserva sua própria movimentação.
Preenchido com código de movimentação válida
| O que faz | Detalhe |
|---|---|
| Define movimentação padrão | O código informado será sugerido no cabeçalho do pedido |
| Replicado para todos os itens | Ao confirmar o pedido, a movimentação é atribuída a todos os itens |
Restrição: não aceita tipo "Compra" (TP_OPERACAO = 'E') | O Validate bloqueia movimentações de entrada |
Restrição: movimentação deve estar ativa (ST_ATIVO = 'S') | O Validate bloqueia movimentações inativas |
Simulação passo a passo
- Acesse MFA001 → Parâmetros → Opção 2.
- Posicione o cursor no campo "Solicita Fator".
- Pressione
<F9>para abrir a lista de movimentações (cadastradas em TCB001 — Movimentação). - Selecione uma movimentação do tipo Venda (ex.: código
5 — Venda de Mercadoria). - O campo exibe o código e a descrição aparece ao lado (ex.: "Venda de Mercadoria").
- Salve os parâmetros.
- Abra um pedido de venda na tela MPD020.
- O campo "Movimentação" no cabeçalho exibe o código
5. - O sistema pergunta: "A Movimentação informada será atribuída a todos os Produtos do Pedido! Deseja Continuar?" — confirme.
- Adicione produtos ao pedido.
- Salve ou atualize o pedido.
Resultado esperado: Todos os itens do pedido recebem a movimentação 5 — Venda de Mercadoria, substituindo qualquer movimentação individual.
Exceção / Importante:
- Se o operador recusar a mensagem de confirmação no MPD020 ("Deseja Continuar?"), a movimentação é limpa do cabeçalho e não é replicada.
- Ao duplicar um pedido (MPD002), se o parâmetro estiver preenchido, a movimentação padrão substitui a movimentação original dos itens duplicados.
- O campo não aceita movimentações com
TP_OPERACAO = 'E'(Entrada/Compra) — o sistema exibe: "O Tipo de Operação da Movimentação não pode ser de Compra!".- O campo não aceita movimentações inativas (
ST_ATIVO = 'N') — o sistema exibe: "A Movimentação não está Ativa!".
Validações
| Regra | Mensagem de erro |
|---|---|
| Movimentação não cadastrada | "A Movimentação não está Cadastrada [TCB001]!" |
| Tipo de operação igual a "E" (Compra) | "O Tipo de Operação da Movimentação não pode ser de Compra!" |
Movimentação inativa (ST_ATIVO = 'N') | "A Movimentação não está Ativa!" |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
dbedtCD_MOVIMENTACAOPEDKeyDown | source/MFA001/UMFA001.pas | Busca <F9> da movimentação na tela de parâmetros |
tabPARMFATURCD_MOVIMENTACAOPEDValidate | source/MFA001/UdmMFA001.pas | Valida movimentação (existe, não é compra, está ativa) |
TfrmMFA001.FormKeyPress | source/MFA001/UMFA001.pas | Navegação por Shift+Enter foca este campo |
TfrmMFA001.PaginasChange | source/MFA001/UMFA001.pas | Ao mudar de aba, foca este campo |
edtCD_MOVSTPEDKeyDown / edtCD_MOVPEDKeyDown | source/MFA001/UMFA001.pas | Outros handlers que atribuem valor ao campo |
dbCD_MOVIMENTACAOPEDIDOKeyDown | source/MPD020/UMPD020.pas | Busca <F9> no cabeçalho do pedido |
dbCD_MOVIMENTACAOPEDIDOExit | source/MPD020/UMPD020.pas | Limpa campo se verificaMovimentacao = False |
tabPEDIDOCD_MOVIMENTACAOPEDIDOValidate | source/MPD020/UdmMPD020.pas | Validação e confirmação de replicação para itens |
TfrmMPD020.btnAtualizarClick | source/MPD020/UMPD020.pas | Ao atualizar pedido, replica movimentação para itens |
TfrmMPD020.btnSalvarClick | source/MPD020/UMPD020.pas | Ao salvar pedido, replica movimentação para itens |
TfrmMPD002.btnDuplicarClick | source/MPD002/UMPD002.pas | Usa o parâmetro ao duplicar pedido |
ExecLayout (LOR044) | source/LOR044/ULOR044.pas | Seleciona campo para layout de relatório |
ExecLayout (LPD128) | source/LPD128/ULPD128.pas | Seleciona campo para layout de pedido |
Scripts SQL
Não foi encontrada referência direta ao campo CD_MOVIMENTACAOPED em scripts SQL (Scripts/). As procedures listadas como candidatas por uso da tabela PARMFATUR não referenciam este campo especificamente — o impacto funcional está limitado às rotinas Delphi acima.