| ♥ 0 | A aplicação não está a atualizar o PCM automaticamente. Posso dar uma entrada e não atualiza o PCM. Marked as spam |
| Private answer Boa tarde O significa o estado "3" na coluna "State" da tabela "BAS_IntegrationServiceQueue"?
Marked as spam 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 | |
| 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:
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.
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'
Para que o serviço seja "forçado" a iniciar, pode fazer-se o seguinte de forma a ultrapassar o problema exposto:
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):
Marked as spam |