我有点卡住了。
我正在尝试生成一个报告,以确定是否有人对我们的订单框架内的某些字段进行了手动更改。我已经确定了要审核的适当字段和结构,甚至是如何制作报告,但是我结合使用了Dataloader和Excel xlookups的摘录来制作报告。现在,有人要求我找到一种自动生成报告的方法,并且我怀疑这意味着我需要编写一个SOQL查询来解决该问题。我在遍历基于这些ID字段的多个关系时遇到麻烦。本质上,我想做的是基于18位Salesforce ID进行多个“左联接”,并从其他对象中提取一些相关的信息。
例如,如果我以order_product_history(带有用于标识订单产品的OrderProductID字段)开头,并且想输入“ Product Name”,则必须首先将OrderProductID与order_product“表”中的ID字段进行匹配,然后我必须将order_product“表”中的Product2ID字段与产品“表”中的ID匹配,然后我必须在报表中将匹配的“产品名称”作为一列获取:
那是一个领域的一个例子。我还必须从用户“表”中引入“用户名”,从订单表中引入订单号,但是一旦我有了大致的了解,我想我会好的。我还想过滤结果以仅包括我的Fee__c和UnitPrice字段,忽略自动用户并设置日期过滤器-不知道是否必须在主查询中使用WHERE子句来执行此操作,或者是否必须过滤子查询。
我不是程序员,没有正式的Salesforce培训;我只是一名技术上有偏见的分析师,某种程度上属于Salesforce Admin的角色。我熟悉编程概念,并且一直在使用flow应用程序编写东西,甚至将我的脚趾浸入了一些Apex的东西中,但是这可能有点麻烦。我并不是要你为我做我的工作,我愿意为这个问题而努力并学习;任何帮助表示赞赏。对不起,链接;所以不会让我嵌入图像。
只是想为将来寻求解决方案的任何人更新此信息。
原来,您可以在SOQL查询中将它们作为父子关系遍历。这是我最终使用的查询:
SELECT CreatedBy.Name, FORMAT(CreatedDate), OrderItem.Order.OrderNumber, OrderItem.Product2.Name, OrderItem.Product2.ProductCode, Field, OldValue, NewValue
FROM OrderItemHistory
WHERE (Field = 'Fee__c' OR UnitPrice) AND (CreatedBy.Name != 'Integration User') AND (Created Date >= 2020-11-24T00:00:00.000Z) ORDER BY CreatedDate DESC
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句