Como corrigir erros de dados que impedem a integração de gerenciamento Reporter

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 2931999
Sumário
Este artigo lista as etapas para executar um script de Diagnostics.sql para gerenciamento Reporter 2012 para Microsoft Dynamics SL 2011. Esse script pode identificar erros de dados que podem impedir a integração bem-sucedida de verificação de gerenciamento. Erros de dados podem originar-se em várias fontes e pode causar inconsistência entre tabelas ou criar valores de campo inválido.

Na parte inferior deste artigo também existem alguns scripts usados para localizar dados em minúsculas que podem causar problemas em MR.
Resolução
Baixe o seguinte arquivo de script e, em seguida, siga estas etapas para executar os scripts no banco de dados de aplicativo do Microsoft Dynamics SL na verificação de gerenciamento. Altere o tipo de saída para a Saída de texto para facilitar a visualização.

Observação: Essas mesmas informações estão contidas no arquivo Diagnostics2.Sql, que está incluído no arquivo MR2.zip.

Importante: Sempre faça um backup de banco de dados antes de atualizar os dados no Management Studio.

Etapa 1

  • Você tem mais de uma identificação de moeda configurar?

    Select 'Step1a', CASE WHEN COUNT(*)>1 then 'YES' else 'NO' end, count(*) from currncy with (nolock)

    Observação
    • Não = única moeda
    • Sim = várias moedas que são configuradas na manutenção de moeda e tem o número listado
  • Personalisável está habilitado?

    Select top 1 'Step1b',case isnull((select MAX(mcactivated) from cmsetup),-99) WHEN 1 then 'ENABLED' when -99 then 'NOT SETUP' else 'NOT ENABLED' end

    Observação: Esse script retorna "Ativado" ou "Não configurado."

Etapa 2

Procure um registro de configuração de moeda incorreto. Avalie cada situação. Para obter ajuda fazer isso, entre em contato com o suporte técnico do Microsoft Dynamics.
  • Isso deve ser a moeda base do banco de dados do aplicativo:

    Select 'Step2a',BaseCuryId from glsetup with (nolock)

  • A moeda Base da razão real (saldo tipo = 'a') deve ser a moeda base do banco de dados.

    Select 'Step2b',BaseCuryID,LedgerID, BalanceType from ledger with (nolock)
  • O campo BaseCuryID de todas as empresas em um banco de dados determinado aplicativo deve ser os mesmos.

  • Esse script mostra o campo BaseCuryID de todos os bancos de dados de aplicativo que estão associadas com o banco de dados do sistema.

    Select 'Step2c',BaseCuryID, CpnyID, databasename from vs_company with (nolock)
  • O campo BaseCuryIDs deve existir na tabela de manutenção de moeda. As moedas estrangeiras também devem existir na tabela.

    Select 'Step2d',curyid from currncy with (nolock)

Etapa 3

Procure valores incorretos para os campos CuryID e ledgerIDnos registros de transação e resumo. Essas instruções acessem somente os registros da lista dos 100 melhores. Para ver todos os registros, remova as palavras "100 principais" do script.
  • Accthist que tem uma identificação de moeda que não esteja na tabela de manutenção de moeda.

    Select top 100 'Step3a',CpnyID, LedgerID, FiscYr, Acct, SUB, CuryId, * from accthist with (nolock) where CuryId not in (select CuryId from Currncy with (nolock))

    Correção: Talvez seja necessário atualizar o campoCuryID para corresponder ao campo BaseCuryID . No entanto, esse registro pode já existir. Nesse caso, você receberá uma mensagem 6909. Se isso ocorrer, determine se o registro é necessário.

  • Accthist que tem uma identificação de moeda que não coincide com o razão de registro (ou para uma razão que não esteja na tabela de contabilidade).

    Select top 100 'Step3b',a.CpnyID, a.LedgerID, a.FiscYr, a.Acct, a.SUB, a.CuryId, l.BaseCuryID,* from accthist a with (nolock) left join Ledger l with (nolock) on a.LedgerID=l.LedgerID where l.LedgerID is null OR l.BaseCuryID<>a.CuryId

    Correção: A atualização depende de cada situação.

  • CuryAcct com um CuryID não esteja na tabela de manutenção de moeda.

    Select top 100 'Step3c',CpnyID, LedgerID, FiscYr, Acct, SUB,BaseCuryID, CuryId, * from curyacct with (nolock) where CuryId not in (select CuryId from Currncy with (nolock))

    Correção: A atualização depende de cada situação. Talvez você precise excluir o registro mais tarde, se não houver nenhum registro correspondente do AcctHist. Além disso, talvez você precise atualizar o campo CuryID . No entanto, esse registro pode já existir. Nesse caso, você receberá uma mensagem 6909. Se isso ocorrer, determine se o registro é necessária.

  • CuryAcct com um BasecuryID que não coincide com o registro de razão (ou para uma razão que não esteja na tabela de contabilidade).

    Select top 100 'Step3d',c.CpnyID, c.LedgerID, c.FiscYr, c.Acct, c.SUB,c.BaseCuryID, c.CuryId,l.BaseCuryID, * from curyacct c with (nolock) left join Ledger l with (nolock) on c.LedgerID=l.LedgerID where l.LedgerID is null OR c.BaseCuryID<>l.BaseCuryId

    Correção: A atualização depende de cada situação.

  • GLTran com um CuryID não esteja na tabela de manutenção de moeda.

    Select top 100 'Step3e',CpnyID, LedgerID, FiscYr, Acct, SUB,BaseCuryID, CuryId,* from gltran with (nolock) where Posted='P' and CuryId not in (select CuryId from Currncy)

    Correção: A atualização depende de cada situação. Talvez seja necessário atualizar o campoCuryId para um valor válido.

  • GLTran com um valor de campo de BaseCuryID que não coincide com o registro de razão (ou para uma razão que não esteja na tabela de contabilidade).

    Select top 100 'Step3f',g.CpnyID, g.LedgerID, g.FiscYr, g.Acct, g.SUB, g.BaseCuryID, g.CuryId, * from gltran g with (nolock) left join Ledger l with (nolock) on g.LedgerID=l.LedgerID where g.Posted='P' and g.LedgerID is null OR l.BaseCuryID<>g.BaseCuryId

    Corrigir: atualização dependerão de cada situação. Talvez seja necessário atualizar o campoBaseCuryID para um valor válido.

Etapa 4

Procure registros de resumo não correspondentes.
  • Localize registros de CuryAcct sem AcctHist registros.

    Select top 100 'Step4a',c.CpnyID, c.LedgerID, c.FiscYr, c.Acct, c.Sub, c.BaseCuryID, c.CuryId,*from CuryAcct c with (nolock)left join AcctHist a with (nolock) on c.CpnyID=a.CpnyID and c.Acct=a.Acct and c.Sub=a.Sub and c.LedgerID=a.LedgerID and c.FiscYr=a.FiscYrwhere a.CpnyID is null order by c.CpnyID, c.Acct, c.SUB, c.ledgerid, c.FiscYr

    Correção: Execute o script de Fix4a.SQL de MR2.zip única moeda e moeda vários bancos de dados se erros são relatados.

  • Encontre Accthist sem CuryAcct registros.

    Select top 100 'Step4b',a.CpnyID, a.LedgerID, a.FiscYr, a.Acct, a.Sub, a.CuryId, *from AcctHist a with (nolock)left join Curyacct c with (nolock) on c.CpnyID=a.CpnyID and c.Acct=a.Acct and c.Sub=a.Sub and c.LedgerID=a.LedgerID and c.FiscYr=a.FiscYrwhere a.BalanceType='A' and c.CpnyID is null order by a.CpnyID, a.Acct, a.SUB, a.ledgerid, a.FiscYr

    Correção: Bancos de dados personalisável, ou inicializar um registro de curyacct no modo de inicialização do GL > histórico de conta ou lançar uma transação para a conta/sub/contabilidade/fiscyr/cpnyid/curyid. Criar ou atualizar um registro de curyacct no GL > histórico da conta > guia de moeda, você deve inserir os dados para cada período. Quando você cria um lote para lançar uma transação para a conta, isso deve criar um registro de CuryAcct que contém os valores para cada período. Certifique-se de que você use o ano em que o erro é relatado como o ano de lançamento. Em seguida, inverta o lote para remover dólares da conta.

    Para um banco de dados de moeda única, abra o registro no GL > histórico da conta durante o modo de inicialização se houver apenas um ou dois registros. Alterar o saldo inicial por algum, salvar o registro, revertê-lo e, em seguida, salve-o novamente. Isso cria o registro de curyacct. Ou, você pode executar o script na etapa 6a nesta seção.

  • GLTrans sem AcctHist

    Essa consulta será executado lentamente se houver muitas entradas de gltrans e se todas as entradas são válidas. (A consulta, na verdade, é executada mais rapidamente se há dados inválidos).

    Select top 100 'Step4c',g.CpnyID, g.LedgerID, g.FiscYr, g.Acct, g.Sub, g.BaseCuryID, g.CuryId,* from GLTran g with (nolock)left join AcctHist a with (nolock) on g.CpnyID=a.CpnyID and g.Acct=a.Acct and g.Sub=a.Sub and g.LedgerID=a.LedgerID and g.FiscYr=a.FiscYrinner join vs_company c with (nolock) on g.CpnyID=c.CpnyID and c.CpnyCOA in (select CpnyID from glsetup with (nolock)) -- only companies in this application DBwhere g.posted='P' and a.CpnyID is null order by g.CpnyID, g.LedgerID, g.FiscYr, g.Acct, g.Suboption (force order) -- added for performance in larger databases

    Correção: Avalie as entradas de campo GLtrans . Se não houver nenhum registro de AcctHist, as finanças não estiver usando essas transações para relatórios
  • Normalmente, isso ocorre porque as transações são antigas. Você poderá excluí-los ou executar alguma outra ação. Avalie cuidadosamente essas entradas.

Etapa 5

Procure registros de GLTrans que tenham datas inválidas ou períodos. Esses registros podem causar os seguintes erros na verificação de gerenciamento:
  • Texto do erro: parâmetros de ano, mês e dia descrevem um DateTime unrepresentable.
  • Texto de erro: referência de objeto não está definida para uma instância de um objeto.
  • GLTrans os registros que têm um campo FiscYr em branco.

    Select top 100 'Step5a',CpnyID, LedgerID, FiscYr, Acct, Sub, perpost, perent, trandate, Posted, Rlsed, BatNbr, Module, * from GLTran with (nolock) where FiscYr='' and (Rlsed=1 or Posted='P')

    Corrigir: atualizar o campo FiscYrcom base no valor perpost.

  • GLTrans os registros que têm um valor de perpost é muito fora de um intervalo normal.

    Select top 100 'Step5b',CpnyID, LedgerID, FiscYr, Acct, Sub, perpost, perent, trandate, Posted, Rlsed, BatNbr, Module, *from GLTran with (nolock) where (PerPost>='204812' or PerPost<='195001') and (Rlsed=1 or Posted='P')

    Correção: Esses lotes todos provavelmente terão um período futuro para lançar. Você pode abrir esses lotes no GL > transações de diário durante o modo de inicialização.
    Excluí-los, altere o período para lançar ou processá-las, conforme apropriado.

  • GLTrans os registros que têm um valor de transdate está muito fora de um intervalo normal (com freqüência por não ter um ano 2079).

    Select top 100 'Step5c',CpnyID, LedgerID, FiscYr, Acct, Sub, perpost, perent, trandate,Posted, Rlsed, BatNbr, Module, *from GLTran with (nolock) where (trandate>='01/01/2048' or trandate<='01/01/1950') and (Rlsed=1 or Posted='P') and TranDate<>'1/1/1900'

    Corrigir: Atualizar trandate para crtd_datetime. Esse script mostra como.

    update gltran set trandate=crtd_datetime where (trandate>='01/01/2048' or trandate<='01/01/1950') and (Rlsed=1 or Posted='P') and TranDate<>'1/1/1900' 

  • AcctHist registros com um campo FiscYr muito fora de um intervalo normal.

    Select top 100 'Step5d',a.CpnyID, a.LedgerID, a.FiscYr, a.Acct, a.Sub, a.CuryId, *from AcctHist a with (nolock) where a.FiscYr>'2048' or a.FiscYr<'1950'

    Correção: São registros provavelmente indesejados. Na manipulação de dados Historicamente, você pode ter definido o ano fiscal para um ano futuro para manter os registros para posterior revisão possível.

Etapa 6

Localize instâncias em que valores no registro AcctHist não coincidem com os valores do registro CuryAcct .

Observação: Execute esta instrução somente depois que foram corrigidos os problemas nas etapas 1 a 5.

select top 1000 'Step6a', a.CpnyID, a.Acct, a.Sub, a.LedgerID, a.FiscYr, c.numCuryAcct, a.BegBal, c.begbal, a.PtdBal00, c.ptdbal00, a.PtdBal01, c.ptdbal01, a.PtdBal02, c.ptdbal02,   a.PtdBal03, c.ptdbal03, a.PtdBal04, c.ptdbal04, a.PtdBal05, c.ptdbal05, a.PtdBal06, c.ptdbal06, a.PtdBal07, c.ptdbal07, a.PtdBal08, c.ptdbal08,   a.PtdBal09, c.ptdbal09, a.PtdBal10, c.ptdbal10, a.PtdBal11, c.ptdbal11, a.PtdBal12, c.ptdbal12, a.ytdBal00, c.ytdbal00, a.ytdBal01, c.ytdbal01,  a.ytdBal02, c.ytdbal02, a.ytdBal03, c.ytdbal03, a.ytdBal04, c.ytdbal04, a.ytdBal05, c.ytdbal05, a.ytdBal06, c.ytdbal06, a.ytdBal07, c.ytdbal07,   a.ytdBal08, c.ytdbal08, a.ytdBal09, c.ytdbal09, a.ytdBal10, c.ytdbal10, a.ytdBal11, c.ytdbal11, a.ytdBal12, c.ytdbal12  from AcctHist a inner join (select count(*) as numCuryAcct, CpnyID, Acct, Sub, LedgerID, FiscYr, SUM(begbal) as begbal, SUM(ptdbal00) as ptdbal00, SUM(ptdbal01) as ptdbal01, SUM(ptdbal02) as ptdbal02, SUM(ptdbal03) as ptdbal03, SUM(ptdbal04) as ptdbal04, SUM(ptdbal05) as ptdbal05, SUM(ptdbal06) as ptdbal06, SUM(ptdbal07) as ptdbal07, SUM(ptdbal08) as ptdbal08, SUM(ptdbal09) as ptdbal09, SUM(ptdbal10) as ptdbal10, SUM(ptdbal11) as ptdbal11,SUM(ptdbal12) as ptdbal12, SUM(ytdbal00) as ytdbal00, SUM(ytdbal01) as ytdbal01, SUM(ytdbal02) as ytdbal02, SUM(ytdbal03) as ytdbal03, SUM(ytdbal04) as ytdbal04, SUM(ytdbal05) as ytdbal05, SUM(ytdbal06) as ytdbal06, SUM(ytdbal07) as ytdbal07, SUM(ytdbal08) as ytdbal08, SUM(ytdbal09) as ytdbal09, SUM(ytdbal10) as ytdbal10, SUM(ytdbal11) as ytdbal11, SUM(ytdbal12) as ytdbal12from curyacct group by CpnyID, Acct, Sub, LedgerID, FiscYr) c   on a.CpnyID=c.CpnyID and a.Acct=c.Acct and a.Sub=c.Sub and a.LedgerID=c.LedgerID and a.FiscYr=c.FiscYr  where round(a.BegBal,2)<>round(c.begbal,2) or round(a.PtdBal00,2)<>round(c.PtdBal00,2) or round(a.PtdBal01,2)<>round(c.PtdBal01,2) or   round(a.PtdBal02,2)<>round(c.PtdBal02,2) or round(a.PtdBal03,2)<>round(c.PtdBal03,2) or round(a.PtdBal04,2)<>round(c.ptdbal04,2) or   round(a.PtdBal05,2)<>round(c.PtdBal05,2) or round(a.PtdBal06,2)<>round(c.PtdBal06,2) or round(a.PtdBal07,2)<>round(c.PtdBal07,2) or   round(a.PtdBal08,2)<>round(c.PtdBal08,2) or round(a.PtdBal09,2)<>round(c.PtdBal09,2) or round(a.PtdBal10,2)<>round(c.PtdBal10,2) or   round(a.PtdBal11,2)<>round(c.PtdBal11,2) or round(a.PtdBal12,2)<>round(c.PtdBal12,2) or round(a.ytdBal00,2)<>round(c.ytdBal00,2) or   round(a.ytdBal01,2)<>round(c.ytdBal01,2) or round(a.ytdBal02,2)<>round(c.ytdBal02,2) or round(a.ytdBal03,2)<>round(c.ytdBal03,2) or   round(a.ytdBal04,2)<>round(c.ytdbal04,2) or round(a.ytdBal05,2)<>round(c.ytdBal05,2) or round(a.ytdBal06,2)<>round(c.ytdBal06,2) or   round(a.ytdBal07,2)<>round(c.ytdBal07,2) or round(a.ytdBal08,2)<>round(c.ytdBal08,2) or round(a.ytdBal09,2)<>round(c.ytdBal09,2) or   round(a.ytdBal10,2)<>round(c.ytdBal10,2) or round(a.ytdBal11,2)<>round(c.ytdBal11,2) or round(a.ytdBal12,2)<>round(c.ytdBal12,2)

Para um banco de dados de moeda única, abra o registro no GL > histórico da conta durante o modo de inicialização se houver apenas alguns registros. Alterar o saldo inicial por algum, salvar o registro, reverter o registro e, em seguida, salve-o novamente. Isso atualiza o registro de Curyacct para corresponder ao registro do Accthist . Se houver muitos registros, execute o script ResetCuryAcctfromAcctHistStep6a.sql do arquivo MR2.zip.

Em um banco de dados do personalisável, abra GL > histórico da conta durante o modo de inicialização se houver apenas alguns registros e em seguida, clique na guia moedacorrigir cada período individualmente, conforme apropriado. Se houver muitos registros, execute o script MultiCurrencyStep6aFix.sql do arquivo MR2.zip. Qualquer alteração é feita no registro de BaseCuryID .

Depois que você concluir a etapa 6, execute novamente o script Diagnostics2.SQL para verificar se ele não relata erros.



Scripts adicionais para localizar dados em minúsculas que podem causar problemas em MR.

Esse script examina para vários registros onde os Company.DatabaseName não têm o mesmo caso (ex: SLDemoApp e SLDEMOAPP). Execute esse script no banco de dados do sistema.

Selecione c.DatabaseName, c.CpnyID da empresa c associação externa esquerda Databases sd em c.DatabaseName de INTERCALAÇÃO Latin1_General_CS_AS = sd.name Latin1_General_CS_AS de INTERCALAÇÃO

onde sd.name é nula e DatabaseName em (select c1. DatabaseName da empresa c1 associação externa esquerda empresa c2 em c1. DatabaseName = c2. DatabaseName onde c1. DatabaseName = c2. DatabaseName e c1. DatabaseName COLLATE Latin1_General_CS_AS! = c2. DatabaseName COLLATE Latin1_General_CS_AS)

Para corrigir: atualizar databasename para estar em maiúsculas.




Esse script examina para minúsculas ID da empresa e subconta nas tabelas accthist, curyacct e gltran. Execute esse script no banco de dados do sistema.


DECLARAR @DbName VARCHAR(50)
DECLARAR @useStatement VARCHAR(256)
DECLARAR @fullStatement VARCHAR(8000)

DECLARAR db_cursor para o CURSOR
Selecione DatabaseName distinta da empresa

Abrir db_cursor
BUSCAR próximo de db_cursor INTO @DbName

ENQUANTO @@FETCH_STATUS = 0
BEGIN

set @DbName = LTRIM(RTRIM(@DbName))
Definir @useStatement = 'USE' + @DbName + '
Definir @fullStatement = '
Selecione sub como ' Sub - AcctHist-' + @DbName + ' ', *
DE AcctHist
ONDE UPPER(sub) <> sub Latin1_General_CS_AS de INTERCALAÇÃO

Selecione sub como ' Sub - GLTran-' + @DbName + ' ', *
DE GLTran
ONDE UPPER(sub) <> sub Latin1_General_CS_AS de INTERCALAÇÃO


Selecione sub como ' Sub - CuryAcct-' + @DbName + ' ', *
DE CuryAcct
ONDE UPPER(sub) <> sub Latin1_General_CS_AS de INTERCALAÇÃO

Selecione CpnyID como ' CpnyID - AcctHist-' + @DbName + ' ', *
DE AcctHist
ONDE UPPER(CpnyID) <> CpnyID Latin1_General_CS_AS de agrupar

Selecione CpnyID como ' CpnyID - GLTran-' + @DbName + ' ', *
DE GLTran
ONDE UPPER(CpnyID) <> CpnyID Latin1_General_CS_AS de agrupar


Selecione CpnyID como ' CpnyID - CuryAcct-' + @DbName + ' ', *
DE CuryAcct
ONDE UPPER(CpnyID) <> CpnyID Latin1_General_CS_AS de agrupar


Selecione SUB como ' Sub - SubAcct-' + @DbName + ' ', * de SubAcct onde (SUB collate sql_latin1_general_cp1_cs_as <> upper(SUB))
ou (intercalação de ConsolSub sql_latin1_general_cp1_cs_as <> upper(ConsolSub))
'

EXEC (@useStatement + @fullStatement)

BUSCAR próximo de db_cursor INTO @DbName
END

Fechar db_cursor
DESALOCAR db_cursor




Para corrigir: se você encontrar qualquer minúsculas subcontas você pode executar para colocá-los em letras maiúsculas.


Atualizar GLTran definir Sub = UPPER(Sub)

Atualizar AcctHist definir Sub = UPPER(Sub)

Atualizar CuryAcct definir Sub = UPPER(Sub)



Se você encontrar qualquer minúsculas empresa IDs você pode executar para colocá-los em letras maiúsculas.

Atualizar accthist set cpnyid = UPPER(cpnyid) onde UPPER(CpnyID) <> CpnyID Latin1_General_CS_AS de INTERCALAÇÃO

Atualizar curyacct set cpnyid = UPPER(cpnyid) onde UPPER(CpnyID) <> CpnyID Latin1_General_CS_AS de INTERCALAÇÃO

Atualizar gltran set cpnyid = UPPER(cpnyid) onde UPPER(CpnyID) <> CpnyID Latin1_General_CS_AS de INTERCALAÇÃO



Esse script examina para minúsculas LedgerID nas tabelas accthist, curyacct e gltran. Execute esse script no banco de dados do aplicativo.

Selecione principais 1 LedgerID do AcctHist onde UPPER(LedgerID) <> LedgerID Latin1_General_CS_AS de agrupar

Selecione principais 1 LedgerID do GLTran onde UPPER(LedgerID) <> LedgerID Latin1_General_CS_AS de agrupar

Selecione principais 1 LedgerID do CuryAcct onde UPPER(LedgerID) <> LedgerID Latin1_General_CS_AS de agrupar



Para corrigir: se você encontrar qualquer minúsculas do LedgerID você pode executar para colocá-los em letras maiúsculas.

Atualizar GLTran set LedgerID = UPPER(LedgerID) onde LedgerID de INTERCALAÇÃO Latin1_General_BIN como '% % [a-z]'

Atualizar AcctHist set LedgerID = UPPER(LedgerID) onde LedgerID de INTERCALAÇÃO Latin1_General_BIN como '% % [a-z]'

Atualizar CuryAcct set LedgerID = UPPER(LedgerID) onde LedgerID de INTERCALAÇÃO Latin1_General_BIN como '% % [a-z]'


Esse script examina para minúsculas CuryID nas tabelas accthist, curyacct e gltran. Execute esse script no banco de dados do aplicativo.

Selecione principais 1 CuryID do AcctHist onde UPPER(CuryID) <> CuryID Latin1_General_CS_AS de agrupar

Selecione principais 1 CuryID do GLTran onde UPPER(CuryID) <> CuryID Latin1_General_CS_AS de agrupar

Selecione principais 1 CuryID do CuryAcct onde UPPER(CuryID) <> CuryID Latin1_General_CS_AS de agrupar



Para corrigir:2964624.

Aviso: este artigo foi traduzido automaticamente

プロパティ

文書番号:2931999 - 最終更新日: 06/15/2015 13:09:00 - リビジョン: 7.0

Microsoft Dynamics SL 2011 Service Pack 2, Microsoft Dynamics SL 2011 Service Pack 1, Microsoft Dynamics SL 2011 Feature Pack 1, Microsoft Dynamics SL 2011

  • kbmbsmigrate kbsurveynew kbmt KB2931999 KbMtpt
フィードバック