Identificador de Regra
COM-000SIGUF01
Módulo: COM - Comercial.
Finalidade: sugerir/alterar a UF do documento (nota fiscal de saída e pedido) para atender regras de tributação de acordo com o indicativo de venda presencial, por exemplo o RICMS/PR (parágrafo 12, artigo 17). Ao informar o Ind. Presencial, o ERP realiza a busca da UF de tributação utilizando o identificador de regra. Se a UF retornada for igual à UF da filial, os impostos serão calculados como uma venda interna, independentemente da UF do cliente.
Características: pode ser executado sempre que a UF for definida em pedidos e notas fiscais de saída quando o documento receber ou já possuir a informação do indicativo de venda presencial para atender as regras de tributação. A UF do documento é sugerida/alterado de acordo com a regra ligada ao identificador.
Quando ativo na tela F661I10, nos impostos tipos 34, 63 e 64 será considerado o Estado do Cálculo do ICMS (E660NFC/E660NFV.UfsCic) em vez do estado do cliente/destinatário da nota.
Importante
O sistema considerará os parâmetros por estado (F009PPE) e demais parametrizações de impostos, com base na UF retornada pela regra ligada a este identificador.
Telas: pedidos (F120GPD), notas (F140LOT e F140PRE)
Transação: não se aplica.
Variáveis disponibilizadas:
Nome | Tipo | Observações | Retorna valor |
---|---|---|---|
ComNCodCli | NUMERO | Código do cliente | N |
ComNSeqEnt | NÚMERO | Sequência do endereço de entrega padrão do cliente | N |
ComAIndPre | ALFA | Indicativo de venda presencial | N |
ComASigUfs | ALFA | Sigla do Estado | S |
ConNSeqPen | Número | Sequência do endereço do participante da entrega. Essa variável tem valor apenas quando está sendo gerado um CTE na tela Preparação de CTRC (F140COL). Além disso, ela representa o campo SeqPen da tabela Vendas - Notas Fiscais de Saída - Dados Gerais (E140NFV). |
N |
Regra:
Definir Numero ComNCodCli; Definir Numero ComNSeqEnt; Definir Alfa ComAIndPre; Definir Alfa ComASigUfs; Definir alfa vCursor; Definir alfa vSql;
Inicio SQL_Criar(vCursor); vSql = "SELECT ESTENT " + " FROM E085ENT " + " WHERE CODCLI = :CODCLI " + " AND SEQENT = :SEQENT"; SQL_DefinirComando(vCursor, vSql); SQL_DefinirInteiro(vCursor, "CODCLI", ComNCodCli); SQL_DefinirInteiro(vCursor, "SEQENT", ComNSeqEnt); SQL_AbrirCursor(vCursor); Se ((SQL_EOF(vCursor) = 0) e (ComAIndPre = "1")) Inicio SQL_RetornarAlfa(vCursor, "ESTENT", ComASigUfs); Fim; SQL_FecharCursor(vCursor); SQL_Destruir(vCursor); Fim;