Pular para o conteúdo principal

CD_ITEMSTPED — Item de Substituição Tributária (Duplicação de Pedido)

Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 2 → seção "Duplicação de Pedido [MPD002]" Tabela: PARMFATUR.CD_ITEMSTPED (INTEGER, FK → ITEM.CD_ITEM) Valor padrão: vazio (nenhum item definido)

Telas impactadas​

TelaArquivoContexto
MFA001 — Parâmetros de FaturamentoUMFA001.pasCadastro e edição do campo
MPD002 — PedidosUMPD002.pasDuplicação de pedido com ICMS-ST (btnDuplicarClick)
LOR044 — Layout Ordem de ServiçoULOR044.pasLeitura para emissão de layout
LPD128 — Layout PedidoULPD128.pasLeitura para emissão de layout

Campos envolvidos​

CampoTabelaDescrição
CD_ITEMSTPEDPARMFATURCódigo do produto usado como item de ICMS-ST na duplicação
CD_MOVSTPEDPARMFATURMovimentação do item ST (configurado em MFA001 — Parâmetros de Faturamento, mesma seção "Duplicação de Pedido")
CD_CONDPAGTOPEDPARMFATURCondição de pagamento do pedido duplicado (configurado em MFA001 — Parâmetros de Faturamento, mesma seção)
CD_FORMAPAGTOPEDPARMFATURForma de pagamento do pedido duplicado (configurado em MFA001 — Parâmetros de Faturamento, mesma seção)

Opções disponíveis​

O que fazDetalhe
Define qual produto (ITEM) será inserido no pedido duplicado para representar o valor de ICMS-STCampo editável, preenchido via busca de produto (<F9>). Obrigatoriamente deve ser um produto ativo e não serviço.

Como preencher​

Simulação passo a passo​

  1. Acesse MFA001 — Parâmetros de Faturamento e vá para a aba Opção 2.
  2. Posicione o cursor no campo "Duplicação de Pedido [MPD002]".
  3. Pressione <F9> para abrir a busca de produtos.
  4. Selecione o produto desejado (ex.: produto "ICMS-ST" cadastrado no estoque).
  5. O sistema preenche automaticamente o campo com o código do produto e a descrição ao lado.

Exceção / Importante: Se o produto informado estiver inativo (ST_ATIVO <> 'S') ou for um serviço (TP_ITEM = 'S'), o sistema bloqueia com a mensagem "O Produto Não Está Ativo!" ou "Não é Permitido Selecionar um Serviço!", respectivamente. Se o código não existir na tabela ITEM, a mensagem será "Produto Não Cadastrado!".

Resultado esperado: O campo armazena o código do produto que será utilizado automaticamente quando o usuário duplicar um pedido em MPD002 e houver itens com ICMS-ST.


Comportamento na duplicação de pedido (MPD002)​

O parâmetro é consumido na rotina btnDuplicarClick do MPD002 ao duplicar um pedido que contém itens sujeitos a ICMS-ST:

  1. O sistema verifica se CD_ITEMSTPED e CD_MOVSTPED estão preenchidos. Se ambos estiverem preenchidos, inicia o processo de cálculo de ST.
  2. Calcula o IPI de todos os itens do pedido original.
  3. Calcula o valor total de ICMS-ST (vlTotST) item a item usando a procedure CALCULA_IMPOSTOS.
  4. Gera as parcelas do pedido original:
    • 1ª parcela → valor do fator informado pelo usuário.
    • Parcelas restantes → valor total do pedido original dividido proporcionalmente.
  5. Gera as parcelas do novo pedido duplicado:
    • 1ª parcela → valor total do ICMS-ST calculado (vlTotST).
    • Parcelas restantes → valor restante do pedido, desconsiderando o fator.

Exceção / Importante:

  • Se CD_ITEMSTPED estiver vazio mas CD_MOVSTPED estiver preenchido, o sistema exibe: "Não há Parâmetros de Item de Subst. Tributária. Verifique! [MFA001]".
  • Se CD_MOVSTPED estiver vazio mas CD_ITEMSTPED estiver preenchido, o sistema exibe: "Não há Parâmetros de Movimentação para Item de Subst. Tributária. Verifique! [MFA001]".
  • Se o fator for obrigatório e o usuário não informar, o sistema exibe: "É obrigatório informar o Fator!".
  • As parcelas do novo pedido usam CD_CONDPAGTOPED e CD_FORMAPAGTOPED configurados em MFA001. Se CD_CONDPAGTOPED não estiver preenchido, a condição de pagamento do pedido original é utilizada.
  • O produto informado em CD_ITEMSTPED era utilizado para inserir como item no pedido gerado (código comentado na linha 5995–6013), mas atualmente a lógica de inserção do item está desativada. O parâmetro continua sendo usado para o cálculo e geração de parcelas.

Procedures impactadas​

Rotinas Delphi com referência direta​

RotinaArquivoDescrição
tabPARMFATURCD_ITEMSTPEDValidateUdmMFA001.pas:1825Valida produto ativo e não-serviço
edtCD_ITEMSTPEDKeyDown / dbedtCD_ITEMSTPEDKeyDownUMFA001.pas:2003, 2279Abre busca de produto via <F9>
TfrmMPD002.btnDuplicarClickUMPD002.pas:5924Consome o parâmetro na duplicação com ICMS-ST
TdmMPD002.BuscaParametros_MPD002UdmMPD002.pas:5749Carrega parâmetros de faturamento para o pedido
ExecLayoutULOR044.pas:246Inclui campo na query de layout de OS
ExecLayoutULPD128.pas:146Inclui campo na query de layout de pedido

Referências SQL diretas ao campo​

Nenhuma procedure/trigger SQL em Scripts/ referencia diretamente o campo CD_ITEMSTPED. O uso está restrito ao código Delphi (MFA001 e MPD002) e aos layouts LOR044 e LPD128.

Candidatas por uso da tabela​

As procedures abaixo utilizam a tabela PARMFATUR, mas não referenciam CD_ITEMSTPED diretamente. Impacto funcional direto não identificado:

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.