Видеофайл лежит в 1С, а нужен на диске: способы выгрузки

· 10 мин

Содержание

Чтобы скачать видео с 1С, откройте объект, к которому оно прикреплено, нажмите кнопку со скрепкой (присоединенные файлы), выделите ролик и выполните команду Сохранить как. Программа спросит папку, и файл ляжет на диск с исходным именем и расширением. Так работает любая типовая конфигурация на БСП: Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP.

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

Где 1С показывает прикрепленные видео и другие файлы

В типовых конфигурациях файл почти всегда привязан к владельцу: документу, карточке контрагента, сотрудника, номенклатуры. Видео ничем не отличается от скана договора — для 1С это просто файл с расширением .mp4, .avi, .mov или .mkv.

Где искать:

  • 📎 Кнопка со скрепкой в командной панели формы документа или элемента справочника. Рядом показывается число прикрепленных файлов.
  • 🗂️ Общий список файлов, если в конфигурации есть раздел с папками файлов (в КА, ERP, Документообороте он есть, в Бухгалтерии обычно файлы смотрят только через владельца).
  • 🧩 Реквизит формы в доработанных базах: иногда программист хранит ролик прямо в реквизите типа «Хранилище значения». Скрепки тогда нет, видео открывается кнопкой на форме.

В списке присоединенных файлов доступны команды открытия, сохранения, редактирования и добавления. Нужная — Сохранить как. Она есть и в командной панели списка, и в контекстном меню по правой кнопке, и в карточке самого файла.

Команда «Открыть» тоже скачивает файл, но во временный рабочий каталог 1С. Найти его потом в проводнике можно, но неудобно. Для «нужен файл на рабочем столе» используйте именно «Сохранить как».

Как 1С хранит видео: в базе или в томах на диске

От места хранения зависит, как быстро файл скачается и можно ли выгрузить его в обход интерфейса.

Вариант храненияГде физически лежит роликЧто это значит для выгрузки
В информационной базеВнутри базы, в двоичных данныхСкачать можно только через 1С. База быстро растет от видео
В томах на дискеВ папке на сервере или сетевом ресурсеФайл лежит отдельно, но в служебной структуре папок
В реквизите доработкиВ хранилище значения объектаНужна команда на форме или обработка

Переключатель режима хранения находится в настройках работы с файлами, в разделе Администрирование → Общие настройки. Там же задаются тома хранения и максимальный размер загружаемого файла.

Почему администраторы выносят видео в тома:

Даже когда файлы лежат в томе, не копируйте их из папки тома руками. Имена и структура каталогов там служебные, а связь «файл ↔ документ» хранится в базе. Скачивать нужно через 1С: так вы получите правильное имя и расширение.

Скачиваем видео из 1С вручную: пошаговый порядок

Подходит, когда нужно сохранить один или несколько роликов.

Тонкий клиент

  1. Откройте документ или карточку, к которой прикреплено видео.
  2. Нажмите кнопку со скрепкой в командной панели формы.
  3. В списке выделите строку с роликом. Ориентируйтесь на расширение и размер.
  4. Нажмите Сохранить как (или выберите команду в контекстном меню).
  5. Укажите папку и при необходимости новое имя. Расширение не меняйте.
  6. Дождитесь окончания. Ролик на сотни мегабайт по сети может сохраняться минуту и дольше — форма в это время не отвечает, это нормально.

Веб-клиент и публикация через браузер

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

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

Если видео хранится в реквизите формы

В доработанных базах ищите на форме кнопку вида «Выгрузить», «Сохранить ролик», «Открыть видео». Если такой кнопки нет, а видео есть, значит, разработчик предусмотрел только просмотр. Тогда выгрузка возможна обработкой (следующий раздел) или доработкой формы.

Какой способ выгрузки вам подходит?

Массовая выгрузка видео внешней обработкой

Когда нужно скачать все видео из базы или по отбору (за период, по контрагенту, по типу документа), пишут небольшую внешнюю обработку . В конфигурациях на БСП для этого есть программный интерфейс подсистемы «Работа с файлами».

Ключевая функция — РаботаСФайлами.ДвоичныеДанныеФайла(Файл). Она возвращает двоичные данные присоединенного файла независимо от того, где он хранится: в базе или в томе. Дальше данные записываются на диск методом Записать().

Присоединенные файлы в БСП лежат в справочниках, имена которых заканчиваются на ПрисоединенныеФайлы, а в части конфигураций есть еще справочник Файлы. У элементов есть реквизиты Наименование и Расширение. Обработка ниже обходит все такие справочники и выгружает файлы с видеорасширениями.

&НаСервере
Процедура ВыгрузитьВидеоНаСервере(КаталогВыгрузки)

    ВидеоРасширения = СтрРазделить("mp4,avi,mov,mkv,wmv,webm", ",");
    Выгружено = 0;

    Для Каждого МетаСправочник Из Метаданные.Справочники Цикл

        Имя = МетаСправочник.Имя;
        Если Не (СтрЗаканчиваетсяНа(Имя, "ПрисоединенныеФайлы") Или Имя = "Файлы") Тогда
            Продолжить;
        КонецЕсли;

        Запрос = Новый Запрос;
        Запрос.Текст = СтрШаблон(
            "ВЫБРАТЬ Ссылка, Наименование, Расширение
            |ИЗ Справочник.%1
            |ГДЕ НЕ ПометкаУдаления", Имя);
        Выборка = Запрос.Выполнить().Выбрать();

        Пока Выборка.Следующий() Цикл

            Расширение = НРег(Выборка.Расширение);
            Если ВидеоРасширения.Найти(Расширение) = Неопределено Тогда
                Продолжить;
            КонецЕсли;

            Данные = РаботаСФайлами.ДвоичныеДанныеФайла(Выборка.Ссылка, Ложь);
            Если Данные = Неопределено Тогда
                Сообщить("Нет данных: " + Выборка.Наименование);
                Продолжить;
            КонецЕсли;

            ИмяФайла = СтрШаблон("%1_%2.%3",
                Формат(Выгружено + 1, "ЧГ=0"),
                Выборка.Наименование,
                Расширение);
            Данные.Записать(КаталогВыгрузки + ПолучитьРазделительПути() + ИмяФайла);
            Выгружено = Выгружено + 1;

        КонецЦикла;

    КонецЦикла;

    Сообщить(СтрШаблон("Выгружено файлов: %1", Формат(Выгружено, "ЧГ=0")));

КонецПроцедуры

Что важно знать про этот код:

  • 🖥️ Процедура выполняется на сервере. В клиент-серверной базе файлы окажутся в папке на сервере 1С, а не на вашем компьютере. Каталог должен существовать, а у пользователя, от которого работает служба сервера 1С, должны быть права на запись в него.
  • 🔢 Порядковый номер в начале имени спасает от перезаписи, когда у двух роликов одинаковое наименование.
  • 🚫 Символы, недопустимые в именах Windows (\ / : * ? " < > |), в наименовании файла встречаются редко, но встречаются. Для рабочей обработки добавьте их замену.
  • 🧾 Второй параметр Ложь в ДвоичныеДанныеФайла отключает исключение: если файла нет в томе, обработка сообщит об этом и пойдет дальше, а не упадет на сотом ролике.

Если видео хранится в доработанном реквизите типа «Хранилище значения», схема та же, только данные берутся так: Данные = Объект.ИмяРеквизита.Получить();. Проверьте, что результат имеет тип ДвоичныеДанные, и запишите его методом Записать().

Внешнюю обработку запускайте сначала на копии базы. Код выше только читает и пишет на диск, но папку выгрузки выбирайте с запасом места: видео быстро съедает десятки гигабайт.

Перенос видео в тома вместо скачивания

Частая причина вопроса «как скачать видео из 1С» — база выросла, и видео хотят оттуда убрать. Скачивать ролики и удалять их из документов в этом случае не нужно: связь с документами потеряется.

Правильный порядок:

  1. Сделайте резервную копию базы и подготовьте папку под том на сервере или в сетевом хранилище.
  2. В разделе Администрирование → Общие настройки откройте настройки работы с файлами и включите хранение файлов в томах на диске.
  3. Создайте том хранения: укажите полный путь к папке и при желании максимальный размер тома.
  4. В форме томов запустите перенос файлов из информационной базы в тома.
  5. После переноса выполните в Конфигураторе тестирование и исправление со сжатием таблиц в нерабочее время — только тогда база реально уменьшится в размере.

Тестирование и исправление требует монопольного доступа: всех пользователей придется вывести из базы. Планируйте его на вечер или выходной и предупредите людей заранее.

Путь к тому для клиент-серверной базы указывают так, как его видит сервер 1С, а не ваш компьютер. Сетевой ресурс пишите в формате \\server\share\1c_files, а не через букву подключенного диска: служба сервера подключенных дисков пользователя не видит.

Почему видео не скачивается или не открывается

Диагностика: выберите симптом

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

Безопасность: что проверить администратору

Видео в учетной базе — это часто записи с камер склада, инструктажи по охране труда, записи собеседований. Это персональные данные, и выгрузка таких файлов должна быть под контролем.

Проверка доступа к видео в базе 1С
Выполнено: 0 / 6

Несколько практических замечаний:

  • 🔐 Если у пользователя есть доступ к папке тома по сети, он может скопировать ролики в обход 1С и прав в программе. Доступ к тому нужен только учетной записи службы сервера 1С и администраторам.
  • 💾 База и тома бэкапятся согласованно. Копия базы без копии томов после восстановления покажет список файлов, но скачать их не даст — та самая ошибка «файл не найден».
  • 🧹 Не удаляйте файлы из тома вручную, чтобы освободить место. Удаляйте ролики через 1С с пометкой на удаление и последующим удалением помеченных объектов.
  • 📜 Для записей с персональными данными сроки хранения и порядок уничтожения определяет внутренний регламент компании. 1С их сама не контролирует.
Можно ли смотреть видео прямо в 1С, не скачивая?
Команда «Открыть» запускает ролик в проигрывателе, который установлен в системе по умолчанию. Встроенного видеоплеера в типовых конфигурациях нет.
Куда 1С кладет файл при команде «Открыть»?
В рабочий каталог пользователя для файлов. Он задается в персональных настройках работы с файлами, там же его можно очистить.
Сохранится ли видео при выгрузке базы в .dt?
Если файлы хранятся в базе — да, они войдут в .dt. Если в томах — нет, тома нужно копировать отдельно.
Можно ли скачать видео из 1С с телефона?
Через мобильный клиент или веб-клиент в мобильном браузере — да, если открыт доступ к публикации. Файл сохранится средствами телефона в папку загрузок.
Почему скачанный ролик весит меньше, чем показывает 1С?
Обычно сохранение прервалось. Сравните размер в колонке списка файлов с размером на диске и сохраните заново через тонкий клиент.