Identificador de Regra
CPR-000CONIT03
Módulo: CPR - Compras.
Finalidade: Consistir as informações de um item de produto ou serviço de uma ordem de compra ou nota fiscal de entrada, permitindo bloquear a gravação ou alteração do mesmo.
- O objetivo desse identificador é substituir a execução do CPR - 000CONIT01 nas rotinas de Ordens de Compra e Notas Fiscais de Entrada, quando o novo identificador estiver cadastrado e ativo. Caso contrário, será mantida execução do identificador antigo;
- Para acessar o conteúdo das tabelas, é necessário informar TABELA.CAMPO, conforme exemplo de regra mais abaixo.
Observação
O identificador de regra CPR-000CONIT03 é acionado durante a inserção ou alteração de itens, como mudanças no produto, CST, quantidade, etc. No entanto, quando ocorre apenas uma alteração nos valores do item, sem modificação nos seus atributos, esse identificador não é acionado. Esse comportamento também se aplica quando os valores são recalculados por meio do botão de Cálculos, já que o item permanece o mesmo, apenas seus valores são ajustados.
Para validação dos valores dos itens, o sistema possui identificadores de regra específicos para cada imposto, como ICMS, IPI, IRRF, entre outros, que permitem realizar essas consistências. Esse comportamento se aplica a todos os documentos de mercado e suprimentos que utilizam os identificadores "000CONIT0", como pedidos, ordens de compra, notas de entrada e saída.
Portanto, caso seja necessário validar os valores, será necessário utilizar outros identificadores apropriados para essa função.
Telas onde o identificador é executado e as particularidades de cada execução
- Na inserção do item os dados podem ser obtidos via regra, porém o item ainda não encontra-se calculado;
- Na alteração do item os dados podem ser obtidos via regra, porém o item ainda não encontra-se recalculado.
- Obs.: Caso exista a necessidade de obter informações do item já calculado/recalculado nesta tela pode-se utilizar o identificador de regras CPR-000CONIT02.
- Na inserção do item os dados podem ser obtidos via regra, sendo que o item já encontra-se calculado.
- Na alteração do item os dados podem ser obtidos via regra, porém o item ainda não encontra-se recalculado.
- Na inserção do item os dados podem ser obtidos via regra, sendo que o item já encontra-se calculado.
- Na alteração do item os dados podem ser obtidos via regra, porém o item ainda não encontra-se recalculado.
- Na inserção do item os dados podem ser obtidos via regra, sendo que o item já encontra-se calculado;
- Na alteração do item os dados podem ser obtidos via regra, sendo que o item já encontra-se recalculado.
- Na transferência do item para a NFE os dados podem ser obtidos via regra, sendo que o item já encontra-se calculado.
- Na transferência do item para a NFE os dados podem ser obtidos via regra, sendo que o item já encontra-se calculado.
- Na inserção do item os dados podem ser obtidos via regra, porém o item ainda não encontra-se calculado;
- O campo código da tabela de preço é preenchido no item da OC, apenas quando a seleção do preço para ordem de compra for igual a Tabela de Preço.
Características:
- A vantagem do uso do novo identificador é com relação a melhora de performance, já que foi utilizada uma nova forma para passagem de parâmetro do conteúdo da tabela para a regra. Essa mudança ocasionou quebra de compatibilidade da regra, pois a forma de acessar o conteúdo dos campos da tabela é diferente.
- Além das variáveis citadas acima ainda estão disponíveis também as seguintes variáveis de controle:
- VSOrigem = OC - Ipo (OC de Produto) / OC - Iso (OC de Serviço);
- NE - Ipc (Nota de Entrada de Produto) / NE - Isc (NE Serviço);
- VSEstado = INSERINDO / ALTERANDO;
- VSBloIte = (caso a variável for retornada com valor diferente de zero a gravação do item será abortada);
- O conteúdo da tabela de dados gerais também poderá ser acessado no mesmo formato dos itens, ou seja TABELA.CAMPO, sendo a tabela E420OCP (para ordem de compra) e E440NFC (para nota fiscal de entrada).
Transação: Não se aplica.
Regra
Definir alfa VSOrigem;
Definir alfa VSEstado;
Definir alfa aCodEmp;
Definir alfa aCodFil;
Definir alfa aNumOcp;
Definir alfa aCodFor;
Definir alfa aMsg;
IntParaAlfa (E420OCP.CodEmp, aCodEmp);
IntParaAlfa (E420OCP.CodFil, aCodFil);
IntParaAlfa (E420OCP.NumOcp, aNumOcp);
IntParaAlfa (E420OCP.CodFor, aCodFor);
aMsg = VSEstado+"-Empresa: "+aCodEmp+", Filial: "+aCodFil+ ", Ordem: " + aNumOcp + ",Fornecedor: " + aCodFor;
Se (VSOrigem = "OC-Ipo")
aMsg = aMsg + ", Produto: " + E420IPO.CodPro + ", Derivação: " + E420IPO.CodDer;
Senao
aMsg = aMsg + ", Servico: " + E420ISO.CodSer;
Mensagem(retorna,aMsg);
Variáveis Disponibilizadas:
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
VSTelaOrigem | ALFA | Permite ao usuário distinguir qual a origem do processo que está executando a regra. Pode receber o valor CANCELA para identificar uma rotina interna do sistema. | N |
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.