Plataforma Marketing & Vendas
Point of Sales (POS)
Configurações e Utilitários
Explorações
Administrador
Compras
Configurações e Utilitários
Comércio Externo
Fluxos Documentais
Explorações
Administrador
Inventário Recursos Humanos Finanças Equipamentos e Ativos
Configurações e Utilitários
Explorações
Administrador
Serviços Produção
Terminal de Recolha
Track & Trace
Configurações e Utilitários
Explorações
Administrador
Construção Office Extensions Fiscal Reporting Accounting Automation Dashboards Personal Data Manager Filiais Apps/Integrações
V10 PlataformaInstalar e ManterMigrações
PlataformaInstalar e ManterMigrações
Migrações
Voltar | Lista de Artigos

Qualidade de dados e recomendações nas migrações

Última alteração a 19/04/2024
Este artigo é aplicável a:
PT
ES
AO
CV
MZ
ST
GW
Professional
Executive
Public Sector
Omnia
Evolution

A migração de dados da v9 para a v10 implica um conjunto de requisitos que devem ser cumpridos para evitar incongruências na base de dados, nomeadamente relacionados com os stocks, lotes e números de série.

Recomendamos a leitura atenta de todas as áreas descritas e a execução das querys disponibilizadas para acelerar a migração de dados e evitar erros no sistema.

Antes do processo de migração, deverá garantir que todos os exercícios que já tenham o Apuramento de Resultados concluído estão bloqueados.

Para conhecer todos os passos necessários para migrar corretamente para a versão 10, sugere-se a consulta dos seguintes artigos de apoio, consoante o cenário aplicável:

Números de Série ativos no Stock

Na V9, era comum a existência de casos onde a quantidade em stock diferia do número de série ativas em sistema. Na V10, podem surgir dois cenários distintos:

  • Ter mais números de série ativos em sistema do que quantidade em stock;
  • Ter menos números de série ativos em sistema do que quantidade em stock.

Deverá identificar o cenário e, de seguida, efetuar a respetiva correção:

Identificar cenários

Deverá primeiramente validar se existem estes cenários na base de dados. Para tal, deverá executar a query que retornará todos os artigos em que existem diferenças quer por excesso de números de série ativos em sistema, quer por defeito.

Corrigir números de série ativos por excesso

Este é o cenário mais complexo, em que é necessário realizar primeiramente uma análise física aos números de série existentes em stock para posteriormente descartar os outros números de série que não existem fisicamente em stock.

Depois de identificar os números de série que devem ser inativados, deverá executar a seguinte query com a devida indicação dos respetivos números de série.

Nota: Na query, deverá preencher os valores entre aspas com os valores pretendidos.

Corrigir números de série ativos por defeito

Neste caso, deverá criar os números de série de sistema para igualar a quantidade em stock aos números de série ativos no sistema. Para tal, deve ser executada a seguinte query que irá criar os respetivos números de série automáticos e autogerados.

Se pretender substituir os números de série automáticos pelos números de série reais, poderá fazê-lo através das seguintes opções:

  • criar um documento de transferência de números de série;
  • criar um documento de saída de stock dos números de série automáticos e a respetiva quantidade e, posteriormente, criar um documento de entrada de stock já com a identificação do números de série físicos e a respetiva quantidade.

Linhas de Stock e Cabeçalho de Documento de Stock

É possível identificar e corrigir as inconsistências de dados entre as linhas da tabela "linhasstk" e o cabeçalho do documento de stock.

Deverá primeiramente identificar as inconsistências e, de seguida, efetuar a respetiva correção selecionando uma das opções disponíveis.

Identificar inconstistências entre linhas e respetivos cabeçalhos

Para identificar as inconsistências entre a tabela "linhasstk" e os respetivos cabeçalhos (tabela "cabecstk"), deverá executar a seguinte query.

Após identificá-las, poderá utilizar duas opções para as corrigir:

  • Resolver o problema na base de dados da versão 9 e posteriormente proceder à migração;
  • Efetuar a correção do problema já na base de dados da v10, mas com auxílio da base de dados da v9.

Efetuar correção utilizando apenas a base de dados da v9

Caso opte por corrigir primeiramente os dados na versão 9 e posteriormente migrar para a versão 10, deverá executar a seguinte query para efetuar a reconstrução dos identificadores do cabeçalho nas linhas de stock.

Após executar a script de correção dos dados, poderá migrar para a v10.

Efetuar correção na base de dados da v10 com auxílio da base de dados v9

Para corrigir os identificadores do cabeçalho na base de dados da v10 com auxílio da v9, é necessário preparar o ambiente de aplicação da solução tendo ambas as bases de dados (v9 e v10) na mesma instância SQL.

Para cada documento identificado, deverá efetuar o seguinte procedimento.

Reforçamos que esta operação é mais trabalhosa e arriscada, uma vez que a criação dos registos na nova infraestrutura do módulo de inventário é mais complexa na versão 10, existindo um maior número de tabelas associadas onde é necessário intervir.

Migração de Campos de Utilizador

Na v9, quando existem campos de utilizador presentes nas tabelas de stock (CabecStk e LinhasStk), esses campos não são migrados durante o processo de migração da base de dados para a versão 10 dado que é impossível perceber quais os campos que são para afetar às respetivas tabelas na nova infraestrutura.

Esta situação verifica-se porque, enquanto na v9 os documentos são alocados como documentos de stock, na v10 passam a ser distribuídos por documentos internos, documentos de transferência de armazém e documentos de composição e decomposição.

Atendendo a esta situação, a migração dos campos do utilizador e dos respetivos dados implica a identificação de quais os campos que deverão ficar alocados a cada tipo de transação. A criação dos campos poderá ser realizada pelo processo habitual.

Para garantir os dados dos campos do utilizador na versão 10 e simplificar a cópia dos dados, no processo de migração estes dados são copiados para duas tabelas:

  • BACKUP_UPG_PRI_V9_V10_CabecStk
  • BACKUP_UPG_PRI_V9_V10_LinhasStk

Query de apoio à migração de campos do utilizador de stocks

Para simplificar o processo descrito anteriormente poderá ser utilizada a seguinte query.

A execução desta query é muito simples, bastando indicar nos locais indicados os campos a migrar (CabecStk e LinhasStk), bem como o tipo de movimento de destino dos mesmos na v10 (documentos internos, documentos de transferência de armazém e documentos de composição e decomposição).

A query cria automaticamente os campos do utilizador, caso não existam, e copia os dados.

Contabilização Inventário Permanente

Em algumas situações, são detetadas diferenças de valores entre o inventário e a contabilidade que podem não ser facilmente identificadas na aplicação. Para detetar essas diferenças, podem ser utilizados os seguintes diagnósticos:

  • Identificação de valores diferentes entre o que foi registado no inventário face ao que foi registado na contabilidade;
  • Identificação de lançamentos na contabilidade em contas de inventário que não tiveram origem no módulo de inventário.

Para identificar estas diferenças, é necessário saber quais são as contas de inventário e a respetiva contrapartida a contemplar para a análise.

Após a correta identificação das contas, é necessário incluí-las na respetiva query de análise.

Outro processo que por vezes pode provocar resultados com diferenças entre o inventário e a contabilidade, corresponde à existência de serviços de inventário pendentes de execução pelo ECHO. Estes serviços são apresentados no monitor de operações do ECHO.

Identificar diferenças de valores entre o que foi registado no inventário face ao que foi registado na contabilidade

Para identificar as diferenças, poderá utilizar a seguinte query.

A query não deteta diferenças em documentos de composição e decomposição e, por isso, podem aparecer como falsos positivos.

Identificar lançamentos na contabilidade em contas de inventário que não tiveram origem no módulo de inventário

Para identificar as diferenças, poderá utilizar a seguinte query como exemplo.

Identificar serviços de inventário pendentes de execução pelo ECHO

Existem duas tabelas onde são registados os serviços de inventário: uma na própria infraestrutura do ECHO e outra já na estrutura da base de dados da empresa. Também poderá visualizar estes registos no monitor de operações do ECHO no ERP.

Para identificar serviços pendentes de execução pelo ECHO, deverá executar a seguinte query.

--Substituir PRIEMPRE pelo correto, assim como o nome da Base de Dados da Empresa

select * from PRIEMPRE.Bot.BotWorkQueueItems where state <> 2 and scope like '%NOME_BD_EMPRESA%'

Para identificar serviços de inventário pendentes de execução no BAS, deverá executar:

select * from BAS_IntegrationServiceQueue where state <> 1

Reconstrução de Movimentos de Stock e de Custeio

Nos cenários em que são introduzidos movimentos em inventário e custeio via extensibilidade ou, por exemplo, através do carregamento de stocks iniciais, é necessário ter em atenção que esses movimentos podem ter impacto nos movimentos anteriores.

Ou seja, podem provocar inconsistências nas quantidades e na valorização uma vez que a aplicação necessita sempre que a integração seja realizada corretamente, para que seja possível criar as respetivas tarefas de inventário e para que o ECHO as execute.

Deste modo, é importante que esses movimentos sejam corrigidos. Caso contrário, é necessário forçar a execução do cálculo das quantidades em stock ou até do custeio.

Para efetuar esses cálculos, é necessário ter em atenção que deverá filtrar os registos a impactar no cálculo para que, por exemplo, não sejam apresentadas diferenças em meses já fechados ou mesmo para que a aplicação efetue os cálculos de forma mais célere.

Neste sentido, deverá ter sempre em consideração os seguintes filtros:

  • Data de início do cálculo;
  • Artigos afetados.

Forçar execução do cálculo de quantidades

Para forçar a execução do cálculo de quantidades, deverá utilizar a seguinte query.

Forçar execução do cálculo de custos

Para forçar a execução do cálculo de custos, deverá utilizar a seguinte query.

Artigos com Tratamento de Lotes

Para identificar se um lote é ou não de sistema, é efetuada uma comparação com o lote de sistema, identificado como:

Na migração de dados da v9 para a v10, foram reportados problemas relacionados com a reintegração de todos os movimentos de inventário na nova infraestrutura, uma vez que foram detetadas as seguintes situações:

  • Artigos sem tratamento de lotes com registo de lotes diferente do lote de sistema;
  • Artigos que têm tratamento de lotes e apresentam o lote como sendo o de sistema.

Deverá primeiramente identificar os artigos que estão nesta situação e, de seguida, efetuar a respetiva correção.

Identificar artigos com lotes de sistema errados

Para identificar artigos com lotes de sistema errados, deverá executar a seguinte query.

Efetuar correção aos artigos com lotes errados

Para corrigir artigos com lotes errados, deverá executar a seguinte query.

Nota: Após efetuar a correção, e uma vez que são efetuados updates diretamente na base de dados que podem interferir tanto no cálculo de quantidades como no cálculo de custos, será necessário efetuar a reconstrução dos movimentos de inventário. Para tal, deverá executar o procedimento descrito área Reconstrução de movimentos de stock e de custeio.

Guardar ou partilhar este artigo
Esta página foi útil?
Obrigado pelo seu voto.

Faça login para deixar a sua opinião.

Obrigado pelo seu feedback. Iremos analisá-lo para continuarmos a melhorar!
Artigos Relacionados
Opções de configuração de diagnósticos Processo de migração de dados Como efetuar uma migração silenciosa de versões? Checklist Upgrade V10 Como efetuar o arquivo de dados de Inventário na migração para a v10?