首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

不可撤销不在Apex类中创建记录的方法

是通过使用外部对象(External Objects)来实现。外部对象是一种特殊类型的自定义对象,它们允许将外部数据源中的数据映射到Salesforce中,而无需将数据复制到Salesforce数据库中。

外部对象的优势包括:

  1. 数据实时性:外部对象可以直接访问外部数据源,因此可以实时获取最新的数据。
  2. 节省存储空间:外部对象不会在Salesforce数据库中存储数据,因此可以节省存储空间。
  3. 简化数据管理:外部对象可以通过外部数据源进行数据管理,无需在Salesforce中维护数据。
  4. 扩展性:外部对象可以与其他Salesforce对象建立关联关系,从而扩展数据模型。

外部对象适用于以下场景:

  1. 需要访问大量外部数据的情况,如大型企业系统集成。
  2. 需要实时获取外部数据的情况,如金融行业的股票报价。
  3. 需要节省存储空间的情况,如大规模的数据分析和报告。

腾讯云提供了外部对象的相关产品和服务,称为云数据库 HybridDB for PostgreSQL。它是一种支持外部表的云数据库服务,可以将外部数据源中的数据映射到PostgreSQL数据库中,并通过外部表的方式在Salesforce中访问这些数据。您可以通过以下链接了解更多关于云数据库 HybridDB for PostgreSQL的信息: https://cloud.tencent.com/product/hybriddb

请注意,本答案仅提供了一种不可撤销不在Apex类中创建记录的方法,并介绍了相关的腾讯云产品。其他云计算品牌商可能也提供类似的解决方案,但根据问题要求,不能提及其他品牌商的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python动态创建方法

0x00 前言 在Python也是作为一种对象存在,因此可以在运行时动态创建,这也是Python灵活性一种体现。 本文介绍了如何使用type动态创建,以及相关一些使用方法与技巧。...0x01 本质 何为是对现实生活中一具有共同特征事物抽象,它描述了所创建对象共同属性和方法。在常见编译型语言(如C++)在编译时候就已经确定了,运行时是无法动态创建。...生成包含属性或方法 例如:可以使用以下方法创建一个A cls = type('A', (object,), {'__doc__': 'class created by type'}) print...可以使用six库方法: import six @six.add_metaclass(MetaClass) class IntTypeBase(object): pass 使用元优点是可以使用更加优雅方式创建...0x05 总结 动态创建必须要使用type实现,但是,根据不同使用场景,可以选择不同使用方法。 这样做对静态分析工具其实是不友好,因为在运行过程类型发生了变化。

5.2K60

Python动态创建方法

0x00 前言 在Python也是作为一种对象存在,因此可以在运行时动态创建,这也是Python灵活性一种体现。 本文介绍了如何使用type动态创建,以及相关一些使用方法与技巧。...0x01 本质 何为是对现实生活中一具有共同特征事物抽象,它描述了所创建对象共同属性和方法。在常见编译型语言(如C++)在编译时候就已经确定了,运行时是无法动态创建。...0x02 使用type动态创建 type参数定义如下: type(name, bases, dict) name: 生成名 bases: 生成列表,类型为tuple dict: 生成包含属性或方法...可以使用six库方法: import six @six.add_metaclass(MetaClass) class IntTypeBase(object): pass 使用元优点是可以使用更加优雅方式创建...0x05 总结 动态创建必须要使用type实现,但是,根据不同使用场景,可以选择不同使用方法。 这样做对静态分析工具其实是不友好,因为在运行过程类型发生了变化。

3.5K30
  • 创建子类对象时,父构造函数调用被子类重写方法为什么调用是子类方法

    A对象时候父会调用子类方法?...但是:创建B对象父会调用父方法? 答案: 当子类被加载到内存方法区后,会继续加载父到内存。...如果,子类重写了父方法,子类方法引用会指向子类方法,否则子类方法引用会指向父方法引用。 如果子类重载了父方法,则子类重载方法引用还指向子类方法。...如果子类方法没有重写也没有重载父方法,则方法引用会指向父方法。 当子类对象创建时,会先行调用父构造方法(构造方法也是方法),虚拟机会在子类方法区寻找该方法并运行。...其结果是当编译时候,父构造方法调用方法参数已经强制转换为符合父方法参数了。 上边代码在编译前已经转换为下面这个样子了。

    6.2K10

    Salesforce Integration 概览(二) Remote Process Invocation—Request and Reply(远程进程调用--请求和响应)

    在Salesforce捕获订单详细信息后,将在远程系统创建订单,该系统将管理订单直至结束。 当您实现此模式时,Salesforce调用远程系统来创建订单,然后等待成功完成。...操作,该操作随后执行上述说代理Apex以执行远程调用。...Apex web service或REST必须自定义去发送唯一消息ID。此外,在远程系统创建记录操作必须在插入之前检查重复项,我们可以通过从Salesforce传递唯一记录ID进行检查。...如果远程系统存在该记录,请更新该记录。在salesforce世界里面很好理解,就是 upsert操作,我们需要创建一个外键,这个外键设置唯一即可。 3....在必要时,考虑使用单向加密或数字签名,使用Apex Crypto方法来确保请求完整性。   •必须通过实施适当防火墙机制来保护远程系统。 4.

    1.4K40

    salesforce功能_salesforce开发

    设置为View且Opportunity页面布局Quote放出来了,如果共享OppOwner没有创建Quote记录,Partner User不可见Quote相关列表,需要创建一条Quote,才可以看见...,而方法可以是利用soql语言查找到某一记录主码,这里是Id(使用rest服务请求获取到uri后从uri取得id) HttpDelete步骤: 1、创建ResrRequest对象req 2、声明caseId...在使用继承时需要使用到关键字:extends,super,virtual,override.跟Java继承不同是,超必须使用virtual修饰,子类使用override和extends修饰,如果需要重写父方法...,父方法需要用virtual修饰,子类需要使用override。...另外如果子类需要使用超域或者方法则需要使用super关键字,注意构造方法复用不需要用成对virtual和override关键字修饰超构造方法和子类构造方法

    6.9K20

    salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见

    当审批人有多个时,邮件获取当前记录审批人和审批意见就不能随便取一个审批人了,有以下方式针对不同场景可以获取到当前记录最终审批人以及审批意见。...,如果审批流程在审批过程,再次更改Type则提示有审批记录,不允许再次修改。...1)在email template中使用apex component,通过componentcontroller方法获取需要相关信息。  ...使用apex class时应该注意,component绑定attribute在后台变量是没法使用在controller,所以不能再构造函数中使用targetObjId. 1 global without...,当approver__c存在值情况下,发送邮件,邮件模板审批人使用Approver__c即可,此种方式不在下面体现了,有兴趣可以自行尝试。

    1.3K00

    salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见

    当审批人有多个时,邮件获取当前记录审批人和审批意见就不能随便取一个审批人了,有以下方式针对不同场景可以获取到当前记录最终审批人以及审批意见。...,如果审批流程在审批过程,再次更改Type则提示有审批记录,不允许再次修改。...1)在email template中使用apex component,通过componentcontroller方法获取需要相关信息。  ...使用apex class时应该注意,component绑定attribute在后台变量是没法使用在controller,所以不能再构造函数中使用targetObjId. 1 global without...,当approver__c存在值情况下,发送邮件,邮件模板审批人使用Approver__c即可,此种方式不在下面体现了,有兴趣可以自行尝试。

    1.4K90

    Salesforce Integration 概览(五) Remote Call-In(远程操作 外部->salesforce)

    不可能跨多个API调用跨事务。为了克服这个限制,一个API调用可以影响多个对象。...通过soapi发布事件与创建Salesforce记录相同。仅支持创建和插入操作。...通过restapi发布事件与创建Salesforce记录相同。仅支持创建和插入操作。 Apex web services Suboptimal Apex方法可以作为web服务方法公开给外部应用程序。...此方法是SOAP API替代方法,通常仅在必须满足以下附加要求情况下使用。 •需要全面的事务支持(例如,在一个事务创建帐户、联系人和机会)。...Apex REST services Suboptimal Apex可以公开为映射到特定uriREST资源,并使用针对它定义HTTP谓词(例如POST或GET)。

    2.8K20

    Salesforce Integration 概览(三) Remote Process Invocation—Fire and Forget(远程进程调用-发后即弃)

    在Salesforce捕获订单详细信息后,将在远程系统创建订单,该系统将管理订单直至结束。...•声明性配置方法是否优于定制Apex开发?在这种情况下,平台事件等解决方案优先于Apex标注。 三....然后可以使用任一API标准方法来执行所需业务功能。此变体典型用法是Salesforce向远程系统发送出站消息以创建记录。回调使用在远程系统创建记录唯一键更新原始Salesforce记录。...Apex代理可以通过使用Apex Trigger作为DML操作结果来执行。但是,从触发器上下文中发出所有调用都必须异步执行。...在必要时,考虑使用APEX密码方法使用单向散列或数字签名,以确保请求完整性。 •必须通过实施适当防火墙机制来保护远程系统。

    1.5K10

    salesforce 零基础学习(三十五) 通过Process Builder和Approval Processes锁定记录(Lock Record)

    本人最开始用自己申请免费帐户使用Custom Object来进行测试,发现尴尬事情就是Profile为System Admin账户可以看到相关创建Tab,并且可以锁定记录,但是其他非System...5.设置action,action type有如下很多种,在这里可以选择Apex或者Submit for Approval,因为apex代码可以通过Approval调用lock()方法,在这里选择通过配置...14.save以后选择创建approval step,点击Go ? 15.输入基本信息后点击Next ?...16.选择Enter step方式,然后选择formula方式,在formula输入false,点击Next ? 17选择分配审批者,按需选择,这里选择默认,点击Save ?...Apex代码可以很轻松获取当前用户Permission Set以及通过Approval可以很轻松调用Lock()方法

    99290

    Salesforce Integration 概览(七) Data Virtualization数据可视化

    Salesforce Connect允许您: •查询外部系统数据。 •在外部系统创建、更新和删除数据。 •通过列表视图、详细信息页、记录提要、自定义选项卡和页面布局访问外部对象。...•通过Apex创建自定义适配器-如果OData和跨组织适配器不适合您需要,请使用Apex连接器框架开发您自己适配器。...在Salesforce,您可以使用WSDL并生成最终代理Apex。此类提供调用远程服务所需逻辑。...自定义Visualforce页面或按钮以同步方式启动Apex HTTP调用(REST服务)。在Salesforce,可以使用标准GET、POST、PUT和DELETE方法调用HTTP服务。...可以使用几个HTTP与RESTful服务集成。Visualforce页上用户启动操作然后调用Apex控制器操作,该操作执行这些代理Apex以执行远程调用。

    1.8K20

    salesforce 零基础开发入门学习(五)异步进程介绍与数据批处理Batchable

    eg:在声明成员变量A,在start()方法对A进行处理,如果类不实现上述接口,则方法执行完start()方法后A会回滚到初始状态,在execute()方法或者finish()方法调用A时值为最开始声明值...实现批处理步骤明确,只需要执行以下步骤: 1.实现Database.Batchable接口; 2.实现start()方法,此方法通常写查询语句,并将数据通过Database.getQueryLocator...,如果需要好质量可以使用Queueable方法;   2)可以允许两个future方法同时运行,当两个future方法同时对一条记录进行操作时,可能引起记录锁定或者运行时异常。   ...测试future方法在Test执行,和普通方法测试区别的是,future方法执行需要在Test.startTest()和Test.stopTest()方法中进行.以下为测试代码: @isTest...查找按钮选择需要定时任务实现Schedulable接口,设定时间,点击保存; 4.定时任务创建成功,在setup-->Jobs-->Scheduled Jobs可以看到创建定时任务了。

    2.1K71

    salesforce零基础学习(一百一十七)salesforce部署方式及适用场景

    可能针对一个字段创建,直接生产创建,然后手动配置了FLS,或者部署一个 report type / report基于change set,又或者需要删除一个 apex class,通过 metadata...2.即使不使用scratch org创建包,它也必须能够部署到scratch org,否则包创建将失败。 3.每个依赖项必须在包或另一个包。...举个例子,我们有一个Apex,该类对其测试没有正式依赖关系,但我们在部署时必须具有测试覆盖率,因此如果不包含测试,则某个更改集将无法部署。在点击这个按钮时,这个测试不会被自动捕获。...部署也只针对我们整理资源,其他不在package.xml或者不在整理资源不会做任何操作。 1. 限制: 与change set类似,每个事务只允许最多10000个文件。...也有一些客户使用非管理型软件包,这些软件包是不可能升级。 第二代软件包是从源代码创建,而不是从一个org内容创建

    1.2K20

    salesforce 零基础学习(三十六)通过Process Builder以及Apex代码实现锁定记录( Lock Record)

    ,有些逻辑通过Apex写起来很容易,此篇内容为通过Process Builder 和Apex代码实现锁定记录。...一.获取允许在apex中使用Lock 和UnLock记录权限:Setup->Build->Create->Workflow&Approvals->Process Automation Settings...当我们使用Process Builder选择Action为Apex时候,我们需要选择相关Action执行,此类方法必须要是InvocableMethod一个方法,即需要添加@InvocableMethod...一个仅允许有一个此注解方法。...5.设置加锁条件所走Action,我们在Action Type选择Apex代码,并选择相关操作,并且要传递参数,程序是ID,这里我们选择OpportunityID ?

    87960

    salesforce 零基础学习(六十)Wizard样式创建数据

    项目中表之间关联关系特别多,比如三个表A,B,C  C作为主表,A,B作为从表,有时候C表需要创建数据时,同时需要创建A,B两个表数据,这种情况下,使用Wizard样式会更加友好。...新建Goods__c记录以后同时要创建其相关数据。...表结构关系如下: 代码: 1.GoodsHelper:封装获取goods列表方法 1 public without sharing class GoodsHelper { 2 3....total页面 5.点击save以后,成功则跳转到list页面,失败则显示失败ERROR 失败情况: 成功情况: 总结:Wizard适用于新建数据时创建一套级联数据情况,篇step1-3之间跳转均使用转发方式...如果使用重定向,则前一页修改数据重定向以后在回此页面,修改数据便会回滚到以前状态。有错误地方欢迎指正,有问题欢迎留言。

    88890

    Salesforce页面开发工具—Visualforce介绍

    利用强大内置Standard controller特性,或用Apex写你自己业务逻辑。你可以为公司创建独有的功能或开发应用放在AppExchange中进行销售。...当访问没有记录ID时,页面会显示为一个空白输入框。...当你输入值并点击保存时,一个新联系人将会根据你填表格数据进行创建 当访问有记录ID时,页面会查询到这条数据并将它显示到表格,当你点击保存时,你对联系人更改将会保存到数据库 每个输入字段都会智能显示字段值...电子邮件字段知道一个有效电子邮件地址是什么样,如果输入无效邮件地址会显示出错误信息 当你点击日期字段时,日期型字段会显示出日期小部件,帮助你更容易输入正确日期 保存按钮调用保存事件方法,许多标准行为都是根据...Salesforce提供了一系列你可以在组织内使用Visualforce方法。你可以拓展Salesforce内置功能,替换原有功能或创建一个全新App。

    2.5K20

    salesforce 零基础学习(二十三)数据记录导出至excel(自定义报表导出)

    1.salesforce中提供了Track History功能,即当表字段小于20个情况下,可以通过设置Track History,那样系统会自动创建相关表History表,在这个demo系统会自动创建...,如果有相对应GoodsSign__c进行对应,则update此记录,否则新建记录,并记录哪些字段有修改; 2.当进行删除操作时,如果有相对应GoodsSign__c进行对应,则级联删除。...两者操作均需要当前用户有GoodsSign操作权限。 2.新建一个用来记录导出字段以及导出字段颜色。...总结:上述demo只是演示当字段Tracking超过20个需要额外创建情况处理,当小于20个情况下可以直接通过History表进行查询,有兴趣可以自己尝试,生成页面因为使用DataTable,所以对于导出记录行数有要求...篇如果有写错误地方欢迎指出,如果有疑问地方欢迎留言,转载请注明出处。

    1.6K70

    通俗易懂设计模式解析——命令模式

    但是对于某些特殊场合这么一种紧耦合状态就不合适了。例如对行为命令”日志记录撤销/恢复、命令队列”等操作就不太合适了。那么在这些情况下如何对这些命令进行统一管理呢?实现其松耦合呢?...要求命令对象执行请求 命令接收者:真正命令执行者、实现具体功能 命令角色:声明所有的命令一个抽象 具体命令角色:命令接口实现对象、持有命令接收者、调用接收者完成命令执行 在我们日常软件开发过程必定会涉及到信息增删改查...但是对于一些重要信息进行操作时候我们是否就需要对其进行控制了。比如对其操作日志记录。对操作命令撤销恢复。...、命令需要进行管理控制时 二、优点 1、降低了系统耦合性 2、新命令可以很容易添加到系统 3、可以将命令组合在一起形成合成命令 4、可以设计实现撤销、重新执行操作 三、缺点 1、使用命令模式可能导致有过多具体命令...----    一个人如若不能使自己的人生辉煌,但也没有理由使它黯淡;人生可以平凡,但不可以庸俗、堕落;人生不在乎掠取多少,而在于追求过程完美与卓越! C#设计模式系列目录

    50340

    salesforce 零基础学习(四十五)Approval Lock & UnLock相关注意事项

    我们都知道,当一条记录进入审批流程以后会自动加锁,apex提供Approvallock和unlock方法可以让我们使用代码对记录进行加锁和解锁。...,于是我自信满满开始跑业务,跑到了这块方法时候,第一个error message显示了: System.UnexpectedException: Apex approval lock/unlock...此种问题原因是因为在salesforce没有配置允许使用apex代码对记录进行加锁,解锁。...这个问题,因为我xxApproval.Id通过追踪以后发现并不是null,那么只有一种可能,没有Approval.unlock方法,额,亦或是当前api version没有此方法,然后看一下这个api...总结:使用某个或者某个某个方法时,需要了解此类或者此方法支持api版本是多少,如果项目是以前,api版本通常不会高,有些方法不支持,这个时候不要怀疑自己代码能力,怀疑一下你使用api version

    89780

    设计模式 ——— 命令模式

    任何都可能成为一个接收者,只要它能够实现命令要求实现相应功能。 结构 ? Command: 定义命令接口,声明执行方法。...② 另外一种方式是存储恢复式 意思就是把操作前状态记录下来,然后要撤销操作时候就直接恢复回去就可以了。...一个接收者对象可以处理多个命令,接收者和命令之间没有约定对应关系。接收者提供方法个数、名称、功能和命令可以不一样,只要能够通过调用接收者方法来实现命令对应功能就可以了。...工作队列对象不在乎到底做些什么,它们只知道取出命令对象,然后调用其execute()方法。类似地,它们只要实现命令模式对象,就可以放入队列里,当线程可用时,就调用此对象execute()方法。...日志请求 某些应用需要我们将所有的动作都记录在日志,并能在系统死机之后,重新调用这些动作恢复到之前状态。

    55740
    领券