本篇参考链接:https://developer.salesforce.com/trailhead/project/salesforce_developer_workshop

本篇讲述的是最简单的APP的制作,涵盖的知识点包括以下内容:

  1.Object的创建;

  2.Tab以及App创建;

  3.Trigger创建;

  4.Permission Sets创建;

  5.Validation Rules 使用;

  6.Schedule Job使用;

  7.Layouts创建/修改;

  8.Test创建.

一.创建Object

这里我们使用Goods表,它包含一些自定义字段,为了方便学习,所以使用了很多不同的类型操作,忽略具体的业务。商品表信息如下图所示:

商品表字段信息如下图所示:其中许多字段为了学习Formula而创建,这里只例举其中一处的Formula。

    

二. Tab以及App创建

首先需要创建Tab

1.点击 setup->build->create-Tabs或者在搜索框中输入Tabs点击Tabs链接,进入页面;

2.点击Custom Object Tabs 的new按钮新建一个自定义的Tab;

3.在Object下拉框中找到需要创建Tab的Object,选择Tab Style(不知道什么用),输入Describe点击next;

4.设置哪些种Profile可以看见此Tab;

5.设置哪个app可以显示此tab,点击save,tab创建结束。

之后是创建App

1.点击setup->build->create-Apps,点击Apps链接,进入页面;

2.在Apps处点击new按钮,选择custom app后next;

3.输入App的Label以及Name,输入描述后next;

4.选择app的logo,如果不选择则使用默认的logo,next;

5.选择此APP可以使用的Tab,将刚才创建的Tab选择到selected区;

6.选择哪种Profile才可以看到此app后点击save,app创建成功.

三.Trigger创建

Trigger是自动执行的,可以用来在操作前后进行数据的相关操作,业务逻辑复杂情况下建议使用Handler方式,业务简单可以采用直接在Trigger内部写代码.

Trigger的详细用法可以参见第17篇:http://www.cnblogs.com/zero-zyq/p/5413731.html

四.Permission Sets创建

Permission Sets可以设置某些人访问以及操作某些页面,Apex类等权限。

Permission Sets的详细用法可以参见第19篇:http://www.cnblogs.com/zero-zyq/p/5406352.html

五.Validation Rules创建

Validation Rules用于保存操作以前的字段校验,如果校验不成功则不执行save操作,Validation Rules是自动执行的,不需要调用。

Validation Rules的详细用法可以参见第16篇:http://www.cnblogs.com/zero-zyq/p/5409209.html

这里做个简单的例子,比如商品价格不能为空且必须大于0.操作步骤:

1.点击setup->build->create->Object,找到需要设置的Object后点击进入;

2.下拉找到Validation Rules后点击new按钮;

3.输入Rule Name,Description,然后再Error Condition Formula处输入验证代码。

注:写的内容为true情况下会显示下方的Error Message,此处应写错误情况。

六.Schedule Job

Schedule Job可以定时处理一些批量任务以及发邮件等功能。

关于Schedule Job可以参考第五篇:http://www.cnblogs.com/zero-zyq/p/5287343.html

七.Layouts创建/修改

当创建一个sObject后系统会自动创建一个Layout,创建的Layout在布局等方面可能不符合要求,需要修改布局,则可以通过修改Page Layouts 来修改Layout布局,步骤如下:

1.点击setup->build->create->objects,找到需要操作的Object进入;

2.找到Page Layouts后选择默认的Page Layouts,点击Edit;

3.以下讲两个简单的例子,第一个为添加Section,使detail以及Edit页面的字段更具层次感,左侧菜单选中Fields,右侧会显示Section和Blank Space,拖动Section到Detail部分,添加Section,并可以将相关字段拖动到Section中,Blank Space用于添加一个空格区操作。拖动Section后会弹出一个对话框设置Section信息,比如一列还是两列等。

此部分可以设置很多操作,更多可以查阅此页面的Help。

八.Test创建

Test代码在salesforce中要求很高,作为应用是否能够成功的钥匙。Test代码有很多要求和限制,比如代码覆盖率需要75%及以上,并且所有的测试必须成功,使用System.debug方法不计入测试的一部分等等。

详细Test规则可参见https://help.salesforce.com/apex/HTViewHelpDoc?id=code_run_tests.htm&language=en_US

Test代码例子

 @isTest
private class TestGoods { static testmethod void TestInsertGoods() {
Goods__c goods = new Goods__c();
goods.GoodsName__c = 'test Goods Name';
goods.GoodsPrice__c = 200;
goods.GoodsCostPrice__c = 100;
goods.GoodsBrand__c = '华为';
Database.SaveResult result = Database.insert(goods);
System.assert(result.isSuccess());
}
}

点击自己的name,选择Developer Console后进入Console模式,选择Test->New Run->需要运行的Test类,运行后选择下方Tests的Tab查看覆盖率等信息。

总结:此篇描述最简单的app模块开发,有写错的地方欢迎指正,没有做过项目自己联系的童鞋可以在此思路下自己扩展,不局限于以上的步骤,有问题欢迎留言。

salesforce 零基础学习(二十)简单APP制作的更多相关文章

  1. salesforce 零基础学习(十九)Permission sets 讲解及设置

    Permission sets以及Profile是常见的设置访问权限的方式. Profile规则为'who see what'.通过Profile可以将一类的用户设置相同的访问权限.对于有着相同Pro ...

  2. salesforce 零基础学习(十八)WorkFlow介绍及用法

    说起workflow大家肯定都不陌生,这里简单介绍一下salesforce中什么情况下使用workflow. 当你分配许多任务,定期发送电子邮件,记录修改时,可以通过自动配置workflow来完成以上 ...

  3. salesforce 零基础学习(十六)Validation Rules & Date/time

    上一篇介绍的内容为Formula,其中的Date/time部分未指出,此篇主要介绍Date/time部分以及Validation rules. 本篇参考PDF: Date/time:https://r ...

  4. salesforce 零基础学习(五十二)Trigger使用篇(二)

    第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...

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

    项目中,审批操作无处不在.配置审批流时,我们有时候会用到queue,related user设置当前步骤的审批人,审批人可以一个或者多个.当审批人有多个时,邮件中获取当前记录的审批人和审批意见就不能随 ...

  6. salesforce零基础学习(八十)使用autoComplete 输入内容自动联想结果以及去重实现

    项目中,我们有时候会需要实现自动联想功能,比如我们想输入用户或者联系人名称,去联想出系统中有的相关的用户和联系人,当点击以后获取相关的邮箱或者其他信息等等.这种情况下可以使用jquery ui中的au ...

  7. salesforce 零基础学习(六十八)http callout test class写法

    此篇可以参考: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_restfu ...

  8. salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件

    在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的 ...

  9. salesforce零基础学习(一百一十)list button实现的一些有趣事情

    本篇参考: salesforce零基础学习(九十五)lightning out https://developer.salesforce.com/docs/component-library/docu ...

  10. salesforce零基础学习(九十六)Platform Event浅谈

    本篇参考:https://developer.salesforce.com/blogs/2018/07/which-streaming-event-do-i-use.html https://trai ...

随机推荐

  1. 【OSG学习笔记之一:】OSG+VS2010+win7 64位环境搭建

    虽然出生的时候,没有说过“Hello World!”,但是自从走上了编程之路,每一次输出“Hello World!”的时候,都觉得好比中了彩票大奖似的: 仔细算算,从2012年暑假到现在,经历了3年半 ...

  2. OpenMP之数值积分(求圆周率Pi)(sections)

    // Pi.cpp : 定义控制台应用程序的入口点. //求圆周率PI #include "stdafx.h" #include <windows.h> #includ ...

  3. 编译系统中BNF: Backus-Naur Form

    巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首次引入一种形式化符号来描述给定语言的语法. 简称为:BNF符号. 现在,几乎每 ...

  4. AndroidManifest.xml中<activity></activity>相关属性说明

    虽说,从事android开发有一定时间了,对于Activity大家也都不陌生,但是具体的对于Activity中相关属性的含义有必要做一个系统的总结: intent-filteraction: 来指定响 ...

  5. (转)C# foreach 中获取索引index的方法

    在C# 开发中往往使用foreach 循环语句 来代替for循环语句.foreach 比 for 更加简洁高效.           foreach :                 foreach ...

  6. 今天自己解决了两个问题(IE10 type slow ChromeDriver erro)

    都是通过google解决的,其实本应该很快解决,可是因自己粗心,大写小错了,加上java基础不过关, "webdriver.chrome.driver"中的webdriver应是全 ...

  7. java的 new 关键字

    java的new关键字想必大家都知道这是实例化一个对象.没错,也是为新对象分配内存空间. 比如new MyDate(22,7,1964)这样一个案例,他的完成需要四部: 一.为新对象分配内存空间,将M ...

  8. IIS部署ASP.NET常见错误

    今天本地 IIS部署一个.NET Framework 3.5 项目,首先出现一个错误: 静态机制没有办法处理脚本 检查MIME没有问题,检查应用程序池版本,2.0, 果断改成 4.0. 运行之后新错误 ...

  9. 是uibutton跟tableviewcell同步使用一个bug

    这个问题是uibutton跟tableviewcell同步使用一个bug,不关delay一点毛事,证据就是点击事件没问题,so,搜到一个方法解决了这个问题.uibutton分类symbian2+ios ...

  10. cuda计算的分块

    gpu的架构分为streaming multiprocessors 每个streaming multiprocessors(SM)又能分步骤执行很多threads,单个SM内部能同时执行的thread ...