salesforce零基础学习(一百三十八)零碎知识点小总结(十)

salesforce · 浏览次数 : 3

小编点评

**篇中介绍了以下知识点:** * apex中支持最多 5 层 Parent-to-Child Relationship SOQL 查询。 * 在 preview 状态,可能无法执行 5 层以上的 Parent-to-Child Relationship SOQL 查询。 * Einstein for Developers扩展组件支持 apex 中最多 5 层父子关系查询。 * Prettier 扩展组件可以用于格式化代码并保持代码统一性。 * Prettier 插件可以用于在 .prettierrc 文件中配置 Prettier。 * Prettier 可以用于在 Visual Studio Code 中格式化 Apex 代码。 **总结:** * apex 中支持最多 5 层 Parent-to-Child Relationship SOQL 查询。 * Prettier 可以用于格式化 Apex 代码并保持代码统一性。 * 在 preview 状态,可能无法执行 5 层以上的 Parent-to-Child Relationship SOQL 查询。

正文

本篇参考: 

https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_5level_SOQLqueries.htm&release=250&type=5

https://developer.salesforce.com/tools/vscode/en/einstein/einstein-overview

https://developer.salesforce.com/tools/vscode/en/user-guide/prettier

一. Apex中支持最多5层 Parent-to-Child Relationship SOQL Queries

以前我们在apex中进行字表查询时,最多只能查询一层,比如当前的这个查询,Account只能查询到Contact,无法再查询到Asset。

随着最新的release,官方支持apex中最多5层的父子关系查询,以上的内容在最新的release以后,就可以正常运行了。需要注意的是,apex version官方建议 61及以上。

注:根查询也算1层,即Account以外的字表查询最多可以4层。

二. Einstein for Developers扩展组件

我们开发通常使用官方推荐的VS Code IDE,目前salesforce官方推出了 Einstein for Developers扩展,通过此扩展组件,可以做一些方便的代码处理,你自己的代码保存时,官方也可以给一些基于上下文的简单的推荐。这个组件目前适用于Developer, Enterprise, Partner Developer, Performance and Unlimited Editions.

使用Einstein组件以前需要先启用 Enhanced Domain,可以参考这个文档进行开启配置。https://help.salesforce.com/s/articleView?id=sf.domain_name_enhanced_enable.htm&type=5 

下面举个例子,我们想要在Opportunity Closed Won以后,更新Account的字段信息,将时间戳设置为当前时间。以下是Salesforce的输出结果,虽然不是特别的完美,但是大部分的我们可以复制粘贴使用,极大的节省了我们的时间。

 三. Prettier扩展组件

我们很少是自己独立开发所有的功能,通常需要团队合作。每个人的代码习惯不同,后续的代码可能会变得乱。官方推荐Prettier组件,这样所有的内部成员使用同一套Prettier配置文件,可以保证所有的人格式化文档以后,项目代码保持统一,可读性以及统一性会更方便管理。可以通过以下步骤来设置Prettier。

1. VS Code 安装Node.js 以及npm

可以根据这个文档进行安装https://docs.npmjs.com/downloading-and-installing-node-js-and-npm

2. 初始化 package.json

如果项目创建时带了manifest,则自带 package.json,如果不存在,则在terminal处运行 npm init 即可。

 3. 安装apex format plugin

Prettier自带的format是不支持apex的,所以我们需要安装一个支持apex format的插件。terminal处运行npm install --save-dev --save-exact prettier prettier-plugin-apex 即可。

 4. 配置 .prettierrc 文件

在项目根目录,创建一个名称为 .prettierrc的文件,并且将下述的内容复制粘贴到这个文件中。这个是官方给的一个sample,内容可以根据自己的项目需要进行调整。其他的可用的标签比如 printerWidth, tabWidth等配置项可以参考这个文档:https://prettier.io/docs/en/options.html

{
  "plugins": ["prettier-plugin-apex"],
  "trailingComma": "none",
  "overrides": [
      {
          "files": "**/lwc/**/*.html",
          "options": { "parser": "lwc" }
      },
      {
          "files": "*.{cmp,page,component}",
          "options": { "parser": "html" }
      }
  ]
}

 5. 安装 Prettier - Code formatter 插件

扩展处搜索 Prettier安装此插件并且启用即可。

 使用方式: 在你需要的apex或者其他资源处,右键选择 Format Document即可。

 总结:篇中简单介绍了几个项目中以及学习中用到的零碎知识点,需要注意的是,第一个功能是在preview状态,production或者dev edition有可能还没有启用,所以在完全release以后再去进行尝试或者去sandbox中尝试。 

 篇中有错误地方欢迎指出,有不懂欢迎留言。

与salesforce零基础学习(一百三十八)零碎知识点小总结(十)相似的内容:

salesforce零基础学习(一百三十八)零碎知识点小总结(十)

本篇参考: https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_5level_SOQLqueries.htm&release=250&type=5 https://developer.salesforce.com/to

salesforce零基础学习(一百三十七)零碎知识点小总结(九)

本篇参考: https://help.salesforce.com/s/articleView?id=release-notes.rn_lab_conditional_visibiliy_tab.htm&release=250&type=5 https://help.salesforce.com/s

salesforce零基础学习(一百三十九)Admin篇之Begins/Contains/Starts With 是否区分大小写

本篇参考: https://help.salesforce.com/s/articleView?id=sf.customize_functions_begins.htm&type=5 https://help.salesforce.com/s/articleView?id=sf.flow_ref_o

salesforce零基础学习(一百三十三)ListView的button思考

本篇参考: salesforce零基础学习(九十五)lightning out salesforce零基础学习(一百一十)list button实现的一些有趣事情 https://help.salesforce.com/s/articleView?language=en_US&id=sf.mass_

salesforce零基础学习(一百三十二)Flow新功能: Custom Error

本篇参考: https://help.salesforce.com/s/articleView?id=sf.flow_ref_elements_custom_error.htm&type=5 https://developer.salesforce.com/docs/atlas.en-us.apex

salesforce零基础学习(一百二十八)Durable Id获取以及相关概念浅入浅出

本篇参考: salesforce 零基础开发入门学习(十一)sObject及Schema深入 https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_enti

salesforce零基础学习(一百三十)Report 学习进阶篇

本篇参考: https://help.salesforce.com/s/articleView?id=sf.reports_summary_functions_about.htm&type=5 https://www.youtube.com/watch?v=bjgZTgYe_84 在Salesfor

salesforce零基础学习(一百三十一)Validation 一次的bypass设计

本篇参考: https://admin.salesforce.com/blog/2022/how-i-solved-it-bypass-validation-rules-in-flows 背景:作为系统的全局考虑,我们在设计validation rule / flow / trigger时,往往会使

Salesforce LWC学习(四十三) lwc 零基础学习路径的视频已上传B站

本篇参考:https://www.bilibili.com/video/BV1QM411G7pN/ 还记得salesforce零基础学习(一百二十五)零基础学习SF路径 中描述的那样,预计今年年底以前基于0基础学习的内容录制成视频,更好的更方便的进行学习和互动。当时的一个动机是以前公司做veeva的

salesforce零基础学习(一百二十四)Postman 使用

本篇参考: Salesforce 集成篇零基础学习(一)Connected App salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesforce 我们在项目中也经常遇见下游系统去和我们进行交互的情况,针对 salesforce可以提供 标