Conciliação contábil é a ação de comparar os valores debitados e creditados nas contas de uma organização, para verificar a ocorrência de divergências tributárias e assegurar a precisão contábil. Por meio da comparação do que entra e do que sai, a empresa é capaz de verificar a existência de erros que possam comprometer os valores finais do balanço patrimonial ou fraudes e corrigi-los.
Hoje, os clientes que usam o Protheus fazem essa conciliação de valores por meio de softwares terceiros ou manualmente. Dependendo do tamanho da empresa, essa conciliação pode durar horas, dias ou semanas para ser concluída, além de estar sujeita a erro humano, já que é feita no “olhômetro”. A proposta da tela é solucionar esse problema para que a conciliação seja feita de maneira rápida e fácil, com uma grande redução de riscos sobre erros humanos na hora da execução, além de expandir a solução Protheus para os clientes que usam outros softwares de conciliação contábil.
Este conjunto de funcionalidades estará disponível apenas no release 12.1.33 |
O desenvolvimento da funcionalidade Conciliação Contábil será realizada na plataforma web, assim, será necessária a utilização de desenvolvimento client-side (Front-End) com a tecnologia Angular e a biblioteca PO-UI e server-side (Back-End) com a tecnologia ADVPL.
A comunicação será realizada através das configurações disponíveis:
Configuração da Porta Multiprotocolo e Configuração Rest (AppServer.ini):
Application Server - Porta Multiprotocolo
Configuração para desenvolvimento TL++:
Pré-requisitos:
Recomendado:
Após instalar os itens citados acima, é necessário procurar uma pasta onde você gostaria de deixar o seu projeto alocado.
Abra o caminho dessa pasta no seu terminal de preferencia (recomendo o uso do Git Bash) e digite o comando:
ng new NOMEDOPROJETO --routing=true --style=scss |
Obs: Os parâmetros --routing e --style respectivamente são para que o projeto seja criado com o sistema de rotas já implementado e para que o padrão de arquivos de estilo do projeto sejam no formato SCSS, dessa forma podemos utilizar o pré-processador SASS.
Após ter feito esse processo, precisamos incluir o PO UI no projeto. Para fazer isso, navegue até a pasta principal do seu projeto e rode o seguinte comando:
ng add @po-ui/ng-components |
No processo de instalação, o terminal irá perguntar se deseja incluir uma estrutura inicial em seu projeto com menu lateral, página e toolbar, utilizando componentes do PO (estrutura padrão dos aplicativos que utilizam PO UI na TOTVS) Basta informar a tecla Y.
Uma última configuração é necessária para que o seu projeto fique no padrão TOTVS. É necessário instalar o tema oficial da TOTVS no PO UI. Rode o seguinte comando na pasta principal do seu projeto:
npm install @totvs/po-theme |
Depois da instalação ser finalizada, vá até o arquivo angular.json, procure o parâmetro "styles" dentro de "projects" e insira o caminho abaixo:
"styles": [ "node_modules/@totvs/po-theme/css/po-theme-default.min.css" ] |
Caso já exista algum caminho dentro de styles que não seja relativo ao tema do PO, não é necessário remover.
Pronto, agora use o comando abaixo na pasta principal do seu projeto para roda-lo:
ng serve |
Acessando o endereço http://localhost:4200 após o build, você deve ver a estrutura padrão do PO UI.
Fonte: PO UI - Primeiros passos
O desenvolvimento será On-Premises, ou seja, será necessário adicionar o item Conciliação Contábil no Menu Protheus para que esteja disponível, como trata-se de uma funcionalidade web, esses aplicativos devem se armazenados no RPO e possuir um controle de alterações:
Para gerar a compilação dos arquivos Angular (PO UI) que vão no repositório Protheus, basta abrir a pasta principal do projeto, abrir o seu console de preferência (cmd, gitbash, etc) e rodar o comando:
ng build -c production |
Os arquivos serão gerados dentro da pasta dist dentro da pasta principal do projeto.
Para que o aplicativo Angular seja compilado no repositório Protheus, o conteúdo dentro da pasta dist deverá ser zipado, após, sua extensão mudada para .app. Todo o conteúdo deverá ficar em uma pasta, inclusive o fonte .prw que fará a chamada do app, em seguida, solicitar compilação da pasta:
Exemplo de fonte chamando a função FwCallApp para abertura de rotinas PO-UI no menu Protheus:
Adicionando rotina PREXAMPLE no Menu Protheus:
Tdn: Abrindo Aplicativos Web no Protheus
Deploy de pipeline PO-UI usando Gitea + Drone
Os processos de desenvolvimento, testes, empacotamento e distribuição de software utilizando PO-UI devem ser realizados com Deploy de pipeline PO-UI usando Gitea + Drone, estas são as ferramenta adotadas pela Totvs para realização das tarefas de modo simples e automatizado.
Controle e versionamento
Todo controle e versionamento de repositórios deverá ser feita através do Gitea.
Ferramenta de orquestração
A ferramenta de orquestração, ou seja, que organizará os scripts para execuções, deverá ser feita através do Drone CI.
Pipeline
Scripts (sequências de comandos) a serem criados e salvos com a extensão .sh (Shell script) e que serão utilizados pelo Drone CI para que seja capaz de realizar de forma automatizada testes e disponibilizar builds de desenvolvimentos para publicação.
Será uma área onde teremos alguns gráficos para exibir ao usuário alguns dados relevantes sobre a conciliação contábil da empresa, exemplo: o percentual de conciliação de uma determinada conta. 90% conciliados, 10% não conciliados, em forma de gráfico. Ainda não temos muitas informações sobre essa seção. (#025).
O menu será construído com o componente Menu do PO UI. Quando um novo projeto Angular é criado com o PO UI, o sistema pergunta se o usuário quer gerar uma estrutura padrão que é utilizada nos projetos da TOTVS. Selecionando essa opção, o menu é gerado automaticamente junto com a estrutura, sendo somente necessário adicionar os links.
Solução que possibilita o usuário filtrar os resultados dos registros apresentados na lista de lançamentos contábeis/lançamentos de origem.
|
Apresenta os lançamentos contábeis e os lançamentos da origem baseados nos filtros que o cliente selecionou.
|
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |