Histórico da Página
Dados Gerais | |
---|---|
Módulo: | TOTVS Automação Fiscal (SIGATAF) |
Issue: | DSERTAF1-35402 |
Descrição: | Criação do evento S-5503 |
Data | 03/07/2024 |
Analistas | Alexandre de Lima Santos |
Descrição Funcional
- Modelo de gravação de dados.
- Com base nas funcionalidades especificas no front, listar todas as APIs necessárias.
Estudo:
Realizado estudo do modelo de gravação de dados e listagem das API' s necessarias.
01. Tabela Modelo
A tabela modelo irá seguir o padrão TAF de desenvolvimento assim como é hoje, a diferença irá se dara em 4 campos que irão gravar parte do json e xml do totalizador integrado.
Campos normalmente utilizados pelo TAF e campos para gravar xml e json para view do evento: VXX_FILIAL | VXX_ID| VXX_VERSAO | VXX_PERAPU |VXX_ATIVO |VXX_EVENTO| VXX_STATUS| VXX_XMLID | VXX_LAYOUT | VXX_VIEW |VXX_MATCAT| VXX_STABPAG | XMLGRV
Registros S-5503 | Listagem
00010434-view
00010434-stabpag
VXX_VIEW :
{
"hasNext": false,
"items": [
{
"id": "00010434",
"period": "2023-08",
"cpf": "82977978054",
"name": "Alex André",
"receipt": "1.2.0000000000195474657",
"processNumber": "00010434"
}
]
}
Trabalhador do S-5503 | Informações Relativas a Matrícula e Categoria
VXX_MATCAT :
00010434-matcat
{
"hasNext": false,
"items": [
{
"id": "00010434",
"registration": "MAT_42227624078",
"category": "101",
"fgtsTot": "27000.15"
}
]
}
Trabalhador do S-5503 | Identificação do estabelecimento responsável pelo pagamento dos valores informados
VXX_STABPAG:
"hasNext": false,
"items": [
{
"id": "00010434",
"referencePeriod": "2023-12",
"category": "101",
"typeOfLaborProcessValue": "71",
"remFGTSProcTrab": "59000.99",
"remFGTSSefip": "845.00",
"dpsFGTSSefip": "23500.45",
"remFGTSDecAnt": "5015.19",
"dpsFGTSDecAnt": "23055.45"
}
]
02. PRINCIPAIS VANTAGENS
02.01. Page Dynamic Table
O componente POUI Page Dynamic Table dispõe de funcionalidades que abrangem outros componentes inteiros, que de outra forma precisariam ser implementados e estilizados individualmente. Sem contar funcionalidades que não são componentes, mas que precisariam ter sua lógica implementada via typescript, como, por exemplo, a funcionalidade do Carregar Mais, sinalizações de carga de tabela, entre outras.
Os elementos próprios de POUI que não foi preciso implementar são mencionados abaixo e nos prints que seguem:
- Services (https://angular.io/guide/architecture-services)
- Buttons (https://po-ui.io/documentation/po-button)
- Input (Para permitir pesquisa rápida) (https://po-ui.io/documentation/po-input)
- Pipe (https://angular.io/guide/pipes)
- Disclaimer (https://po-ui.io/documentation/po-disclaimer-group)
- Table (https://po-ui.io/documentation/po-table)
02.02. Dynamic View
O componente POUI Dynamic View dispõe de propriedades para preenchimento e exibição dos valores padrão label-valor, que eliminam a necessidade de implementação e estilização individual a seguir:
02.03. Tabs
Utilizado o componente POUI Tabs (https://po-ui.io/documentation/po-tabs), que remete a identidade visual que os usuários estão acostumado a ver no ambiente Protheus para os eventos, principalmente para os eventos totalizadores.
03. Back-end para o painel
Exemplo de API feito em TLPP onde foi criada a classe principal e seus métodos para retornar a informação de acordo com end-point requisitado pelo front.
Painel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
ClassTotalizador5503 publicMethodNew() asobject //Browser |
Para a exibição do browser foi criado o Método totalizadorS5503(), onde será retornado além das informações necessárias para o preenchimento dos campos do componente Page Dynamic Table o RECNO da tabela pai do evento S-5503 que será usado como chave para os demais métodos.
Este mesmo método é utilizado para o retorno do filtro rápido e filtro avançado onde retornamos as informações do cabeçalho para o browser.
Para esta implementação utilizamos o método disponível pelo TLPP oRest:getQueryRequest r(query param que serão utilizados na query principal retornando os valores filtros.
Painel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
MethodtotalizadorS5503() ClassTotalizador5503 LocaloJson := JsonObject():New() |
Para a visualização das informações completas do registro, a ação de visualizar ira disparar a requisição para o método totalizadorDetails() passando como parâmetro o RECNO que será utilizado como chave na busca das informações nas tabelas filhas do evento montando um novo objeto Json de retorno para o front no preenchimento dessas tabelas.
Obs: Para este exemplo foi criado apenas um método mas o ideal seria um método para cada tabela retornado as informações distintas facilitando a leitura e tratamento das informações:
Painel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
MethodtotalizadorDetails() ClassTotalizador5503 LocaloJson := JsonObject():New() |
04. Links de consulta:
https://po-ui.io/documentation