Forum
See question

PCM não está a atualizar automaticamente   

48 views
0
0

A aplicação não está a atualizar o PCM automaticamente. Posso dar uma entrada e não atualiza o PCM.

Faça login para poder traduzir
Inventário
Primavera
Marked as spam
Criado há 3 anos e 5 meses maria
maria Most Valuable Professional
2 answers
0
Private answer

Boa tarde

O significa o estado "3" na coluna "State" da tabela "BAS_IntegrationServiceQueue"?

 

 

Faça login para poder traduzir
Marked as spam
Criado há 2 anos e 9 meses paulogonalves
p
paulogonalves Iniciante
    Comments
    Junto envio a informação relativamente aos estados da tabela: BAS_IntegrationServiceQueue * PRIXXX.DBO.BAS_IntegrationServiceQueue - Tarefas de calculo de inventário tem os seguintes estados: o 0 - Não processado o 1 - Processado o 2 - Com erros no processamento o 3 - Em processamento
    2 anos e 9 meses
    armandogonalves
      1
      Private answer

      O recálculo de Stocks / Custeio na V10 é efetuado automaticamente pelo Serviço Primavera Bot. Neste sentido é necessário garantir que o Serviço Primavera BOT está ativo e operacional. Neste sentido e de forma a ultrapassar o problema exposto valide por favor:

      • Que possui as últimas builds do módulo de inventário;
      • Que o serviço Bot está ativo;
      • Validar que não existem tarefas pendentes por executar;

      select *

      from bas_integrationservicequeue

      where state = 0

      order by creationdate

       

      Observação: A tabela onde são criadas as tarefas de atualização de inventário é a "BAS_IntegrationServiceQueue", onde o estado "0" na coluna "State" significa que ainda não foi executada, "1" foi executada com sucesso e "2" em erro.

      • No caso de as tarefas não estarem a ser executadas é sugerido a reparação da instalação dos módulos PLT, BAS, ERP, DBM, INV e do Bot.
      • Validar que todos os triggers estão ativos – a coluna disable do resultado da query tem de estar a 0 em todas as linhas.

       

      SELECT

      sysobjects.name AS trigger_name

      ,USER_NAME(sysobjects.uid) AS trigger_owner

      ,s.name AS table_schema

      ,OBJECT_NAME(parent_obj) AS table_name

      ,OBJECTPROPERTY( id, 'ExecIsUpdateTrigger') AS isupdate

      ,OBJECTPROPERTY( id, 'ExecIsDeleteTrigger') AS isdelete

      ,OBJECTPROPERTY( id, 'ExecIsInsertTrigger') AS isinsert

      ,OBJECTPROPERTY( id, 'ExecIsAfterTrigger') AS isafter ,OBJECTPROPERTY( id, 'ExecIsInsteadOfTrigger') AS isinsteadof

      ,OBJECTPROPERTY(id, 'ExecIsTriggerDisabled') AS [disabled]

      FROM sysobjects

      INNER JOIN sysusers

      ON sysobjects.uid = sysusers.uid

      INNER JOIN sys.tables t

      ON sysobjects.parent_obj = t.object_id

      INNER JOIN sys.schemas s

      ON t.schema_id = s.schema_id WHERE sysobjects.type = 'TR'

       

      • No caso de possuir algum trigger desativado é necessário ativar o mesmo.
      • Pode ainda forçar a execução do recálculo de stocks / custeio no ERP, através dos seguintes passos:

       

      Para que o serviço seja "forçado" a iniciar, pode fazer-se o seguinte de forma a ultrapassar o problema exposto:

      1. Criar um artigo
      2. Lançar um documento interno de entrada de stock
      3. Lançar um documento interno de saída de stock
      4. Editar o documento do ponto 2 e alterar o preço

      Como houve uma alteração de custo numa entrada, será criada uma tarefa para atualização de custos/margens nas saídas, forçando assim o serviço a executar aquela tarefa. No momento que o serviço for executado todas as tarefas pendentes serão consideradas e executadas por ordem. No final o artigo criado anteriormente pode ser anulado após remover as linhas nos documentos internos.

       

      Se após todos os passos anteriores o problema exposto ainda persistir pode executar ainda o recálculo de stocks primeiramente numa base de dados clone

      exec dbo.std_droptemptable '#tempregistoscalcstock'

      Go

      select product = im.artigo

      , [data] = min(im.[data])

      , lot = im.lote

      , [location] = im.localizacao

      , warehouse = im.armazem

      , stockstate = im.estadostock

      , lastmovement = 0

      , ruturastocks = cast(0 as tinyint)

      , a.tratamentolotes

      into #tempregistoscalcstock

      from inv_movimentos im

      inner join INV_Origens o on o.Id = im.IdOrigem

      inner join Artigo a on a.Artigo = im.Artigo

      --WHERE o.Documento = 'ge 2019/1'

      where im.Artigo = 'coloca aqui o codigo do artigo' --para filtrar por artigo

      and im.Data > 'colocar aqui a data de inicio' -- para definir a data de inicio

      --and o.documento = 'colocar aqui o codigo do documento: Tipo Serie/Numero' --para filtrar por documento

      group by im.artigo

      , im.armazem

      , im.localizacao

      , im.lote

      , im.estadostock

      , a.tratamentolotes

      exec inv_actualizastockbulk 1, ''

      GO

      No caso de o problema exposto persistir pode ainda forçar a execução das tarefas do BOT através do Hurakan(imagem1):

      • Aceder a Diretoria instalaçãoPRIMAVERASG100AplHUR
      • Executar o Primavera.Hurakan.exe como administrador
      • Escrever 'r' para iniciar a execução das tarefas
      Faça login para poder traduzir
      Attachments:
      Marked as spam
      Criado há 3 anos e 5 meses maria
      maria Most Valuable Professional