本篇参考: https://developer.salesforce.com/docs/atlas.en-us.232.0.api_streaming.meta/api_streaming/using_streaming_api_durability.htm https://trailhead.salesforce.com/content/learn/modules/change-data-capture https://developer.salesforce.com/docs/atlas.e…
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.228.0.apexcode.meta/apexcode/apex_class_Auth_SessionManagement.htm https://help.salesforce.com/s/articleView?language=en_US&type=1&id=000339386 机缘巧合下碰到了这种问题,还挺好玩,记录一下,方便以后再次遇见情况下快速解决.背景如下: 在某…
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. 十七篇链接:salesforce 零基础学习(十七)Trigger用法 有的时候对于sObject的trigger处理复杂的情况下,比如一个sObject的before update要实现功能1,2.....n功能情况下,Handler中需要在before update写实现功能1--n的代码.然而…
此篇可以参考: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_restful_http_testing_httpcalloutmock.htm https://developer.salesforce.com/trailhead/force_com_dev_intermediate/apex_integration_services/apex_integration_re…
项目中,我们有时候会需要实现自动联想功能,比如我们想输入用户或者联系人名称,去联想出系统中有的相关的用户和联系人,当点击以后获取相关的邮箱或者其他信息等等.这种情况下可以使用jquery ui中的autoComplete实现. 此篇需求为在输入框中输入检索词对数据库中User表和Contact表的Name字段进行检索,符合条件的放在联想列表中,当用户选择相应的名称后,输入框中显示此名称对应的邮箱地址. 实现此功能可以整体分成三步: 1.通过输入内容检索相关表中符合条件的数据: 2.对检索的数据进…
项目中,审批操作无处不在.配置审批流时,我们有时候会用到queue,related user设置当前步骤的审批人,审批人可以一个或者多个.当审批人有多个时,邮件中获取当前记录的审批人和审批意见就不能随便的取一个审批人了,有以下方式针对不同的场景可以获取到当前记录的最终审批人以及审批意见. 邮件内容使用以下几种方式实现: 1.代码里面实现邮件发送 2.email template(text/html/custom) 3.visualforce emailTemplate 对发送邮件方式不清楚的,可…
注:本篇解决方案内容实现转自:http://mysalesforceescapade.blogspot.com/2015/03/getting-dependent-picklist-values-from.html 群里面有个小伙伴询问了一个关于两个有Dependence关系的Picklist字段如何在Apex中通过control字段的值获取到Dependence字段的值,针对Salesforce配置来说,我们很好配置出两个Dependence字段的关系,通过点击设置一下include关系即可.…
在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的使用此标签进行解析附件内容,后台只要声明String类型变量用来存储附件名称,Blob类型变量用来存储附件的内容即可. 但是当我们的项目整体使用第三方的前端框架,例如VUE或者angular等前端框架时,有时使用apex:inputFile反而不是很方便,需要用到html的原生的附件上传的标签<inpu…
看本篇之前可以相应阅读以下Trigger相关文章: 1.https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigger_Best_Practices 2.http://chrisaldridge.com/triggers/lightweight-apex-trigger-framework/ 3.http://www.sfdc99.com/2015/01/19/the-one-trigger-per-object…
本篇参考:https://developer.salesforce.com/blogs/2018/07/which-streaming-event-do-i-use.html https://trailhead.salesforce.com/content/learn/modules/platform_events_basics https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_even…
本篇参考: salesforce零基础学习(九十五)lightning out https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lightning_out_considerations https://developer.salesforce.com/docs/component-library/bundle/lightning:isUrlAddressable/documentation…
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.234.0.apexref.meta/apexref/apex_methods_system_custom_metadata_types.htm https://trailhead.salesforce.com/en/content/learn/modules/platform-developer-i-certification-maintenance-winter-22/learn-…
本篇参考: Mobile Device Tracking (salesforce.com) UserDevice | SOAP API Developer Guide | Salesforce Developers 背景:项目中有一个需求,当前登录的用户,在手机设备登录(要求指定的设备)和在电脑设备登录要有不同的验证以及不同的跳转以及既有的用户登录的信息.这个判断的东西不可避免的要在 login flow来实现.那么如何获取指定设备的信息呢,这个时候就要用到 Mobile Device Mana…
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.216.0.apexcode.meta/apexcode/apex_classes_keywords_sharing.htm https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_with_security_enforced.htm 一. Currency 处理 我们在…
本篇内容只是本人简单的mark开发中常出现的一些疑问,方便后期项目使用时奠定基础,如果对Test零基础童鞋,欢迎查看Test官方的使用介绍: https://help.salesforce.com/apex/HTViewHelpDoc?id=testing_your_code.htm&language=zh_CN 编写Test类基本步骤可以分成4步: 1.创建测试数据; 2.调用Test.startTest()方法; 3.调用需要测试的方法(); 4.调用Test.stopTest()方法. 编…
本篇参考:Salesforce Admin篇(四) Security 之Two-Factor Authentication & Single Sign On https://developer.salesforce.com/docs/atlas.en-us.230.0.sso.meta/sso/sso_mobileDT_saml_n_oauth.htm?search_text=relayState https://developer.salesforce.com/docs/atlas.en-us…
本篇参考:https://developer.salesforce.com/docs/atlas.en-us.228.0.apexcode.meta/apexcode/apex_enum_System_Quiddity.htm https://developer.salesforce.com/blogs/2021/01/you-shall-not-pass-quiddity-for-secure-salesforce-development.html https://developer.sale…
本篇参考: https://help.salesforce.com/articleView?id=000339361&type=1&mode=1 https://developer.salesforce.com/wiki/apex_code_best_practices https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_c…
本篇参考: https://admin.salesforce.com/blog/2017/analyzing-org-salesforce-optimizer-webinar-recap 假设你在做一个系统的迁移或者你是一个公司的管理员,从一个org迁移到另外一个全新的org,而且很不幸原有的org因为运行时间过长拥有很多脏的metadata,比如不再使用的表字段,workflow,profile等等,更不幸的是还没有文档.你是否会一头雾水?如果你条理清晰,知道应该如何操作情况下,OK没问题,g…
本篇参考:https://trailblazer.salesforce.com/ideaview?id=08730000000BroxAAC https://help.salesforce.com/s/articleView?id=sf.dynamic_forms_overview.htm&type=5 我们在项目中可能会有类似的需求: 甲方爸爸在看了某个表的数据详情页以后说, 这个页面整体符合需求了,但是我们业务上希望的是,当页面中的某个状态为某些值情况下展示某个或者某些section或者展示…
说一下项目中常见的甲方的需求.背景如下:Order在SF端生成以后,在status为completed以后,需要点击按钮同步到SAP或者其他的MDM,客户希望的是,如果 order的状态为 completed以后,才展示custom action / button,点击以后同步,如果状态为draft场景,则不展示. 我们的solution通常是告诉客户,action/ button 配置在page layout以后,无法进行移除,我们在点击按钮以后,可以先判断状态,如果状态不为completed…
本篇参考:https://help.salesforce.com/s/articleView?id=sf.security_ll_overview.htm&type=5 我们在之前的篇中提到过明年salesforce强制执行MFA,即如果使用salesforce authenticator的情况下,登录的步骤通常是: 1. 输入账号密码进行登录: 2. 手机打开 authenticator,点击approve,完成此次登录. 除了需要记住账号密码以外,salesforce同样也可以使用 ligh…
本篇参考: https://developer.salesforce.com/blogs/2022/01/preparing-your-components-for-the-removal-of-alert-confirm-prompt https://help.salesforce.com/s/articleView?id=release-notes.rn_lc_alert_confirm_prompt.htm&type=5&release=238 https://developer.s…
本篇参考:https://architect.salesforce.com/decision-guides/migrate-change https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_dev2gp.htm 很偶然看到了这篇文章,一下子就被吸引住了.尽管项目中的一些部署方式有用到过,考SF认证也有很多相关的靠题,也能二二三三的讲出点不同场景以及优缺点,但总不是很全面的了解,所以基于…
本篇参考: https://code.visualstudio.com/docs/editor/versioncontrol https://git-scm.com/doc https://git-scm.com/book/zh/v2 salesforce作为云平台,相信很多人开发都很爽,有啥需求在开发sandbox开发, outbound changeset 或者通过ant migration tool部署到相应的SIT或者UAT环境,测试通过上线~~~ 可能有很多人做salesforce做了…
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.224.0.bigobjects.meta/bigobjects/async_query_overview.htm https://trailhead.salesforce.com/content/learn/modules/big_objects https://developer.salesforce.com/docs/atlas.en-us.salesforce_large_da…
本篇参考:https://security.salesforce.com/mfa https://sfdc.co/bvtuQT  (MFA官方研讨会的文档) https://sfdc.co/iwiQK(MFA中华区研讨会视频) Salesforce Admin篇(四) Security 之Two-Factor Authentication & Single Sign On 我们之前介绍过关于登录安全的 2fa,今天主要讲的是MFA. MFA 官方的介绍是到2022年2月1日起,salesforc…
此篇参考git代码:https://github.com/pdalcol/Zippex 学习salesforce可以访问一个朋友的网站:https://www.xgeek.net 首先感谢git上提供代码的大神,学到了新的知识.salesforce不像java提供生成Zip文件的类库,通过git上copy的代码可以实现此功能,具体的使用方法以及API可以查看上方git链接. 概述:实例模拟三个上传组件,加上一个下载Zip包按钮,本地选择需要上传的文件,点击按钮后便会下载成一个压缩文件,压缩文件中…
我们知道,salesforce中系统标准列表页面提供了相应的分页功能,如果要使用其分页功能,可以访问http://www.cnblogs.com/zero-zyq/p/5343287.html查看相关实现. 现在很多的sfdc项目都是重构页面进行开发,所以很多系统分装的功能用不上,但是很多确实很常见的功能,比如分页,这时候就有必要自己封装一套翻页基类,子类继承父类并实现相关方法以后,前台通过封装的翻页类实现翻页功能. 根据系统的分页功能可以想象到我们设计的分页类应该满足以下简单的功能: 1.相关…
salesforce中,有的时候我们需要将一组用户放进一个Group,用来实现以下主要功能: 1.通过sharing rule设置默认的共享访问; 2.将记录分享给其他用户; 3.指定同步的联系人,这些联系人的onwer属于其他user; 4.分配Group中用户到指定的动作,比如审批流程等. Group作为系统表,其字段信息如下所示: 其中Type作为PickList字段,他的取值可以通过Schema方式取出. public with sharing class GroupPickList {…