Histórico da Página
Índice maxLevel 4
01. VISÃO GERAL
A Conciliação de dados é uma técnica que realiza o cruzamento (match) de dados na origem e destino, realizando comparações e verificando divergências, permitindo assim, a diminuição de erros, falta ou redundância de dados, promove ganhos como aumento da precisão, facilidade nos fechamentos, evitar fraudes e possibilidade de correções.
Atualmente, os clientes que usam o Protheus fazem essas conciliações por meio de softwares terceiros ou manualmente. Dependendo do tamanho da empresa, essas conciliações podem durar horas, dias ou semanas para serem concluídas, além de estarem sujeitas ao erro humano, já que é feita no “olhômetro” ou planilhas avulsas.
A proposta da ferramenta é solucionar esses problemas para que as conciliações sejam feitas de maneira rápida e fácil, com uma grande redução de riscos de erros na hora da execução, além de expandir a solução Protheus para os clientes que usam outros softwares de conciliações.
Também tem por objetivo atender a demanda de todos os módulos através de um wizard configurável, onde as informações de origem e destino poderão ser inseridas e utilizas para cruzamento de informações, sendo elas, tabelas envolvidas, filtros utilizados, regras de matchs, campos apresentados e condicionais para consultas. Por exemplo, será possível conciliar Títulos a Receber x Contábil, Estoque x Contábil, Títulos a Pagar x Informações Operadora etc.
Informações | ||
---|---|---|
| ||
Este conjunto de funcionalidades estará disponível apenas no release 12.1.33 |
02. ARQUITETURA
draw.io Diagram | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
03. CONFIGURAÇÃO
O desenvolvimento da funcionalidade Conciliador Protheus 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 TLPP.
Front-End:
Criando um novo projeto Angular com PO UI
Pré-requisitos:
- Angular CLI - latest - https://cli.angular.io/
- Node - latest - https://nodejs.org/en/
Recomendado:
- Git Bash - latest - https://git-scm.com/downloads
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:
Bloco de código | ||
---|---|---|
| ||
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:
Bloco de código | ||
---|---|---|
| ||
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:
Bloco de código | ||
---|---|---|
| ||
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:
Bloco de código | ||
---|---|---|
| ||
"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:
Bloco de código | ||
---|---|---|
| ||
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
Menu
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:
Bloco de código | ||
---|---|---|
| ||
ng build -c production |
Os arquivos serão gerados dentro da pasta dist dentro da pasta principal do projeto.
Back-End:
A comunicação será realizada através das configurações disponíveis:
Configuração da Porta Multiprotocolo e Configuração Rest (AppServer.ini):
View file name appserver.ini height 250
Application Server - Porta Multiprotocolo
Configuração para desenvolvimento TL++:
Para que o aplicativo POUI seja utilizado no Protheus, o conteúdo gerado na pasta dist deverá ser zipado, após, sua extensão mudada para app. Deve-se criar um fonte com extensão prw, este fará a chamada do app através da função FWCallApp, ambos devem ser compilados no repositório Protheus.
Observação: O conteúdo da pasta dist deverá ser zipado dentro de uma pasta com o mesmo nome do prw responsável pela chamada, no exemplo abaixo foi utilizado PREXAMPLE:
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
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.
Informações | ||
---|---|---|
| ||
04. Tela principal
DASHBOARD
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).
MENU LATERAL
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.
FILTROS
Solução que possibilita o usuário filtrar os resultados dos registros apresentados na lista de lançamentos contábeis/lançamentos de origem.
Totvs custom tabs box | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
GRID
Apresenta os lançamentos contábeis e os lançamentos da origem baseados nos filtros que o cliente selecionou.
Totvs custom tabs box | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
HTML |
---|
<!-- 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> |