<apex:page standardController="TransferApply__c">
|
<apex:includeScript value="{!URLFOR($Resource.qrcode)}"/>
|
<apex:includeScript value="/soap/ajax/40.0/connection.js"/>
|
<apex:includeScript value="/soap/ajax/40.0/apex.js"/>
|
|
<div id="qrcode"></div>
|
<script type="text/javascript">
|
function createAttachment() {
|
var div = document.getElementById("qrcode");
|
var img = div.getElementsByTagName("img");
|
var src = img[0].src;
|
src = src.substring(22, src.length);
|
|
sforce.connection.sessionId = '{!GETSESSIONID()}';
|
|
var record = sforce.connection.query("select id from Attachment where ParentId = \'{!TransferApply__c.Id}\' and name = \'QRCode-{!TransferApply__c.Name}\'");
|
// 既にあれば無視
|
if (record.size == 0) {
|
var atta = new sforce.SObject("Attachment");
|
atta.Name = "QRCode-{!TransferApply__c.Name}";
|
atta.ParentId = "{!TransferApply__c.Id}";
|
atta.Body = src;
|
var result = sforce.connection.create([atta]);
|
|
var es = new sforce.SObject("TransferApply__c");
|
es.Id = "{!TransferApply__c.Id}";
|
es.QRId__c = result[0].id;
|
result = sforce.connection.update([es]);
|
//申请书更新失败的话再次更新
|
} else if ("{!TransferApply__c.QRId__c}" == '' || "{!TransferApply__c.QRId__c}" == null) {
|
var records = record.getArray("records");
|
var es = new sforce.SObject("TransferApply__c");
|
es.Id = "{!TransferApply__c.Id}";
|
es.QRId__c = records[0].Id;
|
result = sforce.connection.update([es]);
|
// TODO Name変わる可能性あり、upsertにします
|
} else {
|
alert(record[0].id);
|
}
|
}
|
|
var qrcode = new QRCode(document.getElementById("qrcode"), {
|
text: "{!TransferApply__c.Name}",
|
width: 128,
|
height: 128,
|
colorDark : "#000000",
|
colorLight : "#ffffff",
|
correctLevel : QRCode.CorrectLevel.H
|
});
|
|
// qrcode生成後、Attachmentを作成
|
setTimeout("createAttachment()", 1000);
|
</script>
|
</apex:page>
|