每当我点击一个机会来定制它
下面的窗口打开
似乎自定义窗口正在尝试打开一个事件窗口,它应该打开一个机会图表窗口。显示的唯一错误是“无效的用户授权传递给平台的用户身份验证无效”并且调试窗口中没有错误。
笔记:
---更新1---
回应@ConorGallagher
它是任何机会图表还是特定的图表?
这是所有机会图表。他们都不会打开。
您是否尝试过打开开发人员工具并检查网络以查看到底发生了什么故障?
我有并且开发人员工具没有显示任何错误。
定制页面:
图表页面:
或者使用 fiddler 进行分析并找出究竟是什么失败了?
当我点击图表时,这就是我从 fiddler 得到的全部信息:
生产和开发之间是否有任何不同的加密设置?
两者的加密设置相同。
开发组织是生产的数据库副本还是新安装的?
开发组织是在就地升级之前工作的生产的副本。
当您直接登录到服务器并尝试自定义图表时会发生这种情况吗?
它发生在 PC 上,也直接发生在服务器上。
---更新2---
回应@ConorGallagher
我预计在开发人员工具的网络选项卡上的某个地方会出现 401(或某些 http 错误)。你能仔细检查那个标签只是为了看看。
我也会,但网络选项卡中的所有内容都是 200。除了第一个是 302。请参阅下面的 fiddler 输出。
回应@Pawel Gradecki
1) 您不应该检查开发人员工具是否有脚本错误,将选项卡切换到“网络”并检查那里是否有任何 HTTP 错误。
请参阅上面对我的网络窗口的@ConorGallagher 的快照^。
另外你没有在 fiddler 上开启 HTTPS 解密,所以你的日志意义不大,你应该先开启这个,然后重新检查 fiddler
我在这里道歉是启用解密的 fiddler 输出:
这更有帮助。该页面似乎无法找到源映射 (404),然后重定向到错误页面 (302)。我不确定它是否重定向是因为它找不到源映射或因为其他一些错误。
2) 检查服务器 Trace 日志,它们可以显示一些可用于故障排除的附加信息
https://raw.githubusercontent.com/MasterProgrammer200/stackoverflow/master/crm/log-opportunity-user-auth.txt
4) 您能否打开一些可用的图表设计器(例如帐户)并复制完整的 URL 并将其粘贴到单独的窗口中。对机会图表执行相同操作(将其复制并粘贴到单独的窗口)。如果它仍然不适用于 Opportunity 比较两个 URL,请尝试使用它们(交换一些查询字符串参数)。
我玩过网址
https://crmcanada-dev.url.com/main.aspx?appSolutionId=%7bFD140AAF-4DF4-11DD-BD17-0019B9312238%7d&extraqs=etc%3d1%26id%3d%7bA3A9EE47-5093-DE11-97D4-00155DA3B01E%7d&pagetype=vizdesigner#665349499
现在,如果我将 url 更改为:
https://crmcanada-dev.url.com/main.aspx?appSolutionId=%7bFD140AAF-4DF4-11DD-BD17-0019B9312238%7d&extraqs=etc%3d 3 %26id%3d%7bA3A9EE47-5093-DE11-97D4-00155DA3B01E%7d&pagetype=vizdesigner#665349499
(因为 1 是 Company 对象,3 是机会对象)。我仍然被重定向到无效的用户页面。
请记住非常仔细地检查服务器跟踪,因为它可以告诉您一些有意义的信息。如果你有什么东西,把它贴在这里,这样我们也可以看看。
见上面的链接^。
我想到的另一个想法 - 尝试备份您的组织数据库,以不同的名称恢复它,以不同的名称导入它(因此您应该在 DEV 上有一个单独的组织)。有时在组织导入过程中出现错误并不会停止导入本身,而是导致 CRM 出现一些奇怪的行为。检查这个重新导入的组织是否有同样的问题。
这将是最后的手段。
最佳答案
经过一周的恳求和向编程之神(又名 Microsoft 支持)的献祭,我们终于能够找出问题所在。
问题是,在从 CRM 2016 升级到 CRM 365 之前,我们已经删除了一个托管解决方案,但由于某种原因, View 中的一个字段没有使用它。当我们升级到 365 时,未删除的字段导致了错误。经过调查,我们在 View 创建器中有问题的字段旁边的圆圈中发现了一个感叹号。
为了解决这个问题,我们遍历了每个 View 并删除了对我们来说是 new_opportunitytype 的麻烦字段。然后我们使用波纹管查询来扫描 CRM 数据库中是否出现 new_opportunitytype 并且必须通过编辑 SystemFormBase 表中的 xml 将其从表单中删除
简而言之,隐藏你的 child ,隐藏你的妻子,检查你的观点,但最重要的是微软需要更好的错误处理。
来自 Microsoft 支持的有用查询:
/*This query searches the entire CRM database for the specified string*/
declare @TableName char(256)
declare @ColumnName char(256)
declare @FindString char(256)
declare @sql char(8000)
/*Replace X with character(s) you which to find and Y with its replacement*/
set @FindString = '[enter a guid or string or something]'
/*select o.name, c.name from syscolumns c inner join sysobjects o
on o.id = c.id
where o.xtype = 'U'*/
declare T_cursor cursor for
select o.name, c.name from sysobjects o inner join syscolumns c
on o.id = c.id
where o.xtype = 'U' and c.xtype in (175,239,99,231,35,167)
open T_cursor
fetch next from T_cursor into @TableName, @ColumnName
while (@@fetch_status <> -1)
begin
set @sql = 'if exists (select * from ' + rtrim(@TableName) + ' where ' + rtrim(@ColumnName) + ' like ''%' + rtrim(@FindString) + '%'')
begin
print ''Table = ' + rtrim(@TableName) + ' Column = ' + rtrim(@ColumnName) + '''
end'
exec(@sql)
fetch next from T_cursor into @TableName, @ColumnName
end
close T_cursor
deallocate T_cursor
关于authorization - Dynamics CRM 365 - 无效的用户授权传递给平台的用户身份验证无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42812776/