Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
SimpleOne поддерживает прикрепление файлов к созданным записям. записям. Читайте статью Вложения, чтобы узнать, как загружать, скачивать и удалять файлы, прикрепленные к записи, на портале или через агентский интерфейс. В этой статье содержится информация о том, как настроить различные аспекты системы, связанные с вложениями:
Файлы можно прикрепить тремя способами:
- с помощью действия вложения в правом верхнем углу
- у поля типа Image
- через виджет вложений
- настройка действий вложения в интерфейсе.
- управление записями вложений.
- распознавание.
- вложения в системных журналах.
- настройка свойства системы.
- настройка доступа к вложениям.
Вложения в интерфейсе Anchor action action
action | |
action |
Действие и поле типа Image
Действие вложенияВы можете прикрепить файл к полю типа Image и или к записи, используя действие вложения. Оно отображается на форме как иконка скрепки .
На скриншоте ниже отмечены два действия вложения на записи формы:
Image Modified
Виджет
вложенийвложений Anchor widget widget
widget | |
widget |
Вложения могут быть добавлены через виджет вложений. Для этого вам нужно использовать Simple-тег <attachment> внутри определенного экземпляра виджета. Необязательно указывать атрибуты recordId, tableName для тега <attachment><attachment>, расположенного на странице с формой. Поэтому шаблон виджета будет выглядеть следующим образом:
Code Block |
---|
<attachment> </attachment> |
Info |
---|
После добавления экземпляра виджета на форму агентского интерфейса стандартное действие Вы можете добавить файлы из буфера обмена в виджет прямо на форме с помощью сочетания клавиш Ctrl+V при наведении курсора на область загрузки файлов. |
Добавление и управление вложениями
Вы можете прикрепить файлы следующими способами:
- нажав на Выбрать файлы и добавив их через менеджер файл.
- перетащив файлы в окно.
- нажав клавиши Ctrl(Cmd) и V на клавиатуре, чтобы вставить изображение из буфера обмена.
- нажав на Добавить файл и выбрав их через менеджер файлов, если к записи уже были добавлены файлы.
Image Removed
Загрузка файлов
Чтобы прикрепить файл к записи, выполните следующие шаги:
- Перейдите в запись, к которой вам нужно прикрепить файл.
- Откройте окно вложений:
- Нажмите на иконку скрепки
Image Removed в верхнем правом углу.
- Нажмите на иконку скрепки
Image Removed рядом с названием поля.
- Нажмите на иконку скрепки
- Прикрепите нужный файл. Вложенные файлы отображаются в верхней части формы или рядом с именем поля.
- Закройте окно вложений, чтобы вернуться к записи.
- Нажмите Сохранить или Сохранить и выйти.
Info |
---|
При загрузке файла через иконку вложений в правом верхнем углу запись сохранять не нужно. Прикрепленные файлы сохраняются автоматически на сервере. |
На скриншоте ниже показано окно вложений:
Image Removed
Копирование вложений
Для копирования вложений используйте серверные скрипты. Это можно сделать одним из двух способов:
Используйте объект base64 исходного вложения. В силу специфики работы метода readBase64, размер копируемого файла ограничен 10 Мб.
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
const attachmentRec = new SimpleRecord('sys_attachment');
attachmentRec.get('167654133500015741');
ss.info(`Original size bytes: ${attachmentRec.size_bytes}`);
// Info: Original size bytes: 92414492
const attach = new SimpleAttachment();
const base64Value = attach.readBase64(attachmentRec.sys_id);
const attachCopyId = attach.writeBase64(
attachmentRec.record_document_id,
'copy_of_' + attachmentRec.file_name,
base64Value,
attachmentRec.mime_content_type
);
if (attachCopyId) {
attachmentRec.get(attachCopyId);
ss.info(`/record/sys_attachment/${attachCopyId}`);
// Info: /record/sys_attachment/167654428100399185
ss.info(`Copy size bytes: ${attachmentRec.size_bytes}`);
// Info: Copy size bytes: 0
} |
Используйте класс SimpleAttachmentService. Максимальный размер копируемого файла определяется ограничением экземпляра на размер загружаемого вложения, которое задается системным свойством max_file_size_upload.
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
const attachmentRec = new SimpleRecord('sys_attachment');
attachmentRec.get('167654133500015741');
ss.info(`Original size bytes: ${attachmentRec.size_bytes}`);
// Info: Original size bytes: 92414492
const importSource = new SimpleRecord('sys_import_source');
importSource.get('167647710807446665'); // From Incident Import Source
const docId = ss.getDocIdByIds(importSource.sys_db_table_id, importSource.sys_id);
const attach = new SimpleAttachment();
const attachUrl = attach.getAttachmentUrlById(attachmentRec.sys_id);
const simpleAttach = new SimpleAttachmentService();
const docID = ss.getDocIdByIds(importSource.sys_db_table_id, importSource.sys_id);
const attachCopyId = simpleAttach.createAttachmentByUrl(attachUrl, docId, `Copy_of_the_${attachmentRec.file_name}`);
if (attachCopyId) {
attachmentRec.get(attachCopyId);
ss.info(`/record/sys_attachment/${attachCopyId}`);
// Info: /record/sys_attachment/167654472004676912
ss.info(`Copy size bytes: ${attachmentRec.size_bytes}`);
// Info: Copy size bytes: 92414492
} |
Запись вложения Anchor record record
record | |
record |
Когда вы загружаете файл, создается запись в таблице Вложения (sys_attachment). Чтобы открыть эти записи, перейдите во Вложения → Все вложения.
Поля формы записи Вложения
Поле | Обязательно | Описание |
---|---|---|
Запись в таблице | Нет | Отображает наименование записи, к которой прикреплен файл. Тип поля: Document ID. |
Имя файла | Да | Отображает название файла. |
Путь к файлу | Нет | Отображает путь к файлу на сервере. |
Размер в байтах | Нет | Указывает размер файла в байтах. |
MIME-тип | Да | Указывает тип содержимого файла, описанный в стандарте MIME. |
Публичное | Нет | Этот атрибут показывает, что данное вложение имеет постоянную ссылку и доступно для общего доступа. |
Распознавание Anchor parsing parsing
parsing | |
parsing |
Распознавание содержимого вложений возможно
Удаление вложений
Чтобы удалить прикрепленный файл, выполните следующие шаги:
- Перейдите в запись, у которой вам нужно удалить вложенный файл.
- Откройте окно вложений:
- Нажмите на иконку скрепки
Image Removed в верхнем правом углу.
- Нажмите на иконку скрепки
Image Removed рядом с названием поля.
- Нажмите на иконку скрепки
- Удалите файл или файлы следующими способами:
- Если прикреплен один файл, нажмите Удалить.
- Если файлов несколько, наведите курсор на файл, который хотите удалить, нажмите на иконку с тремя точками и опцию Выбрать в контекстном меню. Повторите это действие для всех файлов. Затем нажмите Удалить.
Image Removed
- Нажмите Выбрать все и Удалить, чтобы удалить все загруженные файлы.
- Закройте окно вложений, чтобы вернуться к записи.
- Нажмите Сохранить или Сохранить и выйти.
Info |
---|
При удалении файлов через иконку вложений в правом верхнем углу запись сохранять не нужно. Прикрепленные файлы удаляются автоматически на сервере. |
Распознавание и индексация
Распознавание и индексация содержимого вложений возможны только в том случае, если размер прикрепленного файла не превышает 30 Мб. Лимит фиксирован и не может быть изменен. Если файл больше 30 Мб, он не будет распознан. Предупреждающее сообщение, связанное с индексацией, будет записано в логах. Вы сможете найти дополнительную информацию позже в таблице Основной журнал (sys_log), используя следующие критерии для фильтра:
- Уровень равно Предупреждение.
- Сообщение содержит {ID вложения}
Индексация выполняется только для определенных форматов файлов. Поле Контент будет автоматически заполнено текстовым содержимым прикрепленного файла, если расширение файла входит в список: TXT, INI, REG, CVS, JSON, HTM, HTML, DOC, DOCS, XLS, XLSX. Атрибут Полнотекстовый поиск активен для поля Контент. Этот атрибут позволяет выполнять глобальный поиск по содержанию поля.
Note | ||
---|---|---|
Распознавание и индексация вложений – это фоновые процессыфоновый процесс. В рамках этих процессов реализуются следующие события: После этого создается поисковый индекс для этого вложения. Технически, это запись в таблице Поисковые индексы (sys_search_index) с полями, заполненными следующим образом: | ||
Поле | Тип | Значение |
Запись | Big Integer | 164313646211541086 |
Таблица | Reference | Вложения |
Колонка | Reference | Контент | Текст | Text | В этом поле появляется контент вложения.
Ссылка скачивания вложения
Ссылки на вложения могут использовать для различных целей:
- скачивание одного файла из вложений
- скачивания всех файлов из вложений в виде архива
- использование ссылки на файл из вложений в HTML-тегах.
Помимо этого ссылки можно также использовать, чтобы:
- добавлять изображения в тело поля HTML
- добавлять изображения в виджет, задав значение атрибута scr.
Формат ссылки зависит от параметров записи вложения. Записи вложений могут быть общедоступными или непубличными. Публичность вложений влияет на то, будет ли ссылка на вложение иметь срок действия.
- Ссылки на общедоступные вложения не имеют срока действия.
- Непубличные вложения по умолчанию имеют срок в 1 час с момента их создания. Время жизни ссылки определяется системным свойством s3.presigned.link.lifetime.
Атрибут Публичное на форме записи Вложений определяет публичность вложений.
Чтобы скачать вложения, войдите в систему и используйте относительную ссылку /attachments/${sys_attachment.sys_id}. Вы также можете воспользоваться методом getAttachmentUrlById(attachmentId), чтобы сформировать ссылку через API. Чтобы узнать больше, обратитесь к статье SimpleAttachments.
Info |
---|
В зависимости от публичности вложения, могут быть созданы две ссылки:
|
Использование настроек REST API для создания вложений
Вы можете создавать вложения при помощи настроек REST API. Передавайте файлов осуществляется в формате base64, а для получения файлов в этом формате используется метод readBase64(attachmentId).
Чтобы отправить вложение при помощи Scripted Rest API, выполните следующее:
1) Создайте действие API для обработки POST запросов с содержимым вложений.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
(function (request, response) {
const data = request.getBody();
const TABLE_ID = data.table_id;
const RECORD_ID = data.record_id;
const RECORD_DOC_ID = ss.getDocIdByIds(TABLE_ID, RECORD_ID);
const attachments = data.attachments;
const simpleAttach = new SimpleAttachment();
let createdAttachmentIds = [];
Object.keys(attachments).forEach(attachment => {
createdAttachmentIds.push(simpleAttach.writeBase64(RECORD_DOC_ID, ...attachments[attachment]));
});
response.setBody(createdAttachmentIds);
}) (SimpleApiRequest, SimpleApiResponse)
|
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const API_ACTION_URL = '';
const payloadRequest = sws.restRequestV1();
payloadRequest.setRequestUrl(API_ACTION_URL);
payloadRequest.setRequestMethod('POST');
payloadRequest.setRequestHeader('Content-type', 'application/json');
const payload = {
table_id: '155931135900000084', // ID записи user
record_id: '155931135900000001', // ID записи admin
record attachments: {
1: ['file_example.gif', 'R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=', 'image/gif']
}
}
payloadRequest.setRequestBody(JSON.stringify(payload));
const response = payloadRequest.execute().getBody();
print('Response: ' + response);
|
Логирование вложений Anchor log log
log | |
log |
Система регистрирует все операции (кроме чтения) в таблице Основной журнал (sys_log). У операций, связанных с вложениями, значение поля Источник равно Attachment. Перейдите в Системный журнал → Основной журнал.
Image Added
Если в процессе прикрепления файлов возникли какие-либо ошибки или исключения, их можно найти в списке Журнал исключений (sys_log_exception). Перейдите в Системный журнал → Журнал исключений.
Обратитесь к статье Аудит системы, чтобы узнать больше.
Настройка системных свойств вложений Anchor property property
property | |
property |
Чтобы настроить свойства вложений, выполните следующие шаги:
- Перейдите в Свойства системы → Все свойства.
- Найдите нужную запись свойства с помощью полей поиска по списку или конструктора условий и откройте ее.
- Отредактируйте значение в поле Значение.
- Нажмите Сохранить или Сохранить и выйти.
Доступные свойства вложений:
Свойство | Описание |
---|---|
max_files_upload_count | Максимальное количество файлов, которое можно загружать одновременно. |
max_file_size_upload | Максимальный размер файла (в байтах), который можно загрузить. |
allowed_upload_file_extension | Типы файлов, который разрешено загружать. Перечислите расширения через запятую без пробелов, например: jpeg,png,pdf. Файлы других типов будут игнорироваться при загрузке. Чтобы разрешить все типы файлов, введите []. |
Доступ к вложениям Anchor access access
access | |
access |
Вы может ограничить операции с полями типа Image и вложениям для пользователей определенных ролей с помощью списка контроля доступа (ACL).
Tip |
---|
Требуемая роль: security_admin. |
Ограничение доступа к полям типа Image
Чтобы ограничить доступ к полю типа Image, выполните следующие шаги:
- Перейдите в Безопасность → Контроль доступа (ACL).
- Нажмите Создать и заполните поля.
- В поле Колонка, выберите поле типа Image, доступ к которому вам нужно настроить.
- Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.
В результате:
- Создадутся ограничения на создание, редактирование, чтение и/или удаление записей в указанной таблице.
- Указанные правила также будут применяться и к формам портала.
В таблице ниже описано влияние ограничений операций для полей типа Image:
Операция | Описание |
---|---|
Создание | Поле не отображается на записи новой формы и появляется после сохранения записи. |
Чтение | Поле и его контент (прикрепленные файлы) скрыты. |
Запись | Поле доступно только для чтения. |
Ограничение доступа к вложениям
- Загрузить вложение может только пользователь с правами на создание записей в таблице Вложения (sys_attachment) и на редактирование той записи, к которой он пытается загрузить вложение. Чтобы запретить пользователю загружать вложение, запретите ему одну из этих операций.
- Удалять вложения может пользователь с правами на удаление записей из таблицы Вложения (sys_attachment) и на редактирование или удаление той записи, из которой он пытается удалить вложение.
- Скачивать вложения может пользователь с правами на чтение таблицы Вложения (sys_attachment) и чтение записи, к которой прикреплено вложение.
- Копировать может пользователь с правом на чтение таблицы записи, в которой находится исходное вложение, и с правом редактировать записи в таблице, в которой происходит копирование.
Вы можете дополнить существующие правила контроля доступа для таблицы Вложения (sys_attachment) новыми правилами с другими условиями, которые не будут противоречить существующим. Для этого выполните следующие шаги:
- Перейдите в Безопасность → Контроль доступа (ACL).
- Нажмите Создать и заполните поля.
- В поле Таблица выберите таблицу Вложения.
- Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.
Дополнительные сведения об ограничениях доступа смотрите в статьях раздела Контроль доступа.
Table of Contents | ||||||
---|---|---|---|---|---|---|
|