You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 21 Next »
SimpleOne поддерживает прикрепление файлов к созданным записям.
Файлы можно прикрепить тремя способами:
- с помощью действия вложения в правом верхнем углу
- у поля типа Image
- через виджет вложений
Действие вложения
Вы можете прикрепить файл к полю типа Image и к записи, используя действие вложения. Оно отображается на форме как иконка скрепки .
На скриншоте ниже отмечены два действия вложения на записи формы:
Виджет вложений
Вложения могут быть добавлены через виджет вложений. Для этого вам нужно использовать Simple-тег <attachment> внутри определенного экземпляра виджета. Необязательно указывать атрибуты recordId, tableName для тега <attachment>, расположенного на странице с формой. Поэтому шаблон виджета будет выглядеть следующим образом:
<attachment> </attachment>
После добавления экземпляра виджета на форму агентского интерфейса стандартное действие в правом верхнем углу формы будет удалено:
Вы можете добавить файлы из буфера обмена в виджет прямо на форме с помощью сочетания клавиш Ctrl+V при наведении курсора на область загрузки файлов.
Добавление и управление вложениями
Вы можете прикрепить файлы следующими способами:
- нажав на Выбрать файлы и добавив их через менеджер файл.
- перетащив файлы в окно.
- нажав клавиши Ctrl(Cmd) и V на клавиатуре, чтобы вставить изображение из буфера обмена.
- нажав на Добавить файл и выбрав их через менеджер файлов, если к записи уже были добавлены файлы.
Загрузка файлов
Чтобы прикрепить файл к записи, выполните следующие шаги:
- Перейдите в запись, к которой вам нужно прикрепить файл.
- Откройте окно вложений:
- Нажмите на иконку скрепки
в верхнем правом углу.
- Нажмите на иконку скрепки
рядом с названием поля.
- Нажмите на иконку скрепки
- Прикрепите нужный файл. Вложенные файлы отображаются в верхней части формы или рядом с именем поля.
- Закройте окно вложений, чтобы вернуться к записи.
- Нажмите Сохранить или Сохранить и выйти.
При загрузке файла через иконку вложений в правом верхнем углу запись сохранять не нужно. Прикрепленные файлы сохраняются автоматически на сервере.
На скриншоте ниже показано окно вложений:
Копирование вложений
Для копирования вложений используйте серверные скрипты. Это можно сделать одним из двух способов:
Используйте объект base64 исходного вложения. В силу специфики работы метода readBase64, размер копируемого файла ограничен 10 Мб.
Пример Expand sourceconst 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.
Пример Expand sourceconst 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 }
Удаление вложений
Чтобы удалить прикрепленный файл, выполните следующие шаги:
- Перейдите в запись, у которой вам нужно удалить вложенный файл.
- Откройте окно вложений:
- Нажмите на иконку скрепки
в верхнем правом углу.
- Нажмите на иконку скрепки
рядом с названием поля.
- Нажмите на иконку скрепки
- Удалите файл или файлы следующими способами:
- Если прикреплен один файл, нажмите Удалить.
- Если файлов несколько, наведите курсор на файл, который хотите удалить, нажмите на иконку с тремя точками и опцию Выбрать в контекстном меню. Повторите это действие для всех файлов. Затем нажмите Удалить.
- Нажмите Выбрать все и Удалить, чтобы удалить все загруженные файлы.
- Закройте окно вложений, чтобы вернуться к записи.
- Нажмите Сохранить или Сохранить и выйти.
При удалении файлов через иконку вложений в правом верхнем углу запись сохранять не нужно. Прикрепленные файлы удаляются автоматически на сервере.
Распознавание и индексация
Распознавание и индексация содержимого вложений возможны только в том случае, если размер прикрепленного файла не превышает 30 Мб. Лимит фиксирован и не может быть изменен. Если файл больше 30 Мб, он не будет распознан. Предупреждающее сообщение, связанное с индексацией, будет записано в логах. Вы сможете найти дополнительную информацию позже в таблице Основной журнал (sys_log), используя следующие критерии для фильтра:
- Уровень равно Предупреждение.
- Сообщение содержит {ID вложения}
Индексация выполняется только для определенных форматов файлов. Поле Контент будет автоматически заполнено текстовым содержимым прикрепленного файла, если расширение файла входит в список: TXT, INI, REG, CVS, JSON, HTM, HTML, DOC, DOCS, XLS, XLSX. Атрибут Полнотекстовый поиск активен для поля Контент. Этот атрибут позволяет выполнять глобальный поиск по содержанию поля.
Распознавание и индексация вложений – это фоновые процессы. В рамках этих процессов реализуются следующие события:
- Какой-то файл прикреплен к записи любой таблицы (например, к записи 164313550512027919 в таблице Task).
После этого создается поисковый индекс для этого вложения. Технически, это запись в таблице Поисковые индексы (sys_search_index) с полями, заполненными следующим образом:
Поле Тип Значение Запись Big Integer
164313646211541086
Таблица Reference
Вложения
Колонка Reference
Контент
Текст Text
В этом поле появляется контент вложения.
- В записи таблицы Вложения (sys_attachment) помещается содержимое вложения, проанализированное из предоставленного файла. Содержимое вложения заполняется в поле Содержимое, а кодировка – в поле Кодировка. Кодировка содержимого определяется автоматически.
Ссылка скачивания вложения
Записи вложений могут быть общедоступными или непубличными. Публичность вложений влияет на то, будет ли ссылка на вложение иметь срок действия.
- Ссылки на общедоступные вложения не имеют срока действия.
- Непубличные вложения по умолчанию имеют срок в 1 час с момента их создания. Время жизни ссылки определяется системным свойством s3.presigned.link.lifetime.
Атрибут Публичное на форме записи Вложений определяет публичность вложений.
Чтобы скачать вложения, войдите в систему и используйте относительную ссылку /attachments/${sys_attachment.sys_id}. Вы также можете воспользоваться методом getAttachmentUrlById(attachmentId), чтобы сформировать ссылку через API. Чтобы узнать больше, обратитесь к статье SimpleAttachments.
В зависимости от публичности вложения, могут быть созданы две ссылки:
- для непубличных вложений: https://s3-{your-instance-url}/attachment/9/b7/prp5bikeyg70mpn7mhfszi4amgzleo?response-content-disposition=inline%3B%20filename%3D%22image.png...
- для публичных вложений: https://s3-{your-instance-url}/public-attachment/9/b7/prp5bikeyg70mpn7mhfszi4amgzleo?response-content-disposition=inline%3B%20filename%3D%22image.png...
- No labels