OBJETIVO

Otimizar o processo e autonomia do trabalho

UTILIZAÇÃO

No módulo "Planejamento Orçamentário", menu Processos, foram adicionados o item "Reajuste de Verbas", o submenu "Integração do Planejamento Orçamentário" e, dentro deste, os itens Importação e Exportação, conforme a Figura 1: 

Figura 1 - Novos Itens no Menu

Exportação

Ao preencher o Ano Base e selecionar a pasta de destino da planilha, clique em OK para exportar as verba (veja a Figura 2 abaixo).

A filial a ser considerada é sempre a ativa. Se estiver ativada a Consolidadora, então todas as filiais desta serão consideradas.

Figura 2 - Exportação do Planejamento Orçamentário

 

O arquivo será gerado com a seguinte nomenclatura "Verbas_Ano_Data_Hora.CSV". Exemplo: Verbas_2020_22-03-2021_17h07.csv, indicando que o arquivo contém os registros de 2020 e foi gerado às 17:07 do dia 22/03/2021. O caminho completo do arquivo é exibido na mensagem de sucesso da geração, demonstrada na Figura 3:

Figura 3 - Caminho do Arquivo Gerado

O layout do arquivo exportado é: primeira linha para os títulos das colunas e demais para os valores.

Título das colunas: ano_base; filial; codigo_conta; centro_custos; m01; m02; m03; m04; m05; m06; m07; m08; m09; m10; m11; m12; perc_reducao; codigo_projeto1; codigo_projeto2; codigo_projeto3; codigo_projeto4; chk_verb_mensal

 

Figura 4 - Planilha do Planejamento Orçamentário

 

Importação

Após editar as informações na planilha exportada e salvar o arquivo com a mesma quantidade e nome das colunas originais, você pode abrir a janela de importação (Figura 5 abaixo) para selecionar o arquivo e clicar em OK para importar os registros.

Figura 5 - Importação do Planejamento Orçamentário

b) Importação dos dados para a tabela “ovb”.
Validação/consistência do dados (Ruth):
ano_base: deve ser único em todos os registos e igual ao ano da data ativa no sistema
filial: deve corresponder ao código da filial no sistema

Parâm. Plan. Orça. > Controle Verbas Por:
0 e 1 - conta é obrigatória deve existir para o ano; não importar c.c e projetos;
2 - (mesmo que 0,1) + cc obrig. e deve existir;
3 - (mesmo que 2) + o prj 1 é obrig. e deve existir;
Verificar o tipo de controle da conta contábil
- Impedir atualizar ano anterior a data ativa do sistema? (Ruth):
Permitir importar apenas para o ano ativo e pedir confirmação; validar se o ano dos registros bate;
Ruth: exportar CSV com inconsistências;

 

Caso já exista alguma verba cadastrada para o Ano Base que você está importando, será exibida a mensagem de confirmação da Figura 6:

Figura 6 - Mensagem de Verbas Existentes

Só serão substituídas as verbas que tiverem as mesmas informações que identificam o registro, conforme o cadastro Parâmetros do Planejamento.

Exemplo:

 

Caso algum registro tenha dados inconsistentes, em relação aos cadastros do ERP, o processo será cancelado e exibirá a mensagem da Figura 

 

Figura 7 - Mensagem de Inconsistência

 

Figura 8 - Arquivo Gerado das Inconsistências

 

Figura 9 - Planilha com Inconsistências

 

 

Figura 10 - Importação com Sucesso

 

 

Pra este tipo de importação, se der erro em 1 registro cancelo a importação inteira? Gabriel: Sim; Ruth: Não - perguntar para o usuário cancelar a importação;
O aquivo para importação deverá conter o mesmo ano em todos os registros, certo? Gabriel: Sim; Ruth: Sim

Permitir importar OVB sem correlação com o PLC? Não será possível filtrar a conta no Reajuste. Ela é obrigatória no cadastro da OVB. Ruth: Deve validar
select o.codigo_conta, p.nome_conta
from ovb o
inner join plc p on p.codigo_conta = o.codigo_conta and p.ano = o.ano_base
where o.ano_base = '2019' and classe like 'A%'
order by o.codigo_conta, p.nome_conta ]

Exclusão
Iremos executar deletes antes pra sobrepor os registros se já existirem? Impedir sobrepor se tiver algum uso / lançamento / fechamento (frmOvb.VerificaIntegridade()) ? Gabriel: Fazer select antes e questionar o usuário. Ruth: Apenas verificar se o ano bate e questionar;
Deletar todos os registros para o ano/filiais do arquivo ou apenas os registros com chave idêntica?Ruth: Sobrepor apenas os registros que constarem na planilha - não excluir os outros; (delete where exists); Caso algum projeto seja diferente, irá incluir um novo registro.

 

Importaremos o CSV atualizado para um ano, com dados de N filiais para atualizar 1-N filiais? Gabriel: Sim, criará/substituirá os dados.Ruth: OK
Incluir o ano se não existir (ovb_ano)? O cadastro inclui (SalvarPAntes()).

O formato do arquivo a ser importado deve sempre ser “CSV”, respeitando o mesmo layout do arquivo exportado, i.e., primeira linha para os títulos das colunas e demais para os valores.
Deve-se respeitar também a estrutura das colunas, conforme informativo na própria janela a ser criada.


ET2
Para a importação do arquivo CSV, basear-se no formulário frmImportPreco, nos trechos de código que fazem a leitura do arquivo "txt". No nosso caso será um CSV, mas da mesma forma, com separação por ponto-e-vírgula.
Atenção para que o sistema ignore a primeira linha do arquivo, visto tratar-se da linha de título das colunas.
utilizar buffer para inserts
'Criado com base na sub modDCOMP2.ImportaArquivoPRDSLT_CLI() - ERP-25711#1.4 / ERP-58673#1.1

c) Local para chamada:
Criar menu para a chamada das referidas janelas: Planejamento Orçamentário > Processos > Integração do Planejamento Orçamentário

 

Verificação de Inconsistências

Filial: deve existir

Conta Contábil: deve existir e ser analítico

Centro de Custo: deve existir, ser analítico e estar ativo

 

Reajuste


Atualização de Verbas Orçamentárias

Criar tela para processamento de atualização dos valores das verbas orçamentárias.

 

Figura 11 - Reajuste de Verbas por Centro de Custos

 

Figura 12 - Orçamento de Verbas sem Reajuste

 

Figura 13 - Orçamento de Verbas Reajustado

 

Figura 14 - Reajuste de Verbas por Projeto

 

 

Ano base: consulta F3 do ano (tabela ovb**); campo obrigatório.
[Um ano por vez, certo? Gabriel: Sim Ruth: OK
Pode atualizar ano/mês retroativo/anterior à data ativa? Ruth: Validar somente se é o ano da data ativa; ]

Filial: consulta <F3> (tabela ovb **) podendo ser selecionada mais de uma filial apenas, pois cada uma pode ter uma forma de controle de verbas diferente; campo obrigatório.
[Entre as filiais ativas (cfi_at (igual ao FiltroInicial do cadastro); se estiver ativada a Consolidadora, então todas as filiais desta serão consideradas), certo?] Ruth: OK

Conta contábil: consulta <F3> (tabela ovb **) podendo ser selecionada mais de uma conta contábil; campo obrigatório.
[Por que obrigatório? Não pode atualizar todas com um %? Ruth: Não - é obrigatória. Permitir selecionar N.
Somente Analíticas? (classe like ''A%'') Ruth: Sim

Centro de Custos: consulta <F3> (tabela ovb **); podendo ser selecionado mais de um centro de custos.
Ruth: Filtrar as contas contábeis selecionadas no campo acima; Rogerio: Não podemos filtrar, pois o campo Conta de Absorção é opcional no Centro de Custo. Ou seja, você pode ter verbas com a conta contábil e o centro de custo (Parâmetro “Controle Verbas Por = 2 - Centro de Custos” - caso da Isoclean) as quais você irá selecionar para o reajuste, mas não existe associação entre as contas e os centros de custos para o filtro. Ruth: Filtrar na própria tabela OVB;
(where o.ano_base = '2021' and c.flag_ativo = 'S' and c.analit_sint like 'A%')
['analit_sint','flag_ativo','ck_exige_projeto','ctc_bloqueado','ctc_data_bloqueio', ctc_sano / distinct on]

Projeto [ 1~4 ]: consulta <F3> (tabela ovb **); podendo ser selecionado mais de um projeto, do respectivo nível.
Os campos de projeto são exibidos de acordo com a configuração realizada em Parâmetros da Contabilidade, Níveis de Projetos.
Os nomes (legendas) dos campos também seguirão aqueles parametrizados em Parâmetros da Contabilidade.
Além disso, se o parâmetro “Utiliza ‘níveis filhos’ de projeto”, desta mesma janela, estiver ativado, o sistema respeitará os níveis quando do <F3> nos campos de projeto.
Gabriel: Exemplo: mvi, scoit, pcoit (F3)
[Gabriel: Atualizar a janela no carregamento - exibição de legenda e níveis; filtro de acordo com o param - ctcRetornaSQLProjeto2]
Ruth: Exibir de acordo com o param. Controle Verbas Por, igual no Cadastro
Parâm. Plan. Orça. > Controle Verbas Por:
0,1: oculto cc e proj
2 - cc é obrig.; oculto proj
3 - (mesmo que 2) e obrigar 1 proj

* No cadastro, filtra: WHERE cprj.projeto_bloqueado = false and cprj.cprj_tipo = 1 and (exists (select 0
from cprj_ctc where cprj_ctc.ano = '2021' and cprj_ctc.cprj_codigo = cprj.cprj_codigo and cprj_ctc.codigo_centro = '1.0001')

Meses: consulta <F3>. Meses a serem reajustados, podendo ser selecionado mais de um.
[Se não selecionar, atualizo todos? Gabriel: Sim] Ruth: Pedir confirmação do usuário;

% Reajuste: campo “perc_reajuste_verba”; tipo: numérico, tamanho indefinido por ser numérico, 3 casas decimais, % sempre maior que zero.
[Obrigatório, certo? Gabriel: Sim] Ruth: OK

Botão OK (processar): inicia o processo de cálculo e atualização. Mensagem ao usuário: Deseja prosseguir com o cálculo? Após processado não poderá mais ser revertido.

[- O processo de reajuste (em %) será um update na ovb, onde os meses selecionados correspondem às colunas que devem ser atualizadas (m01 a m12)? Gabriel: Sim OK
As colunas m01real a m12real também terão alguma atualização? Gabriel: Não] Ruth: OK

**tais campos devem exibir apenas os registros contidos na tabela de orçamento (ovb), pelo Ano Base escolhido, e não as opções contidas em suas respectivas tabelas. Por exemplo, os centros de custo a serem exibidos não são aqueles da tabela “ctc”, mas sim aqueles contidos em registros da tabela “ovb” cujo ano base é o informado.

ET3
atenção à peculiaridade do F3 nos campos conforme DUM. Faça um Select Distinct na OVB para tal. Ex.: select distinct centro_custos from ovb where ano_base = 'xxxx'
idem para os campos dos Projetos, para exibir e também para o F3, conforme regra do DUM.
Para o cálculo: as colunas a serem consideradas, pelo que o DUM chama de "valor reajustado" e "valor antigo", são as colunas "m*" ta tabela ovb.
Veja que para cada mês há uma coluna "m": m01, m02, m03 etc.
gravar log do processo (não precisa ser de cada linha processada, pode ser um log geral registrando que foi feito o processo).


Cálculo para atualização das verbas:
Fórmula para cálculo: Valor reajustado = valor antigo x [1+(% reajuste/100)]
Exemplo: Reajustar as verbas da conta contábil 3.2.1.02.0002 -> VALE REFEIÇÃO, do centro de custos 1.0073 -> VENTURUS (GLOBALTECH) de R$ 1.000,51 usando o percentual de reajuste de 8,71% para os meses de Julho à Dezembro 2020.

 

Valor reajustado = valor antigo x [1+(% reajuste/100)]

= R$ 1.000,51 x [1+(8,71/100)]
= R$ 1.000,51 x 1,0871
= R$ 1.087,65
Atenção: para consultar os valores processados o usuário deverá acessar a tela de Verbas/Orçamento.