Sintomas

Você tem anotações duplicadas ou cruzadas no Microsoft Dynamics GP.Este artigo fornece um script que pode ser usado para determinar o índice de observação mais alto atribuído em uma determinada empresa. Você também pode usá-lo para redefinir seu próximo valor de índice de observação para o próximo número mais alto. Isso impedirá que outros índices de observação daqui para frente sejam vinculados ou incorretos.Isso não corrigirá índices de observação que já estão incorretos.

Causa

O próximo índice de observação na tabela master (SY01500) da empresa foi definido muito baixo, fazendo com que novos registros recebam índices de observação iguais aos outros.Resolução 1. Faça um backup do DYNAMICS e de todos os bancos de dados da empresa.2. Execute a instrução a seguir no banco de dados da empresa que tem as anotações duplicadas ou cruzadas.Nota  Se você estiver usando o Analisador de Consultas, execute a instrução no SQL Query Analyzer. Para abrir o Analisador de Consultas, clique em Iniciar , aponte para Programas , aponte para Microsoft SQL Server e clique em Analisador de Consultas . Se você estiver usando o Microsoft SQL Server Management Studio, execute a instrução no Microsoft SQL Server Management Studio. Para abrir o Management Studio, clique em Iniciar , aponte para Programas , aponte para o Microsoft SQL Server 2005/2008/2012 e clique em SQL Server Management Studio . Para executar um script, clique em Nova Consulta .

--------------------------------------------- /*** FindMaxNoteIndex.SQL ** **Propósito: ** ** Encontre o valor máximo de NOTEINDX de todas as tabelas, incluindo a Contabilidade do Projeto. ** ** Esse script deve ser executado na empresa na qual as anotações estão incorretas.** ele atualizará automaticamente seu SY01500 para você para o índice de próxima anotação correto.** */ se existir (selecione * em tempdb.. sysobjects where name = '##GPSMaxNote') drop table dbo.##GPSMaxNote definir nocount em criar tabela ##GPSMaxNote (MaxNoteIndex numeric(19,5) null) Ir----------------------- declare @cStatement varchar(255) /* Valor do t_cursor */ declare @noteidx numérico(19,5) declare @database como varchar(5) set @database = cast(db_name() as varchar(5))/* Obter as tabelas que têm um nome de coluna de NOTEINDX. */declarar T_cursor cursor para selecione 'declare @NoteIndex numérico(19,5) selecione @NoteIndex = max(' +c.name+ ') de ' + o.name + ' inserir ##GPSMaxNote valores(@NoteIndex)' de sysobjects o, syscolumns c onde o.id = c.id e o.type = 'U' e (c.name = 'NOTEINDX' ou c.name como '%noteidx%' ou c.name como '%niteidx%' ou c.name ='NOTEINDX2')/* Ok, temos a lista de tabelas. Agora, obtenha o valor máximo de NOTEINDX de cada tabela. */abrir T_cursor buscar em seguida de T_cursor para @cStatement enquanto (@@fetch_status <> -1) Começar exec (@cStatement) buscar em seguida de T_cursor para @cStatement Final desalocar T_cursor/* Exibir índice de nota máxima */ selecione 'Max Note Index:', max(MaxNoteIndex) em ##GPSMaxNote em que MaxNoteIndex não é nulo/* Atualizar Índice de Próxima Observação */ usar DYNAMICS set @noteidx = (selecione max(MaxNoteIndex) em ##GPSMaxNote em que MaxNoteIndex não é nulo) atualizar SY01500 definir NOTEINDX = (@noteidx + 1,0) em que INTERID=@database definir nocount off-------------------------------------------------------------------------- Isso encontrará o índice de nota máxima para todas as empresas e atualizará a tabela SY01500 para garantir que as notas não serão vinculadas cruzadas daqui para frente.3. Repita a Etapa 2 para cada banco de dados da empresa que tem índices de notas interligados. Este artigo foi TechKnowledge Document ID: 4837

APLICA-SE A

Microsoft Dynamics GP 9.0

Microsoft Business Solutions–Great Plains 8.0

Microsoft Business Solutions–Great Plains 7.5

Microsoft Great Plains eEnterprise 7.0

Microsoft Great Plains Dynamics 7.0

Great Plains eEnterprise 6.0

Great Plains Dynamics 6.0

System Manager

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.