问题标签 [soql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
15477 浏览

salesforce - LimitException:查询行太多:来自 count() 聚合函数的 50001

我有一个 Visualforce 页面,我想在其中显示特定 sObject 表中记录数的计数。

在 Visualforce 页面中,我有一些相当简单的内容,例如:

然后在控制器中:

我认为使用 SOQL 中的 limit 子句会很好,因为它每次最多只能返回 50,000。但是,在实践中,我仍然在生产组织中遇到此异常:

09:29:12:179 SOQL_EXECUTE_BEGIN [108]|Aggregations:0|select count() from Account where SomeCustomField__c = 'Client' limit 50000

09:29:12:331 EXCEPTION_THROWN [108]|System.LimitException:查询行太多:50001

有没有一种安全的方法来执行这个不会导致我无法捕获的异常的查询?

奇怪的是,如果我在生产中尝试以下匿名顶点,它工作得很好并返回 50,000。

也许问题是导致问题的所有操作中查询行的累积数量,我需要在运行查询之前检查代码中的限制?


Force.com 讨论板上有一个类似的帖子 - Too many query rows on COUNT(*) function。我无法将 VF 页面设置为只读以增加查询行限制。

0 投票
1 回答
1918 浏览

subquery - 如何更新子查询字段?销售人员,soql,顶点

这是一个查询,它将让我所有的联系人都有高清质量的订单。

然后我更改使用这些代码来更新每个联系人的高清订单数:

现在,问题是如何更新联系人。作为“更新订单”;不会更新联系人。

0 投票
1 回答
2512 浏览

salesforce - Salesforce/Apex 参数在报告循环中传递

我有一个问题,我似乎无法找到解决方案。

我正在为客户制作一个作为 PDF 格式的 VisualForce 页面,这基本上是一个格式整齐的报告,没有输入文本框等,而且我在访问某些数据(即附件)时遇到了麻烦。

附件通常是机会的一部分,但是,这是一个相当定制的设置,所以我们有两个自定义对象挂在存储数据的机会表上。除了图像附件,我已经检索了所有常规数据。

基本上,Opportunities 有一个自定义对象 SFDC_520_Quote__c,客户称之为“房间”,然后每个房间都有一个选择的 SFDC_520_QuoteLine__c 附加到它的对象,这些对象具有产品等的链接,我可以这样做。

但是,附加在这个“房间”级别的图像被赋予了 SFDC_520_Quote__c.id 字段的 ParentID,这使得我很难将 SOQL 语句放在一起来读取数据,因为 SFDC_520_Quote__c 和附件之间没有定义的关系。

我意识到我可以添加一个字段,但我不知道在我从其他人离开时如何在可用的时间内更新现有数据。

理想情况下,我在visualforce页面中需要做的是在重复循环期间将参数传递给控制器​​类,然后调用另一个可以对其进行操作的getter,但我无法在控制器端设置变量。

示例(严重截断):

我的控制器:

以上工作正常,但在第一个内部之后我需要获取附件。附件基于 room.id,所以理想情况下,我需要将 room.id 传递给像“getAttachments”这样的吸气剂,除非你不能将参数从 visualforce 传递给吸气剂。

所以,它可能看起来像:

然后添加到控制器:

那,或者修改我原来的 getAllRooms() 方法以一次性完成上述操作的方法,没有关系字段,我无法弄清楚如何使用正确编译的 WHERE 进行子选择。

我见过大量的例子,它们都在谈论使用查询字符串参数,但是没有涉及到表单,没有刷新,只是调用了一个 VF 页面。

请帮忙。

0 投票
1 回答
3568 浏览

escaping - SOQL 转义字符

我正在尝试让我的 Escape 角色在 Force.com 资源管理器中工作。

这正是 Salesforce 中数据的样子,

等待托管人数据 - 等待“8”

我需要使用这样的查询语句过滤这些数据,

其中 policy__r.Policy_Status__c = '等待保管人数据 - 待定'8''

这是我尝试过的,但我无法开始工作,

'等待托管人数据 - 待定 \'8\''

'等待托管人数据 - 待定''8'''

'等待保管人数据 - 待处理 \'\8\'\'

'等待托管人数据 - 待定'8''

“等待保管人数据 - 待定“8””

我不知道什么在这里不起作用,有人知道吗?

0 投票
3 回答
3429 浏览

salesforce - 通过电子邮件获取联系人和潜在客户的 SOQL 查询

我正在尝试编写一个单一的 soql 查询来获取所有联系人和带有特定电子邮件的潜在客户。现在,我可以编写两个不同的查询来搜索联系人和潜在客户。但这是否可以使用单个查询(搜索多个对象)。

我正在寻找单个查询的原因是,我在 javascript 中使用 salesforce REST API,我不希望两个单独的联系人和潜在客户搜索请求。

0 投票
1 回答
1312 浏览

salesforce - 保存错误:字段表达式的初始项必须是具体的SObject:MAP

我正在尝试克服 Salesforce 中的限制,即潜在客户对象不能具有与潜在客户一起转换为机会、联系人和客户的相关列表。我设置了 4 个查找关系类型的对象,并在每个对象中创建了一个虚拟记录。

我想使用自定义设置来存储每个虚拟记录的 id,以便在潜在客户转换时,任何自定义对象也可以转换为在相应标准对象上具有主/从关系的对象。

我的线索触发器(更新后)尝试创建自定义设置的地图:地图 cs = AcctId__c.getAll();

AcctId__c 是自定义设置 API 名称。编译时间给了我上面的信息。现在,我直接从 Salesforce 文档中复制了这段代码。我忘记了什么?

0 投票
1 回答
1302 浏览

salesforce - 使用 SOQL 将文件从私有库移动到公共库

有没有办法可以使用 SOQL 语言将文件从私有库移动到公共库?

我已经尝试编辑 ContentDocument 对象并更改 ParentId(这显然不起作用,因为 ParentId 似乎是只读的)。

我还尝试更改 PublishStatus,但这似乎也毫无意义,因为无法确定它也属于哪个库。我尝试查看 Salesforce文档,但是找不到将 ContentDocument/ContentVersion 与库对象连接的方法(PublishStatus 除外,但如前所述,它确实提供了将内容与库链接的方法)。

任何帮助将不胜感激!

0 投票
2 回答
3623 浏览

salesforce - SOQL 查询不返回在 visualforce 页面上确实存在的行

SOQL 查询未返回对象中确实存在的 visualforce 页面上的行 我在通过 visualforce 页面上的 SOQL 查询检索对象中存在的记录时遇到问题

我怎么知道它们的存在?我使用了 force explorer 和 workbench,以下返回记录

好的,所以visualforce页面没有返回上面的记录,下面的代码(代码中的几行)

有什么建议么?我有调试告诉我“gvlLCCODE”有一个存在于对象中的值。另外,如果我将 SOQL 更改为,例如,从 users 表中返回当前用户,它会返回一条记录,然后进入 IF 语句。

我认为这是我错过的安全问题。但我也检查了这些。

谢谢

0 投票
1 回答
511 浏览

apex-code - SFDC 报告中的州长限制

我们的业务要求是在一个表格中显示我们所有项目的成本汇总。

为了将这些成本制成表格,我们必须查询所有客户任务、区域、工作角色、工资率、成本表、可交付成果、工作量和小时记录(客户任务在同一个表中,任务和区域在同一个表中)表和可交付成果、工作量和小时数存储为每月总计)。

由于我必须在对所有内容进行循环之前查询所有这些内容,因此它很快就会遇到大量脚本行。计算上它就像 O(m * n * o * p) 并且我们的一些项目的所有四个变量都上升得非常快。我对如何做到这一点的估计从 9000 万行代码到 6000 亿行不等。

使用批处理顶点,我们可以按任务区域将其分解为 200 个批处理,但这会将计算配置文件减少到 (600 B / 200 ) = 30 亿行代码(远高于销售人员的限制。

我们一直在尝试使用 informatica 进行这些大规模计算,但我们遇到了几个问题,包括 (1) 我们的最终用户不能等待超过五分钟左右,而只是传输数据(如果所有记录都项目立即更新)在 informatica 或 web api 上需要 15 分钟 (2) 我们注意到这些大量计算需要在多个地方进行(更改可交付预测值、创建初始预测等)。

是否有一个能满足我们要求的调速器限制工作(海量数据在 5 分钟左右做出响应?force.com 是我们在这里使用的好平台吗?

这是我一直在做类似计算的方式:

循环概述

0 投票
1 回答
1226 浏览

salesforce - SOQL 从 ContentVersion 请求 VersionData 导致戏剧性

执行以下查询

这给了我一个 ID 为 LIBRARY_ID 的库中文件的大列表

我一添加

我只有一张唱片。8 条记录中只有一条是链接,那么我在执行什么愚蠢的行为来获得这种不受欢迎的行为?

VersionData 是否需要一些额外的权限?