CD_MOVSERVICO - Movimentação de Serviço Padrão
Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: aba Operação 1 Campo:
edtCD_MOVSERVICO(label: "Movimentos e Operações Padrão") Tabela:PARMFATUR.CD_MOVSERVICO(INTEGER) Chave estrangeira:MOVIMENTACAO.CD_MOVIMENTACAO
Descrição
Define a movimentação de estoque padrão utilizada quando o item faturado é do tipo Serviço (TP_ITEM = 'S'). Sempre que o sistema precisa determinar qual movimentação aplicar a um item de serviço (nota fiscal, pedido de venda, ordem de serviço etc.), ele recorre a este parâmetro caso não exista uma movimentação específica cadastrada no produto/grupo.
Campos envolvidos
| Campo | Tabela | Observação |
|---|---|---|
CD_MOVSERVICO | PARMFATUR | Código da movimentação de serviço |
CD_MOVSAIDA | PARMFATUR | Movimentação de saída para itens normais (usado quando TP_ITEM <> 'S') |
CD_MOVENTRADA | PARMFATUR | Movimentação de entrada |
DS_MOVSERVICO (lookup) | Consulta join | Descrição exibida ao lado do código |
Validações
- Não aceita movimentação de Entrada: se o campo
TP_OPERACAOda movimentação for'E', o sistema exibe "A Operação da Movimentação não pode ser de Entrada!". - Exige movimentação ativa: se
ST_ATIVO = 'N', exibe "A Movimentação não está Ativa!". - Pesquisa (
<F9>): abre tela de pesquisa filtrando apenas movimentações comST_ATIVO = 'S'eTP_OPERACAO = 'S'(Saída).
Opções disponíveis
Preenchimento com código de movimentação de saída
| O que faz | Detalhe |
|---|---|
| Define a movimentação de estoque para itens de serviço | Obrigatoriamente uma movimentação com TP_OPERACAO = 'S' e ST_ATIVO = 'S'. Editável pelo usuário. |
Simulação passo a passo
- Acesse Parâmetros → Faturamento (tela MFA001).
- Posicione-se na aba Operação 1.
- No campo Movimentos e Operações Padrão – Mov. Serviço, digite o código da movimentação desejada ou pressione
<F9>para abrir a janela de pesquisa. - Na janela de pesquisa, selecione uma movimentação ativa do tipo Saída e confirme.
- Salve os parâmetros.
Resultado esperado: Todos os itens de serviço (TP_ITEM = 'S') faturados no sistema utilizarão esta movimentação como padrão para baixa de estoque e controle fiscal, caso não haja movimentação específica definida no cadastro do item/grupo.
Exceção / Importante: Se o campo ficar vazio e não houver movimentação específica no produto/grupo, as procedures
RETORNA_MOVIMENTACAOPADRAOeRETORNA_MOVIMENTACAOMESTRAretornarãoNULL, gerando o alerta "Não foram Encontradas Movimentações Parametrizadas!". Alguns módulos (ex.: MNF013) usamCOALESCE(CD_MOVSERVICO, CD_MOVSAIDA)como fallback — ou seja, seCD_MOVSERVICOestiver vazio, o sistema usaráCD_MOVSAIDA.
Campo vazio (não preenchido)
| O que faz | Detalhe |
|---|---|
| Sem movimentação de serviço dedicada | O sistema pode usar CD_MOVSAIDA como fallback (depende do módulo) ou falhar ao determinar a movimentação. |
Simulação passo a passo
- Acesse Parâmetros → Faturamento (tela MFA001).
- Posicione-se na aba Operação 1.
- Limpe o campo Mov. Serviço.
- Salve os parâmetros.
Resultado esperado: Ao faturar itens de serviço, o sistema tentará usar CD_MOVSAIDA como fallback em alguns módulos (ex.: MNF013), mas poderá gerar erro de movimentação não encontrada em outros contextos (ex.: geração de mestra, nota fiscal avulsa).
Telas impactadas
| Tela | Rotina | Como usa |
|---|---|---|
| MNF002 | TdmMNF002.buscaMovimentacaoItem / retornaMovimentacao | Atribui CD_MOVSERVICO a itens de nota fiscal com TP_ITEM = 'S' |
| MPD002 | TdmMPD002.buscaMovimentacao | Atribui CD_MOVSERVICO a itens de pedido com TP_ITEM = 'S' |
| MNF013 | Busca_Parametros | Usa COALESCE(CD_MOVSERVICO, CD_MOVSAIDA) como movimentação padrão |
| MNF024 | transactionAfterRollback / Busca_Parametros | Carrega o parâmetro para controle de movimentação em NFS-e |
| MNF026 | tabITEMTROCACD_ITEMValidate / Busca_Parametros | Usa CD_MOVSERVICO na troca de itens de serviço |
| MOF001 | TdmMOF001.buscaMovServico / Busca_Parametros | Ordem de serviço: movimentação para itens de serviço |
| MOF002 | tabORDEMSERVITEMCD_SERVICOValidate / Busca_Parametros | Ordem de serviço (oficina): movimentação de serviço |
| MOF005 | btnGerarPedidoClick / btnGerarOSClick | Geração de pedido/OS a partir de serviços |
| MOF006 | tabVEICULONR_PLACAValidate / Busca_Parametros | Ordem de serviço por veículo |
| MCO006 | BuscaParametros_MCO006 | Carrega parâmetro para movimentação de comércio exterior |
| MNF008 | BuscaParametros_MNF008 | Carrega parâmetro para nota fiscal de entrada com serviço |
| MNF010 | geraPedido | Usa COALESCE(C.CD_MOVIMENTACAO, PF.CD_MOVSERVICO) ao gerar pedido |
| LDP018 | ExecLayout | Layout de duplicata consulta CD_MOVSERVICO para identificar tipo de movimentação |
| LOR030 | SQL do relatório | Usa IIF(TP_ITEM = 'S', CD_MOVSERVICO, CD_MOVSAIDA) no join |
| CPD008 | Cadastro de movimentação | Exibe aviso quando histórico está vinculado à movimentação de serviço parametrizada |
Procedures impactadas
SQL com referência direta ao campo
| Procedure/View | Arquivo | Uso |
|---|---|---|
RETORNA_MOVIMENTACAOPADRAO | Scripts/RETORNA_MOVIMENTACAOPADRAO.sql | Retorna CD_MOVSERVICO quando TP_ITEM = 'S' e operação é saída |
RETORNA_MOVIMENTACAOMESTRA | Scripts/RETORNA_MOVIMENTACAOMESTRA.sql | Mesma lógica: CASE WHEN TP_ITEM = 'S' THEN CD_MOVSERVICO ELSE CD_MOVSAIDA END |
Candidatas por uso da tabela (sem referência direta ao campo)
As procedures abaixo utilizam PARMFATUR mas não referenciam CD_MOVSERVICO diretamente em seus scripts: ATUALIZA_PESSOA, ATUALIZA_PRECOVENDA, BUSCAPRECORECAP, CALCULA_CENTRORESULT, CALCULA_CENTRORESULTITEM, CALCULA_COMISSAO, CALCULA_COMISSAO_V2, CALCULA_JUROVENDA, CALCULA_MAQUINA, CALCULA_MAQUINAFICHA, CANCELA_MESTRA, CANCELA_NOTAFISCAL, CONFIRMA_ORDEMSERVICO, CONFIRMA_ORDEMSERVICOMETAL, CONSOME_LOTEMATERIAPRIMA, CREDITOPERIODICO_AI0, CREDITOPERIODICOGRUPO_AI0, EXPORTACAO_ALLABOR, EXPORTACAO_DOMINIOCADASTROS, EXPORTACAO_DOMINIOCUPOM.
Sem impacto direto identificado no código para essas procedures em relação a CD_MOVSERVICO.
Regra de fallback
A lógica central de resolução da movimentação de serviço, usada tanto nas procedures SQL quanto nas rotinas Delphi, é:
SE o item é do tipo Serviço (TP_ITEM = 'S'):
→ usa CD_MOVSERVICO dos parâmetros de faturamento
SENÃO:
→ usa CD_MOVSAIDA dos parâmetros de faturamento
Parâmetros relacionados:
CD_MOVSAIDA(configurado em MFA001 — Parâmetros de Faturamento, aba Operação 1) — movimentação de saída para itens normais.CD_MOVENTRADA(configurado em MFA001 — Parâmetros de Faturamento, aba Operação 1) — movimentação de entrada padrão.