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
| Tela | Arquivo | Contexto |
|---|---|---|
| MFA001 — Parâmetros de Faturamento | UMFA001.pas | Cadastro e edição do campo |
| MPD002 — Pedidos | UMPD002.pas | Duplicação de pedido com ICMS-ST (btnDuplicarClick) |
| LOR044 — Layout Ordem de Serviço | ULOR044.pas | Leitura para emissão de layout |
| LPD128 — Layout Pedido | ULPD128.pas | Leitura para emissão de layout |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_ITEMSTPED | PARMFATUR | Código do produto usado como item de ICMS-ST na duplicação |
CD_MOVSTPED | PARMFATUR | Movimentação do item ST (configurado em MFA001 — Parâmetros de Faturamento, mesma seção "Duplicação de Pedido") |
CD_CONDPAGTOPED | PARMFATUR | Condição de pagamento do pedido duplicado (configurado em MFA001 — Parâmetros de Faturamento, mesma seção) |
CD_FORMAPAGTOPED | PARMFATUR | Forma de pagamento do pedido duplicado (configurado em MFA001 — Parâmetros de Faturamento, mesma seção) |
Opções disponíveis
| O que faz | Detalhe |
|---|---|
| Define qual produto (ITEM) será inserido no pedido duplicado para representar o valor de ICMS-ST | Campo 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
- Acesse MFA001 — Parâmetros de Faturamento e vá para a aba Opção 2.
- Posicione o cursor no campo "Duplicação de Pedido [MPD002]".
- Pressione
<F9>para abrir a busca de produtos. - Selecione o produto desejado (ex.: produto "ICMS-ST" cadastrado no estoque).
- 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:
- O sistema verifica se
CD_ITEMSTPEDeCD_MOVSTPEDestão preenchidos. Se ambos estiverem preenchidos, inicia o processo de cálculo de ST. - Calcula o IPI de todos os itens do pedido original.
- Calcula o valor total de ICMS-ST (
vlTotST) item a item usando a procedureCALCULA_IMPOSTOS. - Gera as parcelas do pedido original:
- 1ª parcela → valor do fator informado pelo usuário.
- Parcelas restantes → valor total do pedido original dividido proporcionalmente.
- 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.
- 1ª parcela → valor total do ICMS-ST calculado (
Exceção / Importante:
- Se
CD_ITEMSTPEDestiver vazio masCD_MOVSTPEDestiver preenchido, o sistema exibe: "Não há Parâmetros de Item de Subst. Tributária. Verifique! [MFA001]".- Se
CD_MOVSTPEDestiver vazio masCD_ITEMSTPEDestiver 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_CONDPAGTOPEDeCD_FORMAPAGTOPEDconfigurados em MFA001. SeCD_CONDPAGTOPEDnão estiver preenchido, a condição de pagamento do pedido original é utilizada.- O produto informado em
CD_ITEMSTPEDera 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
| Rotina | Arquivo | Descrição |
|---|---|---|
tabPARMFATURCD_ITEMSTPEDValidate | UdmMFA001.pas:1825 | Valida produto ativo e não-serviço |
edtCD_ITEMSTPEDKeyDown / dbedtCD_ITEMSTPEDKeyDown | UMFA001.pas:2003, 2279 | Abre busca de produto via <F9> |
TfrmMPD002.btnDuplicarClick | UMPD002.pas:5924 | Consome o parâmetro na duplicação com ICMS-ST |
TdmMPD002.BuscaParametros_MPD002 | UdmMPD002.pas:5749 | Carrega parâmetros de faturamento para o pedido |
ExecLayout | ULOR044.pas:246 | Inclui campo na query de layout de OS |
ExecLayout | ULPD128.pas:146 | Inclui 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.