str base64String = "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzCi9LaWRzIFsgMyAwIFIgXQovQ291bnQgMSA+PgplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZQovUGFyZW50IDIgMCBSCi9NZWRpYUJveCBbMCAwIDYxMiA3OTJdCi9Db250ZW50cyA0IDAgUgovUmVzb3VyY2VzIDw8IC9Gb250IDw8IC9GMSA1IDAgUiA+PiA+PiA+PgplbmRvYmoKNCAwIG9iago8PCAvTGVuZ3RoIDQ0ID4+CnN0cmVhbQpCVAovRjEgMjQgVGYKMTAwIDcwMCBUZAooSGVsbG8gV29ybGQpIFRqCkVUCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iago8PCAvVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTEKL0Jhc2VGb250IC9IZWx2ZXRpY2EgPj4KZW5kb2JqCnhyZWYKMCA2CjAwMDAwMDAwMDAgNjU1MzUgZgowMDAwMDAwMDEwIDAwMDAwIG4KMDAwMDAwMDA3OSAwMDAwMCBuCjAwMDAwMDAxNzggMDAwMDAgbgowMDAwMDAwMzAxIDAwMDAwIG4KMDAwMDAwMDM5MCAwMDAwMCBuCnRyYWlsZXIKPDwgL1NpemUgNgovUm9vdCAxIDAgUiA+PgpzdGFydHhyZWYKNTAyCiUlRU9G";
str fileName = "MyAttachment.pdf";
str fileType = "PDF";
PurchTable purchTable;
select firstOnly purchTable where purchTable.PurchId == 'PO00003075';
if (purchTable)
{
System.IO.MemoryStream memoryStream;
DocuRef docuRef;
#define.File('File')
try
{
if(purchTable.RecId && fileName)
{
docuRef.clear();
docuRef.RefTableId = purchTable.TableId;
docuRef.RefRecId = purchTable.RecId;
docuRef.RefCompanyId = curExt();
docuRef.TypeId = #File;
docuRef.Name = System.IO.Path::GetFileNameWithoutExtension(fileName);
docuRef.DocumentId = newGuid();
if(docuRef.validateWrite())
{
docuRef.insert();
memoryStream = new System.IO.MemoryStream(System.Convert::FromBase64String(base64String));
if(memoryStream != null)
{
using(System.IO.MemoryStream fileStream = memoryStream)
{
DocuAction action = docuRef.docuAction();
action.attachFile(docuRef,fileName,'',fileStream);
info(strFmt('File is uploaded to Sales ID:%1 successfully',salesTable.SalesId));
}
}
}
}
}
catch(Exception::CLRError)
{
System.Exception e = CLRInterop::getLastException();
if(e != null)
{
e = e.InnerException;
throw error(e.ToString());
}
}
}
else
{
warning("Purchase Order not found.");
}