-
WFの項目自動更新された項目に対して、項目入力規則はnot fire
- ProcessInstanceにて、[SELECT Id, (SELECT Id, StepStatus, Comments FROM Steps),TargetObjectId FROM ProcessInstance]で、該当データLockedされるどうか判断可能
- 数値VFに書式化:
<apex:outputText value="{0,number,#,###}">
<apex:param value="{!detailInfo.HokenKingaku__c/1000}" />
</apex:outputText>
- M-D関係構築
M-D1-DD1-DDD1 3階層まで構築可能です
M-D-Mの場合、DのオブジェクトはMになることができません
- スケジュールクラス定義(秒まで定義する)
DateTime nowTime = DateTime.now().addSeconds(10);
// 起動CRONを設定する
String timeStr = nowTime.format('yyyyMMddHHmmss');
String yy = timeStr.substring(0,4);
String mm = timeStr.substring(4,6);
String dd = timeStr.substring(6,8);
String hh = timeStr.substring(8,10);
String ms = timeStr.substring(10,12);
String ss = timeStr.substring(12,14);
String sch = ss + ' ' +
ms + ' ' +
hh + ' ' +
dd + ' ' +
mm + ' ' +
' ? ' + yy;
ApexClassXXX m = new ApexClassXXX();
String jobName = DateTime.now().format('yyyyMMddHHmmssSSS') + '|' + String.valueof(Crypto.getRandomLong());
String jobId = system.schedule(jobName, sch, m);
- 日付書式
《apex:outputText》
<apex:outputText value="{0,date,dd/MM/yyyy}">
<apex:param value="{!DATEVALUE(m_dtimSomeVar)}"/>
</apex:outputText>
- 数値書式
《apex:outputText value="{0,number,#,###}"》
《apex:param value="{!detailInfo.HokenKingaku__c/1000}" /》
《/apex:outputText》
- 根据Salesforce Id 判断Sobject类型
参照文档:
Returns the three-character prefix code for the object. Record IDs are prefixed with three-character codes that specify the type of the object (for example, accounts have a prefix of 001 and opportunities have a prefix of 006).
Schema.DescribeSObjectResult R = Account.SObjectType.getDescribe();
String a = R.getKeyPrefix();
String sid = 'a00d00000039F47';
String b = sid.substring(0,3);
// the data is Account Type Data Type
if (a == b) {
System.debug('it is account data');
} else {
}
- Visualforce to Excel
<apex:page standardController="Account" contenttype="application/vnd.ms-excel">
- ApexでFormat処理を行う
public static String paddingLeftZero(Decimal n, Integer len) {
Integer nlen = (Math.floor(Math.log10(Double.valueOf(n))).intValue() + 1);
if(nlen >= len) return n.format();
String s = '';
for(Integer i=0, l=len-nlen; i<l; i++) {
s += '0';
}
return s + n;
}