Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


Section
Painel
borderColorsolid
title(i) TOTVS Acompanha custos

Painel com Dashboard para gerenciar e alertar distorções nas transações de estoque, permitindo análise e gerando notificações sobre itens críticos e distorções de custo, para que seja validado se os consumos e apontamentos de produção estão com valores  adequados.
Realizando também um checklist das tarefas de fechamento.

Painel
borderStylesolid
titleRecursos disponíveis
Expandir
titleOnboarding

A funcionalidade do Onboarding tem o propósito de auxiliar o usuário no seu primeiro acesso, sendo exibido ao iniciar a aplicação em seu primeiro acesso, ou selecionando a opção de ajuda no canto superior direito, ao lado do ícone de perfil.



Expandir
titleInformações técnicas
  • Front End

    1. Para a criação da feature, utilizamos componentes do framework PO-UI para facilitar e agilizar o desenvolvimento, sendo:

<po-modal>https://po-ui.io/documentation/po-modal

<po-checkbox> - https://po-ui.io/documentation/po-checkbox

<po-button>https://po-ui.io/documentation/po-button

  • Back End

    1. Foi desenvolvido uma classe REST de controle para entrada e saída de dados através da linguagem TLPP, sendo responsável por gerações e gravações de registros nas tabelas de perfil de usuário do Framework.
    2. Estruturação API:

  1. Especificações de Serviços


Expandir
titleGET /api/v1/acUser/:userId

Retorna o status do perfil do usuário informado:

Bloco de código
languagejs
themeConfluence
{
		"showModal": true,
		"userId": 000000,
		"userName": "Administrador"
}

Descrição de Campos:

  • showModal: boolean – Define se será apresentado o Onboarding
  • userId: string – Retorno o código do usuário consultado
  • userName: string – Retorna nome do usuário consultado
Expandir
titlePOST /api/v1/acUser/:userId

Permite cadastrar um novo registro de perfil de usuário com as definições passadas pelo body da requisição.

Bloco de código
languagejs
themeConfluence
{
		"showModal": false,
}

O seu retorno esperado será:

Bloco de código
languagejs
themeConfluence
{
		"showModal": false,
		"userId": "000000",
		"userName": "Administrador"
}

Descrição de Campos:

  • showModal: boolean – Define se será apresentado o Onboarding
  • userId: string – Retorno o código do usuário consultado
  • userName: string – Retorna nome do usuário consultado


Expandir
titlePUT /api/v1/acUser/:userID

Permite alterar o status da configuração de perfil do usuário através da informações passadas pelo body da requisição.

Bloco de código
languagejs
themeConfluence
{
		"showModal": true,
}
Bloco de código
languagejs
themeConfluence
{
		"showModal": true,
		"userId": "000000",
		"userName": "Administrador"
}

Descrição de Campos:

  • showModal: boolean – Define se será apresentado o Onboarding
  • userId: string – Retorno o código do usuário consultado
  • userName: string – Retorna nome do usuário consultado


Expandir
titleGET api/acConfigProf/v1/profile/restore

Permite alterar o status da configuração de perfil do usuário através da informações passadas pelo body da requisição.

Bloco de código
languagejs
themeConfluence
{
		"showModal": true,
}
Bloco de código
languagejs
themeConfluence
{
		"showModal": true,
		"userId": "000000",
		"userName": "Administrador"
}

Descrição de Campos:

  • showModal: boolean – Define se será apresentado o Onboarding
  • userId: string – Retorno o código do usuário consultado
  • userName: string – Retorna nome do usuário consultado


Expandir
titleAcompanhamento dos Custos


Expandir
titleAlerta do Sistema


Acompanhamento dos CustosAlerta do SistemaFechamento de estoque
Expandir
titleFechamento de estoque
Expandir
titleConfiguração de parâmetros
Image Modified

Através do menu de fechamento é possível acessar o botão configurar parâmetros, essa uma funcionalidade foi disponibilizada para salvar as configurações previas de recalculo de custo médio e fechando para virada de saldo, essa configuração é considera para cara filial, dessa forma caso o cliente realize o processamento em mais de uma  filial será possível tratar as particularidades de processamento.

  • Acessando a primeira vez o sistema vai capturar as ultimas configurações do arquivo SX1(Pergunte) retornado em tela somente para validação, com uma ressalva dos parâmetros do tipo string (caracter) pois esses devem ser informado na primeira utilização ou serão considerados com o seu conteúdo em branco.
  • Utilização

Ao realizar a configuração o sistema vai gravar em seu perfil com a filial que realizou a configuração para processamento.

Image Modified

  • Alterar a configuração:

Tendo necessidade de alterar a configuração de processamento, basta acessar a rotina o sistema vai resgatar as informação do perfil depois de alterar clicar em salvar novamente.

Image Modified

  • Restaurar configurações:

E possível restaurar configurações padrões mediante ao SX1(cadastro de pergunte Protheus).

Image Modified

Expandir
titleParâmetros do configurador

Image Modified

Expandir
titleInformações técnicas
  • Front End

    1. Para a criação da feature, utilizamos componentes do framework PO-UI para facilitar e agilizar o desenvolvimento, sendo:

<po-modal>https://po-ui.io/documentation/po-modal

<po-checkbox> - https://po-ui.io/documentation/po-checkbox

<po-button>https://po-ui.io/documentation/po-button

<po-select> - https://po-ui.io/documentation/po-select

<po-checkbox> - https://po-ui.io/documentation/po-checkbox

<po-widget> - https://po-ui.io/documentation/po-widget

  • Back End

    1. Foi desenvolvido uma classe REST de controle para entrada e saída de dados através da linguagem TLPP, sendo responsável por gerações e gravações de registros nas tabelas de perfil de usuário do Framework
    2. Estrutura da API:
    3. Image Modified
    4. Especificações de Serviços


Expandir
titleGET api/acConfigProf/v1/profile/:userId

Retorna o SX1 (Pergunte do MATA330 e MATA280 ) ou perfil salvo do usuário na filial corrente.

Bloco de código
languagejs
themeConfluence
{
    "closing": {
        "mta280": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": ""
            },
            {
                "parameter": "mv_par04",
                "value": true
            }
        ]
    },
    "recalculation": {
        "mta330": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": false
            },
            {
                "parameter": "mv_par04",
                "value": true
            },
            {
                "parameter": "mv_par05",
                "value": 0
            },
            {
                "parameter": "mv_par06",
                "value": 1
            },
            {
                "parameter": "mv_par07",
                "value": ""
            },
            {
                "parameter": "mv_par08",
                "value": ""
            },
            {
                "parameter": "mv_par09",
                "value": false
            },
            {
                "parameter": "mv_par10",
                "value": 3
            },
            {
                "parameter": "mv_par11",
                "value": false
            },
            {
                "parameter": "mv_par12",
                "value": ""
            },
            {
                "parameter": "mv_par13",
                "value": true
            },
            {
                "parameter": "mv_par14",
                "value": 2
            },
            {
                "parameter": "mv_par15",
                "value": true
            },
            {
                "parameter": "mv_par16",
                "value": 2
            },
            {
                "parameter": "mv_par17",
                "value": 1
            },
            {
                "parameter": "mv_par18",
                "value": 1
            },
            {
                "parameter": "mv_par19",
                "value": true
            },
            {
                "parameter": "mv_par20",
                "value": 2
            },
            {
                "parameter": "mv_par21",
                "value": false
            }
        ]
    }
}

Descrição de Campos:

  • closing: string – Separador com informações dos perguntes da rotina MATA280 (Virada dos saldos)
    • parameter: string MV_PAR relacionado a rotina MATA280 vidara dos saldos 
    • value boolean - para os parâmetros do tipo sim ou não, string para os tipos texto e números para os combos 
  • recalculation: string – Retorno o código do usuário consultado.
    • parameter: string MV_PAR relacionado a rotina MATA330 recalculo do custos medio 
    • value boolean - para os parâmetros do tipo sim ou não, string para os tipos texto e números para os combos
Expandir
titlePOST /api/acConfigProf/v1/profile/:userId

Permite cadastrar uma configuração de parâmetros de usuário com as definições passadas pelo body da requisição.

Bloco de código
languagejs
themeConfluence
{
    "closing": {
        "mta280": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": ""
            },
            {
                "parameter": "mv_par04",
                "value": true
            }
        ]
    },
    "recalculation": {
        "mta330": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": false
            },
            {
                "parameter": "mv_par04",
                "value": true
            },
            {
                "parameter": "mv_par05",
                "value": 0
            },
            {
                "parameter": "mv_par06",
                "value": 1
            },
            {
                "parameter": "mv_par07",
                "value": ""
            },
            {
                "parameter": "mv_par08",
                "value": "ZZZZZZZ"
            },
            {
                "parameter": "mv_par09",
                "value": false
            },
            {
                "parameter": "mv_par10",
                "value": 3
            },
            {
                "parameter": "mv_par11",
                "value": false
            },
            {
                "parameter": "mv_par12",
                "value": ""
            },
            {
                "parameter": "mv_par13",
                "value": true
            },
            {
                "parameter": "mv_par14",
                "value": 2
            },
            {
                "parameter": "mv_par15",
                "value": true
            },
            {
                "parameter": "mv_par16",
                "value": 2
            },
            {
                "parameter": "mv_par17",
                "value": 1
            },
            {
                "parameter": "mv_par18",
                "value": 1
            },
            {
                "parameter": "mv_par19",
                "value": true
            },
            {
                "parameter": "mv_par20",
                "value": 2
            },
            {
                "parameter": "mv_par21",
                "value": false
            }
        ]
    }
}

O seu retorno esperado será:

Bloco de código
languagejs
themeConfluence
Permite cadastrar uma configuração de parâmetros de usuário com as definições passadas pelo body da requisição.

{
    "closing": {
        "mta280": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": ""
            },
            {
                "parameter": "mv_par04",
                "value": true
            }
        ]
    },
    "recalculation": {
        "mta330": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": false
            },
            {
                "parameter": "mv_par04",
                "value": true
            },
            {
                "parameter": "mv_par05",
                "value": 0
            },
            {
                "parameter": "mv_par06",
                "value": 1
            },
            {
                "parameter": "mv_par07",
                "value": ""
            },
            {
                "parameter": "mv_par08",
                "value": "ZZZZZZZ"
            },
            {
                "parameter": "mv_par09",
                "value": false
            },
            {
                "parameter": "mv_par10",
                "value": 3
            },
            {
                "parameter": "mv_par11",
                "value": false
            },
            {
                "parameter": "mv_par12",
                "value": ""
            },
            {
                "parameter": "mv_par13",
                "value": true
            },
            {
                "parameter": "mv_par14",
                "value": 2
            },
            {
                "parameter": "mv_par15",
                "value": true
            },
            {
                "parameter": "mv_par16",
                "value": 2
            },
            {
                "parameter": "mv_par17",
                "value": 1
            },
            {
                "parameter": "mv_par18",
                "value": 1
            },
            {
                "parameter": "mv_par19",
                "value": true
            },
            {
                "parameter": "mv_par20",
                "value": 2
            },
            {
                "parameter": "mv_par21",
                "value": false
            }
        ]
    }
}

Descrição de Campos:

  • closing: string – Separador com informações dos perguntes da rotina MATA280 (Virada dos saldos)
    • parameter: string MV_PAR relacionado a rotina MATA280 vidara dos saldos 
    • value boolean - para os parâmetros do tipo sim ou não, string para os tipos texto e números para os combos 
  • recalculation: string – Retorno o código do usuário consultado.
    • parameter: string MV_PAR relacionado a rotina MATA330 recalculo do custos medio 
    • value boolean - para os parâmetros do tipo sim ou não, string para os tipos texto e números para os combos


Expandir
titlePUT /api/acConfigProf/v1/profile/:userID

Permite alterar a configuração de parâmetros do usuário através da informações passadas pelo body da requisição.

Bloco de código
languagejs
themeConfluence
{
    "closing": {
        "mta280": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": ""
            },
            {
                "parameter": "mv_par04",
                "value": true
            }
        ]
    },
    "recalculation": {
        "mta330": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": false
            },
            {
                "parameter": "mv_par04",
                "value": true
            },
            {
                "parameter": "mv_par05",
                "value": 0
            },
            {
                "parameter": "mv_par06",
                "value": 1
            },
            {
                "parameter": "mv_par07",
                "value": ""
            },
            {
                "parameter": "mv_par08",
                "value": ""
            },
            {
                "parameter": "mv_par09",
                "value": false
            },
            {
                "parameter": "mv_par10",
                "value": 3
            },
            {
                "parameter": "mv_par11",
                "value": false
            },
            {
                "parameter": "mv_par12",
                "value": ""
            },
            {
                "parameter": "mv_par13",
                "value": true
            },
            {
                "parameter": "mv_par14",
                "value": 2
            },
            {
                "parameter": "mv_par15",
                "value": true
            },
            {
                "parameter": "mv_par16",
                "value": 2
            },
            {
                "parameter": "mv_par17",
                "value": 1
            },
            {
                "parameter": "mv_par18",
                "value": 1
            },
            {
                "parameter": "mv_par19",
                "value": true
            },
            {
                "parameter": "mv_par20",
                "value": 2
            },
            {
                "parameter": "mv_par21",
                "value": false
            }
        ]
    }
}
Bloco de código
languagejs
themeConfluence
{
    "closing": {
        "mta280": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": ""
            },
            {
                "parameter": "mv_par04",
                "value": true
            }
        ]
    },
    "recalculation": {
        "mta330": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": false
            },
            {
                "parameter": "mv_par04",
                "value": true
            },
            {
                "parameter": "mv_par05",
                "value": 0
            },
            {
                "parameter": "mv_par06",
                "value": 1
            },
            {
                "parameter": "mv_par07",
                "value": ""
            },
            {
                "parameter": "mv_par08",
                "value": ""
            },
            {
                "parameter": "mv_par09",
                "value": false
            },
            {
                "parameter": "mv_par10",
                "value": 3
            },
            {
                "parameter": "mv_par11",
                "value": false
            },
            {
                "parameter": "mv_par12",
                "value": ""
            },
            {
                "parameter": "mv_par13",
                "value": true
            },
            {
                "parameter": "mv_par14",
                "value": 2
            },
            {
                "parameter": "mv_par15",
                "value": true
            },
            {
                "parameter": "mv_par16",
                "value": 2
            },
            {
                "parameter": "mv_par17",
                "value": 1
            },
            {
                "parameter": "mv_par18",
                "value": 1
            },
            {
                "parameter": "mv_par19",
                "value": true
            },
            {
                "parameter": "mv_par20",
                "value": 2
            },
            {
                "parameter": "mv_par21",
                "value": false
            }
        ]
    }
}

Descrição de Campos:

  • closing: string – Separador com informações dos perguntes da rotina MATA280 (Virada dos saldos)
    • parameter: string MV_PAR relacionado a rotina MATA280 vidara dos saldos 
    • value boolean - para os parâmetros do tipo sim ou não, string para os tipos texto e números para os combos 
  • recalculation: string – Retorno o código do usuário consultado.
    • parameter: string MV_PAR relacionado a rotina MATA330 recalculo do custos medio 
    • value boolean - para os parâmetros do tipo sim ou não, string para os tipos texto e números para os combos
Expandir
titleGET api/acConfigProf/v1/profile/restore

Permite resturar o perfil para configurações padrão do protheus 

Não necessita de envio o retorno será conforma abaixo porem com as informações do arquivo SX1 - perguntes do MATA280 e MATA330


Bloco de código
languagejs
themeConfluence
{
    "closing": {
        "mta280": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": ""
            },
            {
                "parameter": "mv_par04",
                "value": true
            }
        ]
    },
    "recalculation": {
        "mta330": [
            {
                "parameter": "mv_par01",
                "value": ""
            },
            {
                "parameter": "mv_par02",
                "value": false
            },
            {
                "parameter": "mv_par03",
                "value": false
            },
            {
                "parameter": "mv_par04",
                "value": true
            },
            {
                "parameter": "mv_par05",
                "value": 0
            },
            {
                "parameter": "mv_par06",
                "value": 1
            },
            {
                "parameter": "mv_par07",
                "value": ""
            },
            {
                "parameter": "mv_par08",
                "value": ""
            },
            {
                "parameter": "mv_par09",
                "value": false
            },
            {
                "parameter": "mv_par10",
                "value": 3
            },
            {
                "parameter": "mv_par11",
                "value": false
            },
            {
                "parameter": "mv_par12",
                "value": ""
            },
            {
                "parameter": "mv_par13",
                "value": true
            },
            {
                "parameter": "mv_par14",
                "value": 2
            },
            {
                "parameter": "mv_par15",
                "value": true
            },
            {
                "parameter": "mv_par16",
                "value": 2
            },
            {
                "parameter": "mv_par17",
                "value": 1
            },
            {
                "parameter": "mv_par18",
                "value": 1
            },
            {
                "parameter": "mv_par19",
                "value": true
            },
            {
                "parameter": "mv_par20",
                "value": 2
            },
            {
                "parameter": "mv_par21",
                "value": false
            }
        ]
    }
}

Descrição de Campos:

  • closing: string – Separador com informações dos perguntes da rotina MATA280 (Virada dos saldos)
    • parameter: string MV_PAR relacionado a rotina MATA280 vidara dos saldos 
    • value boolean - para os parâmetros do tipo sim ou não, string para os tipos texto e números para os combos 
  • recalculation: string – Retorno o código do usuário consultado.
    • parameter: string MV_PAR relacionado a rotina MATA330 recalculo do custos medio 
    • value boolean - para os parâmetros do tipo sim ou não, string para os tipos texto e números para os combos
Expandir
titleNovo Fechamento

Image Modified

Novo Fechamento, recurso que permite iniciar a jornada de fechamento

nessa 

basta definir o tipo de contabilização e clicar em novo fechamento.


Expandir
titleHistórico de Fechamentos

Image Added

Na abertura da funcionalidade de Fechamentos, será exibido uma estrutura com os últimos fechamentos realizados em forma de lista  ao qual seguirá em duas configurações:

  • 1º Configuração

Não havendo fechamento realizado através da jornada da nova funcionalidade, será apenas exibido o último fechamento de estoque realizado pela rotina de Virada de Saldos (MATA280), analisando a tabela Saldos Iniciais (SB9).

  • 2º Configuração

Com a estrutura devidamente implementada, o sistema terá a tabela Logs de Fechamento (D3X). Realizando a jornada de fechamento, o sistema gerará logs detalhados de todo o processo de fechamento, que abrangem:

  • Recálculo do Custo Médio
  • Virada de Saldo
  • Saldo Atual para Final


Expandir
titleInformações Técnicas

Seguem informações técnicas de Front-End e Back-End:

Expandir
title
Front-End

Componentes principais utilizados para a construção da feature:

  • <po-list-view>
Expandir
title
Back-End
Expandir
title
GET api/aclist/v1/listclosing

Permite listar o histórico de fechamentos realizados:




Painel
borderStylesolid
titleArquitetura












Section
Painel
borderStylesolid
titleAutomação de testes

A automação de testes será conduzida de duas formas:

Expandir
titleFront-End

Para realizar a automação do front-end utilizamos os recursos de Jasmine + Karma para garantir a qualidade por meio de testes unitários, já a execução dos testes é realizada com auxilio do Drone CI que é acionado a cada alteração (commit) e subida (push) para o repositório (Gitea)

Expandir
titleRelatório de cobertura
Expandir
titleBack-End

Para realizar a automação do Back-end utilizamos os recursos do TLPP para garantir a qualidade por meio de testes unitários acionado pela esteira de testes da equipe de engenharia TOTVS. 

Expandir
titleRelatório de cobertura
Expandir
titleOnboarding

Expandir
titleConfiguração de parâmetros.

                  

Painel
titleInternacionalização i18n

Para garantir a padronização e internacionalização do produto, seguimos as normativas e serviços disponibilizados abaixo:

Painel
borderStylesolid
titleEstudos realizados
Expandir
titleEvent Viewer

Event Viewer (Meu Protheus)

Event Viewer - Termino do Recalculo de Custo

Painel
borderStylesolid
titleHow To