Histórico da Página
Índice maxLevel 4
01. VISÃO GERAL
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.
...
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 Conciliação Contábil será realizada na plataforma web, assim, será necessária a utilização de desenvolvimento client-side (FrotnEndFront-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):
View file | ||||
---|---|---|---|---|
|
Application Server - Porta Multiprotocolo
Menu
Será necessário adicionar o item Conciliação Contábil no Menu 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:
Abrindo Aplicativos Web no Protheus
03. Tela principal
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.
...
tabs | Implementação,Imagens |
---|---|
ids | filtros_implementacao,filtros_imagens |
...
default | yes |
---|---|
referencia | filtros_implementacao |
Front-End:
Os campos do filtro serão construídos com o componente DynamicForm do PO UI. Será necessário chamar algumas APIs no momento do carregamento da tela:
- API que salva os filtros do usuário
- API que recupera os filtros já salvos.
Os campos serão por seleção, ou seja, o usuário poderá selecionar todos os itens ou itens específicos. Os inputs serão construídos com o módulo MultiSelect do PO UI.
Abaixo todos os filtros que vão estar disponíveis para configuração:
- Filial (multiselect)
- Data (de/até) (date)
- Conta contábil (multiselect)
- Moeda (select)
- Conciliar por (select) (dependendo do filtro, abrirá um novo campo para o usuário colocar o número do processo ou extrato bancário)
- Operação (multiselect)
- Filtra entidade (select boolean)
- Centro de custo (multiselect)
- Item contábil (multiselect)
- Clvl (multiselect)
- Registros conciliados (select boolean)
Cada campo terá um parâmetro onde será possível adicionar um texto de ajuda para aquele campo específico. O local de exibição da ajuda na tela ainda não está definido.
Como citado acima, após salvar o formulário, o front fará uma requisição para o back-end enviando os dados que o usuário selecionou nos filtros. Quando o usuário acessar novamente, os filtros estarão salvos.
Back-End:
Será necessário uma API para salvar os filtros do usuário e uma outra API para recuperar o filtro já salvo.
Para que o filtro que o usuário realizou reflita nos grids, o front vai chamar as APIs que trazem as informações dos grids passando os valores dos filtros como query strings, assim a API vai saber o que filtrar na hora de trazer o resultado.
Os filtros deverão possuir help para facilitar entendimento do usuário.
Serão necessárias disponibilidade das APIs abaixo:
- API para informações de Filiais (SM0)
- API para informações do Plano de Contas Contábeis (CT1)
- API para informações de Lançamento Padrão (CT5)
- API para informações de Centro de Custo (CTT)
- API para informações de Itens Contábeis (CTD)
- API para informações de Classe de Valor (CTH)
Configuração para desenvolvimento TL++:
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.
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
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Totvs custom tabs box items | ||||
---|---|---|---|---|
| ||||
GRID
Apresenta os lançamentos contábeis e os lançamentos da origem baseados nos filtros que o cliente selecionou.
Totvs custom tabs box | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
|
...