Árvore de páginas


ÍNDICE

  1. Visão Geral
  2. Detalhamento

01. VISÃO GERAL

Seu arquivo FORMULAS.INI ou seu cadastro de fórmulas deve conter uma nova linha que diz respeito ao cálculo do BRIX quinzenal do fornecedor. Este cálculo é o ponto de apoio para comparação ao obter-se a qualidade da cana por fazenda (individualmente). À partir dele o fator de qualidade é projetado e transformado em quilos de ATR.


02. DETALHAMENTO

Acrescentar a linha abaixo em seu arquivo FORMULAS.INI, na seção PCTS, caso esteja usando as fórmulas neste formato:

BRIX_Caldo=fNumberRound(IF_N(fFORMULA('BRIX') = 0, 0, fFORMULA('BRIX') * (1 - 0.01 * fFORMULA('FIBRA') ) ) , '#.##0,00')


Cadastrar a fórmula no Gerenciador de Utilidades caso esteja usando o armazenamento de fórmulas em banco (GERAIS / FG_ARMAZ_FORMUL = 2):


NOTA 01: Em função da circular de nº 17/2019 publicada em 16 de dezembro de 2019, será necessário ajuste na fórmula do cálculo do prêmio para remoção do arredondamento da versão anterior. Por gentileza, considere a nova versão:


BRIX_Caldo=IF_N(fFORMULA('BRIX_F') = 0, 0, fFORMULA('BRIX_F') * (1 - 0.01 * fFORMULA('FIBRA_F') ) )


Se você utiliza o cadastro de fórmulas do PIMS, não se esqueça de aplicar a mudança lá também.


NOTA 02: Por força das últimas circulares (33/18, 13/19 e 17/19), recomendamos ajuste nas fórmulas que calculam os fatores intermediários de obtenção do ATR. Esta recomendação visa maior precisão numérica. Isso se aplicará às fórmulas PBU, BRIX, POL, FIBRA, PEX, PZA, AR_CALC, AR_ATR, PCC e ATR da seção PCTS apenas. Se atente aos seguintes procedimentos:


  • Realize o backup do FORMULAS.INI original por medida de segurança.
  • Cada fórmula envolvida deverá ser, inicialmente, triplicada e depois a original comentada (#). Exemplo:

#PBU=fNumberRound( fFORMULA( 'INPUT[0]'), '#.##0,00')

PBU=fNumberRound( fFORMULA( 'INPUT[0]'), '#.##0,00')
PBU=fNumberRound( fFORMULA( 'INPUT[0]'), '#.##0,00')
PBU=fNumberRound( fFORMULA( 'INPUT[0]'), '#.##0,00')

  • Após isso, uma delas será renomeada para PBU_A (sufixo "_A") em referência ao cálculo com arredondamento (para consultas retroativas/históricas). Exemplo:

PBU=fNumberRound( fFORMULA( 'INPUT[0]'), '#.##0,00')
PBU_A=fNumberRound( fFORMULA( 'INPUT[0]'), '#.##0,00')
PBU=fNumberRound( fFORMULA( 'INPUT[0]'), '#.##0,00')

  • Renomear outra para PBU_F (sufixo "_F") em referência ao cálculo sem o arredondamento (para começar a vigorar à partir da nova safra):

PBU=fNumberRound( fFORMULA( 'INPUT[0]'), '#.##0,00')
PBU_A=fNumberRound( fFORMULA( 'INPUT[0]'), '#.##0,00')
PBU_F=fFORMULA( 'INPUT[0]')

  • Após isso, a fórmula sem sufixo (PBU) deverá ser modificada para conter um teste de período. Sua nova estrutura terá a seguinte forma:

PBU=IF_N(SalDateYear(gdWhere[0]) < 2020, fFORMULA('PBU_A'), fFORMULA('PBU_F') )

  • Ao final, você obterá o seguinte aspecto:

PBU_A=fNumberRound( fFORMULA( 'INPUT[0]'), '#.##0,00')
PBU_F=fFORMULA( 'INPUT[0]')
PBU=IF_N(SalDateYear(gdWhere[0]) < 2020, fFORMULA('PBU_A'), fFORMULA('PBU_F') )

  • Outro exemplo, agora com a fórmula da POL:

POL_A=fNumberRound(( (1.00621 * fFORMULA( 'INPUT[2]')) + 0.05117), '#.##0,00' )
POL_F=( (1.00621 * fFORMULA( 'INPUT[2]')) + 0.05117)
POL=IF_N(SalDateYear(gdWhere[0]) < 2020, fFORMULA('POL_A'), fFORMULA('POL_F') )


O último exemplo (POL), como podemos notar, possui valores fixos que podem variar de cliente para cliente, uma vez que ele é o detentor do arquivo FORMULAS.INI. Então, fornecemos acima apenas um modelo para a mudança geral.


IMPORTANTE: Em alguns casos esta mudança pode provocar lentidão na rotina de fechamento quinzenal devido ao alto volume de dados na instância ou ao baixo poder de processamento das unidades servidoras. Se isso passar a ocorrer, considere deixar as fórmulas apenas no flutuante. Entretanto, recomendamos avaliar se (a) é com frequência que dados de safras passadas são consultados e (b) se as diferenças mínimas provocadas pela ausência do arredondamento terá algum tipo de impacto em seu ambiente. Caso queira deixar tudo no flutuante, basta apenas remover os arredondamentos das fórmulas originais (citadas acima) mantendo seu nome intacto. Exemplo:

POL=( (1.00621 * fFORMULA( 'INPUT[2]')) + 0.05117)