Identificador de Regra
COM-000ALDIF01
Módulo: COM - Comercial.
Finalidade: Permite alterar o cálculo do DIFAL.
Transação: Pode estar ligado a uma transação.
Variáveis Disponibilizadas:
| Nome | Tipo | Observações | Retorna Valor |
|---|---|---|---|
| ComNCodEmp | NÚMERO | Empresa | N |
| ComNCodFil | NÚMERO | Filial | N |
| ComAUfsDes | ALFA | UF de Destino | N |
| ComACodPro | ALFA | Produto | N |
| ComDDatEmi | DATA | Data de Emissão | N |
| ComNIcmOpe | NÚMERO | Alíquota de ICMS Interestadual da operação de venda | N |
| ComNIcmInd | NÚMERO | Alíquota de ICMS interna na UF de Destino | N |
| ComNIcmProvOri | NÚMERO | Percentual de ICMS provisório para partilha na UF de Origem | N |
| ComNIcmProvDes | NÚMERO | Percentual de ICMS provisório para partilha na UF de Destino | N |
| ComNCodCli | NÚMERO | Código do Cliente | N |
| ComSMntIvo | ALFA | Indicativo se deve manter ou não a Base e o Valor de ICMS Partilha de Origem | S |
| ComACodSnf | ALFA | Série fiscal | N |
| ComNNumero | NÚMERO | Número da nota fiscal de saída, pedido, ou nota fiscal de entrada conforme a origem (VSOrigem) | N |
| ComNSeqIte | NÚMERO | Sequência do item da nota fiscal de saida, pedido ou nota fiscal de entrada conforme a origem (VSOrigem) | N |
| ComNCodFor | NÚMERO | Código do fornecedor | N |
| ComACodDer | ALFA | Código da derivação | N |
| ComACodFam | ALFA | Código da família | N |
| ComATnsPro | ALFA | Transação do produto | N |
| ComACodTrd | ALFA | Código de redução do imposto | N |
| ComACodTic | ALFA | Código de ICMS especial (utilizado para buscar a alíquota de ICMS não contribuinte quando for Simples Nacional) | N |
| ComNPerIcm | NÚMERO | Percentual de ICMS | N |
| ComNVlrIcm | NÚMERO | Valor de ICMS | N |
| ComNVlrBic | NÚMERO | Valor base do ICMS normal | N |
| ComNVlrBru | NÚMERO | Valor bruto | N |
| ComNVlrDsc | NÚMERO | Valor de desconto | N |
| ComNVlrDs1 | NÚMERO | Valor de desconto 01 | N |
| ComNVlrDs2 | NÚMERO | Valor de desconto 02 | N |
| ComNVlrDs3 | NÚMERO | Valor de desconto 03 | N |
| ComNVlrDs4 | NÚMERO | Valor de desconto 04 | N |
| ComNVlrDs5 | NÚMERO | Valor de desconto 05 | N |
| ComNPerDs1 | NÚMERO | Percentual de desconto 01 | N |
| ComNPerDs2 | NÚMERO | Percentual de desconto 02 | N |
| ComNPerDs3 | NÚMERO | Percentual de desconto 03 | N |
| ComNPerDs4 | NÚMERO | Percentual de desconto 04 | N |
| ComNPerDs5 | NÚMERO | Percentual de desconto 05 | N |
| ComNPerOf1 | NÚMERO | Percentual de oferta 01 | N |
| ComNPerOf2 | NÚMERO | Percentual de oferta 02 | N |
| ComNVlrIpi | NÚMERO | Valor de IPI | N |
| ComNQtdIte | NÚMERO | Quantidade de itens | N |
| ComNPreUni | NÚMERO | Preço unitário | N |
| ComNVlrFei | NÚMERO | Valor de frete de importação | N |
| ComNVlrSei | NÚMERO | Valor de seguro de importação | N |
| ComNVlrOui | NÚMERO | Valor de outras despesas de importação | N |
| ComNVlrFre | NÚMERO | Valor do Frete | N |
| ComACifFob | ALFA | Indicativo se o valor do frete é CIF ou FOB | N |
| ComASomFre | ALFA | Soma frete | N |
| ComNVlrSeg | NÚMERO | Valor do Seguro | N |
| ComNVlrEmb | NÚMERO | Valor da Embalagem | N |
| ComNVlrEnc | NÚMERO | Valor de Encargos | N |
| ComNVlrOut | NÚMERO | Valor de Outros | N |
| ComNVlrDar | NÚMERO | Valor de arredondamento | N |
| ComNVlrFrd | NÚMERO | Valor de frete destacado | N |
| ComNVlrOud | NÚMERO | Valor de Outras despesas destacado | N |
| ComACodDep | ALFA | Código do depósito | N |
| ComAUfsCic | ALFA | Sigla do estado base para o cálculo do ICMS | N |
| ComACodLot | ALFA | Código do lote | N |
| ComACodStr | ALFA | Código da situação tributária | N |
| ComNSeqEnt | NÚMERO | Sequência endereço de entrega | N |
| ComNFilPed | NÚMERO | Filial do pedido | N |
| ComNNumPed | NÚMERO | Número do pedido | N |
| ComNSeqIpd | NÚMERO | Sequência do item do produto no pedido | N |
| ComNSeqIsp | NÚMERO | Sequência do item de serviço no pedido | N |
| ComNFilNfc | NÚMERO | Filial da nota fiscal de compra | N |
| ComNForNfc | NÚMERO | Fornecedor da nota fiscal de compra | N |
| ComNNumNfc | NÚMERO | Número da nota fiscal de compra | N |
| ComASnfNfc | ALFA | Série da nota fiscal de compra | N |
| ComNSeqItc | NÚMERO | Sequência do item do produto na nota fiscal de compra | N |
| ComNIcmAor | NÚMERO | Alíquota de ICMS partilhado com o estado remetente | S |
| ComNIcmVor | NÚMERO | Valor do ICMS partilhado com o estado remetente | S |
| ComNIcmAde | NÚMERO | Alíquota de ICMS partilhado com o estado destinatário | S |
| ComNIcmVde | NÚMERO | Valor do ICMS partilhado com o estado destinatário | S |
| ComNIcmBde | NÚMERO | Valor base do ICMS partilhado com o estado destinatário | S |
| ComNIcmAfc | NÚMERO | Alíquota do ICMS Fundo de combate à pobreza (FCP) | S |
| ComNIcmVfc | NÚMERO | Valor do ICMS Fundo de combate à pobreza (FCP) | S |
| ComNTipBda | NÚMERO | Tipo da base de cálculo do diferencial de alíquota do ICMS. | N |
| ComNIcmBfc | NÚMERO | Base de cálculo do FCP na UF de destino (Difal) | S |
Regra:
Definir Numero ComNCodEmp; @Empresa@
Definir Numero ComNCodFil; @Filial@
Definir Alfa ComAUfsDes; @UF de Destino@
Definir Alfa ComACodPro; @Produto@
Definir Data ComDDatEmi; @Data de Emissão@
Definir Numero ComNIcmBde; @Base de cálculo do ICMS Partilha na UF de Destino@
Definir Numero ComNIcmAde; @Percentual do ICMS Partilha na UF de Destino@
Definir Numero ComNIcmVde; @Valor do ICMS Partilha na UF de Destino@
Definir Numero ComNIcmAfc; @Percentual do ICMS do Fundo de Combate à Pobreza@
Definir Numero ComNIcmVfc; @Valor do ICMS do Fundo de Combate à Pobreza@
Definir Numero ComNIcmOpe; @Alíquota de ICMS Interestadual da operação de venda@
Definir Numero ComNIcmInd; @Alíquota de ICMS interna na UF de Destino@
Definir Numero ComNIcmProvOri; @Percentual de ICMS provisório para partilha na UF de Origem@
Definir Numero ComNIcmProvDes; @Percentual de ICMS provisório para partilha na UF de Destino@
Definir Cursor Cursor_LigacaoProdutoEstado; @Verifica se existe ligação do produto com o estado de destino@
Cursor_LigacaoProdutoEstado.SQL "SELECT E070PSE.Usu_RedIcm, E070PSE.Usu_TemIcm \
FROM E070PSE \
WHERE E070PSE.CodEmp = :ComNCodEmp AND \
E070PSE.CodFil = :ComNCodFil AND \
E070PSE.DatIni = (SELECT MAX(E070PSE.DatIni) \
FROM E070PSE \
WHERE E070PSE.DatIni <= :ComDDatEmi) AND \
E070PSE.SigUfs = :ComAUfsDes AND \
E070PSE.CodPro = :ComACodPro";
Cursor_LigacaoProdutoEstado.AbrirCursor();
Se(Cursor_LigacaoProdutoEstado.Achou)
Inicio
@Se na ligação foi definido que o produto é isento de ICMS na UF de Destino, então@
@zera os valores do ICMS partilha de destino e também do ICMS de Fundo de Combate à Pobreza@
Se (Cursor_LigacaoProdutoEstado.Usu_TemIcm = "N")
Inicio
ComNIcmBde = 0;
ComNIcmAde = 0;
ComNIcmVde = 0;
ComNIcmAfc = 0;
ComNIcmVfc = 0;
Fim;
Senao
Inicio
@Se foi informado um percentual de redução para base de cálculo do ICMS Partilha na UF de Destino@
@então calcula-se o novo valor da base de cálculo e valor do ICMS de Partilha da UF de Destino@
Se (Cursor_LigacaoProdutoEstado.Usu_RedIcm > 0)
Inicio
ComNIcmBde = (ComNIcmBde * (1 - (Cursor_LigacaoProdutoEstado.Usu_RedIcm / 100)));
ComNIcmVde = (ComNIcmBde * (ComNIcmAde / 100));
@Ao alterar a base de cálculo da UF de destino, deve-se recalcular o valor do ICMS@
@destinado ao fundo de combate à pobreza que compartilha a mesma base de cálculo@
ComNIcmVfc = (ComNIcmBde * (ComNIcmAfc /100));
Fim;
Fim;
Fim.
Atenção
Caso o parâmetro global LisVarReg esteja habilitado, a variável ListaVariaveis estará disponível em todos os identificadores de regras do sistema. O conteúdo desta variável lista os campos disponibilizados no identificador de regras em questão.
Não é aconselhada a ativação desse parâmetro global para o uso cotidiano. Esse recurso de listagem dos campos de identificadores auxilia a construção de regras e o Suporte para, por exemplo, depuração ou quando não houver acesso à documentação dos identificadores de regras.
English
Español
English
Español


