CD_MOVIMENTACAO - Movimentação para Crédito do Imobilizado
Tela de configuração: MFI003 — Parâmetros Fiscais Localização: Aba Parâmetros Fiscais → sub-aba Crédito Imobilizado → grupo Movimentações Tabela:
PARMFISCALMOVIMPOSTO.CD_MOVIMENTACAOValor padrão: Sem padrão (campo de preenchimento obrigatório)
Resumo
Define quais movimentações fiscais (códigos de MOVIMENTACAO) participam do cálculo de crédito do imobilizado (CIAP). Cada registro na tabela PARMFISCALMOVIMPOSTO vincula uma movimentação à empresa, e a procedure RETORNA_MOVCREDITOIMOB utiliza essa lista para determinar as movimentações elegíveis ao crédito.
Telas impactadas
| Tela | Contexto |
|---|---|
| MFI003 — Parâmetros Fiscais | Aba Parâmetros Fiscais → sub-aba Crédito Imobilizado → grid Movimentações |
| CNF001 — Nota Fiscal | Cálculo de impostos utiliza CD_MOVIMENTACAO via CALCULA_IMPOSTOS |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_MOVIMENTACAO | PARMFISCALMOVIMPOSTO | Código da movimentação fiscal (PK, FK → MOVIMENTACAO) |
CD_EMPRESA | PARMFISCALMOVIMPOSTO | Empresa vinculada (PK) |
DS_MOVIMENTACAO | MOVIMENTACAO | Descrição exibida no grid (somente leitura) |
TP_OPERACAO | MOVIMENTACAO | Tipo de operação (S = Saída, E = Entrada) |
ST_DEVOLUCAO | MOVIMENTACAO | Indicador de devolução (D = Devolução) |
Opções disponíveis
O campo aceita qualquer código de movimentação cadastrado em MOVIMENTACAO (TCB001), com validação condicional conforme o parâmetro ST_PERMITEDEDUZIRDEVOLUCAO.
Inserção de Movimentação de Saída (TP_OPERACAO = 'S')
| O que faz | Detalhe |
|---|---|
| Permite qualquer movimentação de saída | Independente de ST_PERMITEDEDUZIRDEVOLUCAO |
Simulação passo a passo
- Acesse a tela MFI003 — Parâmetros Fiscais.
- Selecione a aba Parâmetros Fiscais.
- Clique na sub-aba Crédito Imobilizado.
- No grupo Movimentações, posicione o cursor na última linha em branco do grid.
- Digite o código de uma movimentação de saída (ex.:
5— "Venda de Mercadoria"). - Pressione
<Enter>ou saia do campo para validar. - O sistema carrega automaticamente a descrição da movimentação na coluna ao lado.
- Salve o registro.
Resultado esperado: A movimentação de saída é incluída na lista de movimentações elegíveis ao crédito do imobilizado.
Inserção de Movimentação de Entrada/Devolução (TP_OPERACAO = 'E')
| O que faz | Detalhe |
|---|---|
| Permite movimentação de entrada apenas do tipo devolução | Exige ST_PERMITEDEDUZIRDEVOLUCAO = 'S' |
Simulação passo a passo
- Acesse a tela MFI003 — Parâmetros Fiscais.
- Selecione a aba Parâmetros Fiscais.
- Certifique-se de que o checkbox Permite deduzir Devoluções da base de cálculo do crédito (
ST_PERMITEDEDUZIRDEVOLUCAO) esteja marcado (S). - Clique na sub-aba Crédito Imobilizado.
- No grupo Movimentações, posicione o cursor na última linha em branco do grid.
- Digite o código de uma movimentação de entrada devolução (ex.:
3— "Devolução de Venda"). - Pressione
<Enter>ou saia do campo para validar. - O sistema carrega a descrição e aceita a movimentação.
- Salve o registro.
Resultado esperado: A movimentação de devolução é incluída, permitindo que valores de devolução sejam deduzidos da base de cálculo do crédito CIAP.
Exceção / Importante:
- Se
ST_PERMITEDEDUZIRDEVOLUCAO = 'N'(desmarcado), o sistema rejeita qualquer movimentação comTP_OPERACAO = 'E', exibindo: "A Movimentação deve ser do tipo saída. [TCB001]".- Se
ST_PERMITEDEDUZIRDEVOLUCAO = 'S'(marcado), o sistema aceita movimentações de entrada apenas quandoST_DEVOLUCAO = 'D'. Caso contrário, exibe: "A Movimentação do Tipo Entrada, só pode ser de devolução. Verifique! [TCB001]".- Na gravação dos parâmetros (
tabPARMFISCALBeforePost), seST_PERMITEDEDUZIRDEVOLUCAO = 'N'e já existirem movimentações de entrada gravadas emPARMFISCALMOVIMPOSTO, o sistema bloqueia o salvamento com mensagem: "Não é possível informar movimentações do tipo 'Entrada', quando o checkbox 'Permite deduzir Devoluções da base de cálculo do crédito' estiver desmarcado. Verifique!".- O campo
CD_MOVIMENTACAOfica somente leitura após preenchido (bloqueado noAfterScroll). Para alterar, exclua o registro e insira um novo.
Exclusão de Movimentação
| O que faz | Detalhe |
|---|---|
| Remove o vínculo da movimentação com o crédito imobilizado | Registro é excluído da tabela PARMFISCALMOVIMPOSTO |
Simulação passo a passo
- Acesse a tela MFI003 — Parâmetros Fiscais.
- Clique na sub-aba Crédito Imobilizado.
- Selecione a linha da movimentação que deseja remover no grid.
- Pressione
<Delete>ou utilize o botão de exclusão. - Confirme a exclusão.
- Salve o registro.
Resultado esperado: A movimentação é removida da lista e não será mais considerada no cálculo de crédito do imobilizado.
Regra de visibilidade
A sub-aba Crédito Imobilizado só é exibida quando o campo TP_CALCULODEPRECIACAO (configurado em MFI003 — Parâmetros Fiscais) for diferente de I (Integral). Quando TP_CALCULODEPRECIACAO = 'I', a aba fica oculta.
Tabela Comparativa Resumida
| Condição | Movimentações aceitas | Restrição |
|---|---|---|
ST_PERMITEDEDUZIRDEVOLUCAO = 'N' | Somente saída (TP_OPERACAO = 'S') | Entrada é rejeitada na validação e na gravação |
ST_PERMITEDEDUZIRDEVOLUCAO = 'S' | Saída (S) + Entrada devolução (E + ST_DEVOLUCAO = 'D') | Entrada sem devolução é rejeitada |
TP_CALCULODEPRECIACAO = 'I' | Nenhuma (aba oculta) | Aba Crédito Imobilizado não é exibida |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
TdmMFI003.tabPARMMOVIMPOSTOCD_MOVIMENTACAOValidate | UdmMFI003.pas:1390 | Valida a movimentação e aplica regras conforme ST_PERMITEDEDUZIRDEVOLUCAO |
TdmMFI003.tabPARMMOVIMPOSTOBeforePost | UdmMFI003.pas:1412 | Exige preenchimento obrigatório e atribui empresa |
TdmMFI003.tabPARMMOVIMPOSTOAfterScroll | UdmMFI003.pas:1420 | Bloqueia edição do campo após preenchido |
TdmMFI003.tabPARMFISCALBeforePost | UdmMFI003.pas:548 | Valida se há movimentações de entrada incompatíveis com ST_PERMITEDEDUZIRDEVOLUCAO |
Scripts SQL com referência direta ao campo na tabela PARMFISCALMOVIMPOSTO
| Procedure/View | Arquivo | Descrição |
|---|---|---|
RETORNA_MOVCREDITOIMOB | Scripts/RETORNA_MOVCREDITOIMOB.sql | Retorna movimentações de PARMFISCALMOVIMPOSTO para crédito imobilizado; fallback para MOVIMENTACAO quando tabela está vazia |
Referências SQL a CD_MOVIMENTACAO (campo genérico em MOVIMENTACAO)
CD_MOVIMENTACAO é amplamente utilizado em mais de 30 scripts de cálculo de impostos e rotinas fiscais. As procedures mais relevantes para este parâmetro são:
| Procedure | Arquivo | Relação com o parâmetro |
|---|---|---|
CALCULA_IMPOSTOS | Scripts/CALCULA_IMPOSTOS.sql | Recebe V_CD_MOVIMENTACAO como parâmetro para cálculo de impostos na nota |
CALCULA_IMPOSTONOTA | Scripts/CALCULA_IMPOSTONOTA.sql | Utiliza I_CD_MOVIMENTACAO internamente |
CALCULA_IMPOSTOPEDIDO | Scripts/CALCULA_IMPOSTOPEDIDO.sql | Utiliza I_CD_MOVIMENTACAO internamente |
CALCULA_COMISSAO | Scripts/CALCULA_COMISSAO.sql | Recebe V_CD_MOVIMENTACAO para cálculo de comissão |
CANCELA_NOTAFISCAL | Scripts/CANCELA_NOTAFISCAL.sql | Faz join com MOVIMENTACAO via CD_MOVIMENTACAO |