Перейти к содержанию

Использование сценария инициализации виртуального файла

Использование сценария инициализации виртуального файла

Данный сценарий позволяет дополнить, изменить, или удалить информацию о виртуальном файле в пакете загружаемой карточки.

Сценарий выполняется при загрузке карточки в ситуации, когда виртуальный файл добавляется в карточку (т.е. все условия данного виртуального файла выполнены).

Important

Данный сценарий выполняется только при загрузке карточки и никак не может влиять на содержимое самого файла. Содержимое файла определяется выбранным в в настройках виртуального файла шаблоном файла.

В данном сценарии доступен объект context, который имеет тип IKrVirtualFileScriptContext. Данный объект контекста имеет следующие свойства:

  • Card - карточка, для которой идет генерация виртуального файла.

  • DbScope - объект для взаимодействия с базой данных.

  • Session - сессия пользователя.

  • Container - контейнер зависимостей Unity.

  • CardFile - общая информация о файла, прикреплённом к карточке.

  • File - объект файла.

Пример сценария удаления виртуального файла в скрипте инициализации по условию:

// Проверяем в секции DocumentCommonInfo значение поля Amount, и если оно больше 100000, то удаляем виртуальный файл из карточки if (context.Card.Sections["DocumentCommonInfo"].RawFields.TryGet<decimal>("Amount") > 100000m) { context.Card.Files.Remove(context.CardFile); }

Пример изменения категории файла с использованием данных карточки:

// К имени категории добавляем валюту, указанную в карточке. context.CardFile.CategoryCaption += " " + context.Card.Sections.GetOrAdd("DocumentCommonInfo").RawFields["CurrencyName"];

// Генерируем Guid по строке, чтобы в ситуации, когда несколько файлов имели такую категорию, идентификатор был одинаковым. context.CardFile.CategoryID = context.CardFile.CategoryCaption.ToGuid();

Back to top