| | |
| | | |
| | | sforce.connection.sessionId = '{!GETSESSIONID()}'; |
| | | |
| | | var record = sforce.connection.query("select id from Attachment where ParentId = \'{!Asset.Id}\' and name = \'QRCode\'"); |
| | | |
| | | // var record = sforce.connection.query("select id from Attachment where ParentId = \'{!Asset.Id}\' and name = \'QRCode\'"); |
| | | var record = sforce.connection.query("SELECT ContentDocumentId from ContentDocumentLink where LinkedEntityId =\'{!Asset.Id}\'"); |
| | | var records; |
| | | if(record.size > 0){ |
| | | records = record.getArray("records"); |
| | | var idList = records.map(obj => "'" + obj.ContentDocumentId + "'").join(","); |
| | | record = sforce.connection.query("SELECT Id,Title, OwnerId, ContentModifiedDate FROM ContentDocument WHERE Id IN (" + idList + ") AND Title = 'QRCode'"); |
| | | } |
| | | // 既にあれば無視 |
| | | if (record.size == 0) { |
| | | var atta = new sforce.SObject("Attachment"); |
| | | atta.Name = "QRCode"; |
| | | atta.ParentId = "{!Asset.Id}"; |
| | | atta.Body = src; |
| | | var result = sforce.connection.create([atta]); |
| | | // var atta = new sforce.SObject("Attachment"); |
| | | // atta.Name = "QRCode"; |
| | | // atta.ParentId = "{!Asset.Id}"; |
| | | // atta.Body = src; |
| | | // var result = sforce.connection.create([atta]); |
| | | var version = new sforce.SObject("ContentVersion"); |
| | | version.VersionData = src; |
| | | version.Title = "QRCode"; |
| | | version.ContentLocation= 's'; |
| | | version.PathOnClient="QRCode.jpg"; |
| | | var versionResult = sforce.connection.create([version]); |
| | | record = sforce.connection.query("SELECT ContentDocumentId FROM ContentVersion WHERE Id =\'" + versionResult[0].id + "\'"); |
| | | records = record.getArray("records"); |
| | | var link = new sforce.SObject("ContentDocumentLink"); |
| | | link.ContentDocumentId = records[0].ContentDocumentId; |
| | | link.LinkedEntityId = "{!Asset.Id}"; |
| | | link.ShareType = 'I'; |
| | | link.Visibility = 'AllUsers'; |
| | | var result = sforce.connection.create([link]); |
| | | |
| | | |
| | | var es = new sforce.SObject("Asset"); |
| | | es.Id = "{!Asset.Id}"; |
| | | es.QRId__c = result[0].id; |
| | | es.QRId__c = result[0].ContentDocumentId; |
| | | es.Fixture_QRCode_Text__c = "{!Asset.Fixture_QRCode__c}"; |
| | | result = sforce.connection.update([es]); |
| | | } else if ("{!Asset.QRId__c}" == null || "{!Asset.QRId__c}" == '' || "{!Asset.Fixture_QRCode__c}" != "{!Asset.Fixture_QRCode_Text__c}"){ |
| | | var records = record.getArray("records"); |
| | | var atta = new sforce.SObject("Attachment"); |
| | | atta.Name = "QRCode"; |
| | | atta.Body = src; |
| | | atta.Id = records[0].Id; |
| | | var result = sforce.connection.update([atta]); |
| | | // var records = record.getArray("records"); |
| | | // var version = |
| | | // var atta = new sforce.SObject("Attachment"); |
| | | // atta.Name = "QRCode"; |
| | | // atta.Body = src; |
| | | // atta.Id = records[0].Id; |
| | | // var result = sforce.connection.update([atta]); |
| | | |
| | | |
| | | var result = sforce.connection.query("SELECT Id from ContentDocumentLink where ContentDocumentId =" + record[0].Id); |
| | | var version = sforce.connection.query("SELECT Id from ContentVersion where ContentDocumentId =" + record[0].Id); |
| | | var versions = version.getArray("versions"); |
| | | var atta = new sforce.SObject("ContentVersion"); |
| | | atta.VersionData = src; |
| | | atta.Id = versions[0].Id; |
| | | version = sforce.connection.update([atta]); |
| | | records = result.getArray("records"); |
| | | var es = new sforce.SObject("Asset"); |
| | | es.Id = "{!Asset.Id}"; |
| | | es.QRId__c = result[0].id; |
| | | es.QRId__c = records[0].Id; |
| | | es.Fixture_QRCode_Text__c = "{!Asset.Fixture_QRCode__c}"; |
| | | result = sforce.connection.update([es]); |
| | | // TODO Name変わる可能性あり、upsertにします |