Как реализовать воспроизведение видео в 1С при работе через веб-клиент?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Задача организации просмотра медиафайлов непосредственно из интерфейса 1С часто возникает при разработке систем обучения, каталогов товаров или архивов мультимедиа. Однако при реализации этой функции важно учитывать архитектурные особенности платформы 1С:Предприятие. Давайте разберем, как сделать это правильно, чтобы система работала быстро и не испытывала проблем с производительностью.

Почему хранение видео внутри базы данных 1С — это плохая идея?

Прежде чем приступать к технической реализации, важно понять архитектурный аспект. Хотя 1С позволяет хранить файлы в объекте ХранилищеЗначения, привязанном к справочнику, для видео этот способ категорически не рекомендуется. Рассмотрим причины:

  1. Разрастание базы данных: Видеофайлы занимают значительный объем. Включение их в SQL-базу приводит к резкому росту размера .mdf файла, что усложняет выполнение операций резервного копирования и восстановления.
  2. Падение производительности: Чтение больших объемов бинарных данных из SQL-таблиц замедляет работу всей информационной системы.
  3. Ограничения веб-клиента: Веб-клиент не предназначен для прямой потоковой передачи тяжелых бинарных объектов из базы данных 1С, что может привести к зависаниям при попытке просмотра.

Правильный архитектурный подход — это использование внешнего хранилища. Мы будем хранить файлы на веб-сервере или в облаке, а в 1С — лишь ссылку (URL) на этот файл. Это позволит 1С оставаться легкой и быстрой.

Реализация воспроизведения видео через поле HTML-документа

Для отображения видео в веб-клиенте 1С наиболее эффективным способом является использование стандартного HTML-тега video. Платформа 1С предоставляет элемент формы ПолеHTMLДокумента, который отлично справляется с этой задачей.

Рассмотрим пошаговую реализацию:

  1. Подготовка реквизита: На форме документа или справочника создадим строковый реквизит, например, АдресВидео. Также добавим элемент формы ПолеHTMLДокумента.
  2. Формирование HTML-кода: При открытии формы или изменении адреса видео мы будем программно генерировать HTML-код, который браузер отобразит пользователю.

Давайте проанализируем пример кода для формирования строки HTML:


// Предположим, что АдресВидео содержит ссылку на mp4-файл
HTMLСтрока = "
|<html>
|<body>
|<video width='100%' controls>
|  <source src='" + СсылкаНаВидео + "' type='video/mp4'>
|  Ваш браузер не поддерживает видео.
|</video>
|</body>
|</html>";
Элементы.ПолеHTML.УстановитьТекст(HTMLСтрока);

Важные технические нюансы

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

Альтернативные способы развертывания

Если вы хотите избежать сторонних облачных хранилищ, вы можете самостоятельно развернуть локальный веб-сервер внутри вашей корпоративной сети. Использование таких решений как Nginx или IIS позволит публиковать видеофайлы по локальному протоколу HTTP/HTTPS. В этом случае 1С будет обращаться к внутреннему адресу ресурса, что гарантирует безопасность данных и высокую скорость загрузки видео внутри локальной сети предприятия.

Таким образом, мы выяснили, что ключ к успешному решению задачи — разделение данных. Храните медиа-контент во внешней среде, а 1С используйте исключительно как «витрину» для отображения этого контента через HTML-компоненты. Такой подход обеспечит стабильность вашей системы и удобство для пользователей.

← На главную