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.