APex
Apex是salesforce开发的云上语言,语法类似于JAVA.
MetaForce IDE
新建触发器,在新建触发器上,选择需要监听的对象。
trigger TestPosition on Position__c (before update) { //处理代码 }
参数可以为多个:(after insert,after update,after delete)
,甚至可以全部写上。
在触发器中,如果要执行操作
dom
的相关操作,一般会 调用自定义封装好的类。不会在触发器上直接写sql语句。或者出现操作dom的代码
Trigger的常用属性说明
变量名 | 说明 |
---|---|
isInsert | 插入事件,如果为插入,则为true |
isUpdate | 更新,如果为更新,返回true |
isDelete | 如果为删除,返回true |
isBefore | 在之前操作 |
isAfter | 在之后操作 |
isUndelete | 撤销删除,返回true |
new | 获取当前对象 |
newMap | 获取当前对象,返回Map格式 |
old | 返回修改之前的对象 |
oldMap | 返回修改之前的对象,返回Map格式 |
size | 获取影响记录大小 |
触发器的重要写法
- 确认对象。
- 确认好before after
- 确认好限制条件,需要精确到字段级别触发
- Trigger与逻辑代码分开,通过trigger去调用逻辑代码类
在快速查找:对象
进入需要自定义按钮的对象:找到按钮、链接和操作
,点击新按钮或链接
。
如果需要在js中调用后台代码,则需要在后台加
webservice
声明该方法。
前端:
{!REQUIRESCRIPT("/soap/ajax/28.0/connection.js")} {!REQUIRESCRIPT("/soap/ajax/28.0/apex.js")} var id = "{!Member__c.Id}"; //获取ID值 var flag=sforce.apex.execute("Cls_newclient","newClient",{id:id}); //传入后台方法 if(flag == "已关联") { alert("客户已存在!") } else { window.open("/"+flag); //打开新页面 }
后端:
/** *Create By:jmark *TIME:2015年1月12日15:31:04 *Descripe:粉丝上点击按钮生成新客户 */ global class Cls_newclient { webservice static String newClient(String id) { Member__c mem=[select UnionId__c,Name,Phone__c,Realname__c,OwnerId,Id from Member__c where Id =:id]; if(mem != null) { list<Account> list_acc=[select Id from Account where Member__c =:mem.Id]; if(list_acc != null && list_acc.size()>0) { return '已关联'; } Account acc=new Account(); list<RecordType> listrtp=[Select r.Name, r.Id From RecordType r where DeveloperName='PersonAccount']; acc.RecordTypeId=listrtp[0].id; acc.OwnerId=mem.OwnerId; acc.LastName=mem.Realname__c; if(mem.Phone__c == null) { return '手机未填'; } acc.PersonMobilePhone=mem.Phone__c; if(mem.Name != null)acc.WeChat__c=mem.Name; acc.Member__c=mem.Id; try { insert acc; } catch(Exception e){ return '客户保存异常'; } return acc.Id; } else{ return '错误'; } } }
ApexPage
salesforce平台允许开发者,自定义页面。
快速搜索中:页面
,选择最后一个。
必须要用<apex:page >
开头。下面是案列
<apex:page controller="MemberApex"> <apex:pageBlock > <apex:pageBlockTable value="{!pb_memberApexList}" var="m" align="center"> <apex:column value="{!m.Name}" headerValue='Id'/> <apex:column value="{!m.memdate__c}" headerValue="创建日期" /> <apex:column value="{!m.account__c}" headerValue="所属客户"/> <apex:column value="{!m.gender__c}" headerValue="性别"/> <apex:column value="{!m.address__c}" headerValue="地址"/> <apex:column value="{!m.buyedgoods__c}" headerValue="商品"/> <apex:column value="{!m.ifbuyed__c}" headerValue="是否购买"/> </apex:pageBlockTable> </apex:pageBlock> <apex:form> <div class="list"> <span>第{!page}页,共{!count}页,每页显示2条数据</span> <apex:commandLink value="尾页" action="{!lastPage}"/> <apex:commandLink value="下一页" action="{!nextPage}"/> <apex:commandLink value="上一页" action="{!previousPage}"/> <apex:commandLink value="首页" action="{!indexPage}"/> </div> </apex:form> </apex:page>
RESET API
快速查找:应用程序
找到连接的应用程序
,点击新建。填写好基本信息,等待创建完成。
完成后,点击即可查看客户键
的密钥和消费者密钥
。
获取TOKE
https://login.salesforce.com/services/oauth2/token
需要用POST
提交
必要的参数:
- client_id
- grant_type
- client_secret
- password
- username
文章来源: salesforce 代码阶段