Identificador de Regra

GER-000CRAVR01

Módulo: GER - Gerais.

Finalidade: No processo do rateio montar o rateio via regra através da função "AdicionaRateioRegra".

Características: Variáveis adicionadas a partir da versão: 5.6.2.1:

VSRATValorBase;
VSRATCriterio;
VSRATDataBase;
VSRATMesAno;
VSRATCtaClassificar;
VSRATCtbClassificar;
VSRATCcuClassificar;
VSRATTransacao;
VSRATChaveOrigem;
VSRATOrigem;
VSRATTipoRateio;
VSRATTipoValor;
VSRATOperacaoRateio;
VSRATPrecisao;
VSRATProduto;
VSRATServico;
VSRATDerivacao;
VSRATComplemento;
VSRATSequencia;
VSRATTipoNatContas;

Tela: Todas

Transação: Pode estar ligado à transação.

Regra:

Esse exemplo irá definir o rateio do título por tipo de imposto.

DEFINIR NUMERO VSRATValorBase;
DEFINIR ALFA VSRATCriterio;
DEFINIR DATA VSRATDataBase;
DEFINIR DATA VSRATMesAno;
DEFINIR NUMERO VSRATCtaClassificar;
DEFINIR NUMERO VSRATCtbClassificar;
DEFINIR ALFA VSRATCcuClassificar;
DEFINIR ALFA VSRATTransacao;
DEFINIR ALFA VSRATChaveOrigem;
DEFINIR ALFA VSRATOrigem;
DEFINIR ALFA VSRATTipoRateio;
DEFINIR ALFA VSRATTipoValor;
DEFINIR ALFA VSRATOperacaoRateio;
DEFINIR NUMERO VSRATPrecisao;
DEFINIR ALFA VSRATProduto;
DEFINIR ALFA VSRATServico;
DEFINIR ALFA VSRATDerivacao;
DEFINIR ALFA VSRATComplemento;
DEFINIR NUMERO VSRATSequencia;
DEFINIR ALFA VSRATTipoNatContas;

@variáveis aux@
DEFINIR NUMERO xEmpresa;
DEFINIR ALFA xTitulo;
DEFINIR ALFA xTipoTitulo;
DEFINIR NUMERO xTipoImposto;
DEFINIR ALFA xCursor;
DEFINIR ALFA xSqlAux;
DEFINIR ALFA xChaveOrigemAux;

@transação de imposto@
se (VSRATTransacao = "90508")
inicio
xSqlAux = "SELECT TIPIMP FROM E501TCP WHERE " +
"E501TCP.CodEmp = :xEmpresa AND " +
"E501TCP.CodFil = :xFilial AND " +
"E501TCP.NumTit = :xTitulo AND " +
"E501TCP.CodTpt = :xTipoTitulo AND " +
"E501TCP.CodFor = :xFornecedor ";

xEmpresa = 0;
xFilial = 0;
xTitulo = "";
xTipoTitulo = "";
xFornecedor = 0;
xChaveOrigemAux = VSRATChaveOrigem;
PosicaoAlfa(";", xChaveOrigemAux, xPosicao);
enquanto (xPosicao > 0)
inicio
CopiarAlfa(xChaveOrigemAux, 1, xPosicao-1);
se (xEmpresa = 0)
AlfaParaInt(xChaveOrigemAux,xEmpresa);
senao
se (xFilial = 0)
AlfaParaInt(xChaveOrigemAux,xFilial);
senao
se (xTitulo = "")
xTitulo = xChaveOrigemAux;
senao
se (xTipoTitulo = "")
xTipoTitulo = xChaveOrigemAux;
senao
se (xFornecedor = 0)
AlfaParaInt(xChaveOrigemAux,xFornecedor);

DeletarStr(VSRATChaveOrigem, 1, xPosicao);
PosicaoAlfa(";", VSRATChaveOrigem, xPosicao);
xChaveOrigemAux = VSRATChaveOrigem;
fim;

SQL_Criar(xCursor);
SQL_DefinirComando(xCursor,xSqlAux);
SQL_DefinirInteiro(xCursor,"xEmpresa",xEmpresa);
SQL_DefinirInteiro(xCursor,"xFilial",xFilial);
SQL_DefinirAlfa(xCursor,"xTitulo",xTitulo);
SQL_DefinirAlfa(xCursor,"xTipoTitulo",xTipoTitulo);
SQL_DefinirInteiro(xCursor,"xFornecedor",xFornecedor);
SQL_AbrirCursor(xCursor);
enquanto (SQL_EOF(xCursor) = 0)
inicio
SQL_RetornarInteiro(xCursor,"TIPIMP",xTipoImposto);

SQL_Proximo(xCursor);
fim;
SQL_Destruir(xCursor);

se (xTipoImposto = 10)
AdicionaRateioRegra(50,1,2190,0,100,VSRATValorBase,"40",100,VSRATValorBase,"");
fim;

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
VSRATValorBase NÚMERO Indica qual o valor/quantidade para fechamento do rateio N
VSRATCriterio ALFA Indica qual o critério para busca dos rateios definidos N
VSRATDataBase DATA Indica qual é a data base para atualização do plano financeiro. N
VSRATMesAno DATA É automaticamente calculado após informar a DataBase. Serve para facilitar a atualização do saldo financeiro (caso for necessário atualizar) N
VSRATCtaClassificar NÚMERO Indica qual a conta financeira a classificar N
VSRATCtbClassificar NÚMERO Indica qual a conta contábil a classificar N
VSRATCcuClassificar ALFA Indica qual é o centro de custo a classificar N
VSRATTransacao ALFA Código da transação passado para o rateio N
VSRATChaveOrigem ALFA Contém o valor da chave da tabela de rateio que está sendo rateada. N
VSRATOrigem ALFA Nome da tabela de rateio que está sendo rateada. N
VSRATTipoRateio ALFA Indica qual é o tipo do rateio: Valores: FINANCEIRO - Possui plano financeiro ligado a empresa. CONTABIL - Não possui plano financeiro, mas possui plano contábil ligado a empresa. CENTRO CUSTO - Não possui plano financeiro e contábil, mas possui plano de centro de custos ligado a empresa. N
VSRATTipoValor ALFA Indica qual é o tipo do valor para fechamento. Valores: VALOR - Utilizado em todo o financeiro e parte do comercial. QUANTIDADE - Utilizado em parte do comercial para ratear produtos/serviços. N
VSRATOperacaoRateio ALFA Indica qual é o tipo da operação do rateio. Valores: INCLUSÃO - O rateio está sendo incluído. ALTERAÇÃO - O rateio está sendo alterado. EXCLUSÃO - O rateio está sendo excluido. CONSULTA - O rateio somente está sendo consultado, o usuário não possui permisão para alterar o rateio ou o mesmo está contabilizado. N
VSRATPrecisao NÚMERO Indica qual é a precisão decimal para o fechamento do rateio. N
VSRATProduto ALFA Indica qual é código do produto do item do rateio a ser rateado. N
VSRATServico ALFA Indica qual é o código do serviço do item do rateio a ser rateado N
VSRATDerivacao ALFA Indica qual é o código da derivação do item do rateio a ser rateada N
VSRATComplemento ALFA Indica qual é o complemento do item do rateio a ser rateado N
VSRATSequencia NÚMERO Indica qual é a sequencia do item do rateio a ser rateado N
VSRATTipoNatContas ALFA Indica qual é o tipo da natureza das contas, é utilizado na consistências das contas e atualização do saldo financeiro. Valores: CREDORA - Contas de receitas. DEVEDORA - Contas de despesas. N
VSRATFornecedor Número Indica qual é o código do fornecedor do item do rateio a ser rateado. N
VSRATCentroCusto Alfa Indica qual é código do centro de custo do item do rateio a ser rateado. 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.

Este artigo ajudou você?