臨時
2020年10月14日 星期三
2020年10月6日 星期二
Chome直接預覽PDF 造成 setRedirect(false) 的作法Class內容遺失, 下載PDF會失敗
Chome直接預覽PDF 造成 setRedirect(false) 的作法Class內容遺失, 下載PDF會失敗
==> 外面包一層強制下載PDF
PS. Controller & extensions 要一致
Style要再寫才能顯示中文,跟頁面大小
<head>
<style type="text/css" media="print">
@page {
@top-center {
content: element(header);
}
@bottom-left {
content: element(footer);
}
size: 297mm 210mm;
margin: 15mm;
margin-right:0mm;
margin-top: 2.80cm;
margin-bottom: 2.80cm;
margin-left: 1.27cm;
margin-right:1cm;
}
body { font-family:Arial Unicode MS; font-size:10px;}
</style>
</head>
<apex:include pageName="TW_InvestmentReportPDF"/>
</apex:page>
2020年9月21日 星期一
Lightning New Page 網頁轉址傳送參數
Custom Button URL Hacking in Salesforce Lightning Experience vs Salesforce Classic
To Show Record Type Selection in Record’s Create Page with Default Field Values:-
/lightning/o/Contact/new?useRecordTypeCheck=1
Set Default Record Type value in Record’s Create Page with Default Field Values:-
Note: recordTypeId (here recordTypeId follow the case sensitive i.e T and I capital letters)
/lightning/o/Contact/new?recordTypeId=0122v000001SmZ2AAK&
defaultFieldValues=
LastName={!URLENCODE(Account.Name)},
Phone={!Account.Phone},
Languages__c=English
Set Date field values in Record’s Create Page with Default Field Values:-
/lightning/o/Contact/new?recordTypeId=0122v000001SmZ2AAK&
defaultFieldValues=
LastName={!URLENCODE(Account.Name)},
Phone={!Account.Phone},
DateOfBirth__c={!TEXT(TODAY() )}
To pass the date value to convert as String value using TEXT() – https://releasenotes.docs.salesforce.com/en-us/spring20/release-notes/rn_lc_navigate_to_record_dfv.htm
參考網址:
2019年11月3日 星期日
[Salesforce] Pass field value to new record page
some ID field: e.g. CF00…. This corresponds to the ID of the field that you want to be prepopulated. This will always be the text that is displayed in the box.{some ID field}_lkid: e.g. CF00…_lkid. If the field in question is a lookup or master-detail, then this field should be set to the resulting record ID {some other ID field}. Note that in this case, the actual non _lkid field is irrelevant, and not consulted.
/500/e?
CF00NC0000005Au31={!opportunity.name}&
CF00NC0000005Au31_lkid={!Opportunity.Id}
&RecordType=012C0000000MK5d
2019年5月17日 星期五
2019年4月6日 星期六
Get Rich Text Image URLs and Blob Data
Get Rich Text Image URLs and Blob Data
// use reluctant regex to match each image tag individually
// https://docs.oracle.com/javase/tutorial/essential/regex/quant.html
Matcher imgMatcher = Pattern.compile( '<img(.+?)>' ).matcher( record.richTextField__c );
// iterate each image tag found
while ( imgMatcher.find() ) {
// get the image tag html
String imageTag = imgMatcher.group();
System.debug( 'imageTag=' + imageTag );
// get the value of the src attribute
// the leading space is significant to avoid other attributes like data-cke-saved-src
String imageURL = imageTag.substringBetween( ' src="', '"' );
System.debug( 'imageURL=' + imageURL );
// if url contained parameters they might be html escaped, unescape them
// or, more conservatively, replace '&' with '&'
String decodedURL = imageURL.unescapeHtml4();
System.debug( 'decodedURL=' + decodedURL );
// note, as of API 34.0 or later, getContent() is considered an http callout
// so take that into consideration for your unit tests and governor limits
// https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/apex_System_PageReference_getContent.htm
PageReference page = new PageReference( decodedURL );
Blob b = page.getContent();
System.debug( 'blob=' + b );
System.debug( 'Enjoy your Blob, save it as a Document, ContentVersion, whatever!' );
System.debug(''); // I like blank lines in my logs, easier to scan/read =)
}
Link:https://salesforce.stackexchange.com/questions/91692/get-images-from-rich-text-area-via-apex
2019年3月28日 星期四
處理Salesforce RichText 無法 Render問題
參考連結:
https://medium.com/@toninotrip/how-to-re-render-an-apex-inputtextarea-in-visualforce-9452c8b80b57
https://andrewbcummings.wordpress.com/2013/07/19/salesforce-richtext-fail-rerender-is-not-currently-supported-with-rich-text-editing-enabled/