Я создал InvocableMethod
, который вызывается из моего потока. Этот метод просто создает PDF цитаты и прикрепляет его к цитате. Этот метод выглядит следующим образом:
@InvocableMethod(label='Create Quote PDF' description='Creates a PDF and saves it to the quote.')
public static void createPdf(List<string> quoteIds)
{
string quoteId = quoteIds[0];
//Create pdf content
PageReference pg = new PageReference('/quote/quoteTemplateDataViewer.apexp?id=xxx&summlid=yyy');
//Document object of quote which hold the quote pdf
QuoteDocument quotedoc = new QuoteDocument();
//Get the content of Pdf.
Blob b = pg.getContentAsPDF() ;
//content assign to document
quotedoc.Document = b;
//assign quote id where pdf should attach
quotedoc.QuoteId = 'xxx';
insert quotedoc;
}
Это не работает, когда я выполняю свой поток; он создаст PDF и приложит его к цитате, но он будет пустым. Забавно, что если я возьму этот код и выполню в анонимном окне, он будет работать нормально! PDF создается как ожидалось. Похоже, он не работает, если по какой-то причине вызывается из потока.
Есть идеи, как я могу решить эту проблему?