Identificador de Regra
CPR-000CONIT01
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. São passadas para o identificador de regra, todas as variáveis dos itens no formato "VS + NOME_DO_CAMPO". As variáveis dos dados gerais da nota fiscal de entrada e da ordem de compra deverão ser declaradas, quando necessário o uso, como "VS + DG + NOME_DO_CAMPO".
Observação
O identificador de regra CPR-000CONIT01 é 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, porém o item ainda não encontra-se calculado;
- Na alteração do item os dados podem ser obtidos via regra, sendo que o item já 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, 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.
- 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, 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 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.
Diferença entre os identificadores CPR-000CONIT01 e CPR-000CONIT02
Executado antes do cálculo/recálculo do item.
Executado após o cálculo/recálculo do item.
Características:
- Os tipos das variáveis na regra devem ser respeitados, conforme o tipo do campo na base de dados (alfa ou número);
- Além das variáveis citadas acima, estão também disponíveis as de controle abaixo:
- VSOrigem = OC (ordem de compra ) / NFE (nota fiscal de entrada);
- VSEstado = INSERINDO / ALTERANDO;
- VSBloIte = (caso a variável for retornada com valor diferente de zero a gravação do item será abortada).
- Os campos a seguir possuem nomenclatura diferenciada para compatibilizar este identificador de regra com as demais rotinas do sistema. Portanto, devem ser consideradas as variáveis abaixo:
VSSeqIpc = VSSeqIte
VSNumNfc = VSNumero
VSQtdRec = VSQtdAde
VSDGNumNfc = VSDGNumero
VSDGQtdRec = VSDGQtdAde
VSSeqIsc = VSSeqIte
VSNumNfc = VSNumero
VSQtdRec = VSQtdAde
VSDGNumNfc = VSDGNumero
VSDGQtdRec = VSDGQtdAde
VSSeqIpo = VSSeqIte
VSNumOcp = VSNumero
VSQtdPed = VSQtdAde
VSDGNumOcp = VSDGNumero
VSDGQtdPed = VSDGQtdAde
VSSeqIso = VSSeqIte
VSNumOcp = VSNumero
VSQtdPed = VSQtdAde
VSDGNumOcp = VSDGNumero
VSDGQtdPed = VSDGQtdAde
Transação: Não se aplica.
Regra:
definir alfa VSTnsPro;
se (VSTnsPro = "1101")
inicio
se(CodUsu = 15)
inicio
mensagem(erro, "Esta transação não pode ser utilizada. Alterar");
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.