Использование шаблонов файлов для получения контента виртуального файла
Использование шаблонов файлов для получения контента виртуального файла¶
Если требуется сделать виртуальный файл, который должен получить контент сгенерированного шаблона файла, для этого необходимо:
Сделать расширение на получение контента вашего виртуального файла с указанием order в регистраторе WithOrder(ExtensionStage.BeforePlatform)
. В этом расширении уже необходимо получить ID карточки нужного шаблона файла.
Далее необходимо записать в Request
в данном расширении следующую информацию:
-
В
Info
записать ID карточки документа по следующему шаблону -Request.Info.Add(CardHelper.PlaceholderCurrentCardIDInfo, ‘ID карточки документа, по которой строится шаблон’)
; -
CardID
– полученный ID шаблона; -
VersionRowID
– указать константуCardHelper.ReplacePlaceholdersVersionRowID
;
Расширение на получение шаблона выполнится автоматически и вернет в качестве контента сгенерированный шаблон файла.
Важно! У сотрудника должен быть доступ к этому шаблону (настраивается в карточке Шаблона файла).
Полученное расширение будет выглядеть примерно следующим образом:
public class GetContentExtension: CardGetFileContentExtension
{
public override Task BeforeRequest(ICardGetFileContentExtensionContext context)
{
if (/*Проверка, что это ваша виртуальная карточка файла*/)
{
Guid templateID = /* Получаем ID карточки шаблона файла */;
context.Request.Info.Add(CardHelper.PlaceholderCurrentCardIDInfo, context.Request.CardID);
context.Request.CardID = templateID;
context.Request.VersionRowID = CardHelper.ReplacePlaceholdersVersionRowID;
}
return Task.CompletedTask;
}
}