Как использовать в форме поле Выбор файлов. Типы полей формы files, remoteFile, fileContent
Вы можете добавить к форме поле Выбор файла (files).

Для этого необходимо сделать следующее:
- Добавить колонку Выбор файла. И реализовать хранимую процедуру dict - в ней необходимо указать код Менеджера ресурсов, который будет подгружаться (as-resourceManager).
- В GetItem указать данное поле (некий Guid, который будет идентифицировать связь с файлами - именно он будет идти в data-itemID в ResourceManager). Если поле не указано, то будет генерироваться Guid автоматически.
- В CheckItem и SaveItem необходимо передать поле, как и другие поля (тип nvarchar(64)) и сохранить это поле для сущности (добавьте столбец в sql-таблицу сущности, если необходимо)
- Создать менеджер ресурсов (в /resourceTypes) с кодом, указанным в dict процедуре для поля.
- При выводе ресурса на форму уже созданной сущности в data-ItemID необходимо использовать сохраненный guid
Пример dict процедуры:
select '' Text, 'testFormAttach' Value, 0 Selected
Примечание:
- Если у вас нет такого типа поля (Выбор файла), то вы можете самостоятельно добавить его в as_dataTypes (с кодом files)
- Если менеджер файлов не выводится, проверьте, что вы задали процедуру dict.
- Не используйте это поле на модальных формах. Дело в том, что выбор файла использует также модальное окно и новое окно для выбора файлов закроет окно вашей формы.
Загрузка файла с внешнего ресурса
Если нам необходимо получить в SQL для обработки файл по какому-то URL, то используем тип Файл на внешнем ресурсе (remoteFile).
Это будет поле ввода, в котором указывается URL. В итоге в процедуру передается содержимое, скачанное по этому адресу.
Передача содержимого загруженного файла в процедуру SaveItem
Это актуально, когда вам надо обработать некий XML файл, который загружает пользователь, прямо в sql
Для этого используем тип колонки формы Содержимое файла (fileContent).
Настраиваем его также как тип files (в dict передаем тип ресурса, itemID задается как некий Guid или itemID сущности и настраиваем переданный тип ресурса). Основное отличие в том, что SaveItem, в итоге, передаем содержимое файла, а не itemID.