Как в 1С:Документообороте настроить правила размещения файлов по видам документов?

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

При работе с системой 1С:Документооборот администраторы часто сталкиваются с задачей упорядочивания файлового хранилища. Стандартное желание пользователя — видеть файлы определенных видов документов (например, договоров или приказов) в отдельных папках на сервере. Однако встроенный механизм правил размещения файлов на первый взгляд кажется ограниченным. Разберем детально, как работают эти правила, какие параметры нам доступны и почему классический подход «одна папка в Windows — один вид документа» в 1С работает иначе.

Анализируем стандартные возможности размещения

Для начала проанализируем, что предлагает система «из коробки». Перейдя в настройки правил размещения файлов, мы видим ограниченный набор полей: Автор, Зашифрован, Подписан ЭП, Пометка удаления, Размер, Расширение и Предмет. На первый взгляд, параметра «Вид документа» здесь нет, что вызывает недоумение у многих специалистов.

Важно понимать архитектурную особенность: в 1С:Документообороте файл сам по себе не «знает», к какому виду документа он относится. Эту связь обеспечивает объект-владелец, который в правилах скрывается под параметром Предмет. Рассмотрим, как мы можем использовать это для фильтрации:

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

Различие между логической и физической структурой

Проанализируем ситуацию, с которой сталкиваются новички. Даже если мы создадим отдельный Том хранения файлов (например, на диске Z:\Files\Contracts) и настроим правило, чтобы файлы договоров уходили именно туда, мы не увидим внутри привычной структуры папок. Выясним причину этого поведения.

Система 1С всегда сохраняет файлы в тома по жестко заданному алгоритму. В корне тома создаются подкаталоги, именованные по дате добавления файла в формате ГГГГММДД (например, 20231025). Внутри этой папки файл сохраняется с уникальным идентификатором (GUID) вместо привычного имени. Это делается для:

Важный вывод: Работа с файлами должна вестись исключительно через интерфейс 1С. Пытаться настроить правила так, чтобы «раскладывать файлы по полочкам» в проводнике Windows — бессмысленная задача, противоречащая логике платформы.

Настройка правил через дополнительные реквизиты

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

  1. В разделе «Администрирование» перейдем к настройке наборов дополнительных реквизитов и сведений.
  2. Найдем набор для справочника Файлы.
  3. Добавим новый реквизит, например, «Категория хранения».
  4. Теперь в правилах размещения файлов мы сможем использовать это поле для определения целевого тома.

Однако помните, что это потребует заполнения этого реквизита у каждого файла (вручную или программно), что добавляет трудозатрат пользователям.

Программное расширение правил (для разработчиков)

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


&Вместо("ОпределитьТомДляХраненияФайла")
Функция ИмяВашегоПрефикса_ОпределитьТомДляХраненияФайла(ПараметрыФайла)
    // Получаем владельца файла (документ)
    Владелец = ПараметрыФайла.Владелец;
    
    Если ТипЗнч(Владелец) = Тип("СправочникСсылка.ВнутренниеДокументы") Тогда
        // Проверяем вид документа
        Если Владелец.ВидДокумента = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Договор") Тогда
            // Возвращаем ссылку на конкретный предопределенный том
            Возврат Справочники.ТомаХраненияФайлов.НайтиПоНаименованию("ТомДляДоговоров");
        КонецЕсли;
    КонецЕсли;
    
    // Если условие не сработало, вызываем стандартную логику
    Возврат ПродолжитьВызов(ПараметрыФайла);
КонецФункции

Этот метод позволяет гибко управлять размещением, используя любую бизнес-логику: от проверки ИНН организации до анализа суммы документа. Но стоит помнить, что это изменит только Том (физический диск или сетевую папку), но не структуру папок внутри него.

Особенности 1С:Документооборот 3.0

В новой версии 3.0 механизмы стали еще более гибкими. Посмотрим, что изменилось. Теперь правила размещения могут использовать механизмы, схожие с Условиями маршрутизации. Это позволяет настраивать сложнейшие фильтры без написания кода, просто выбирая реквизиты связанных объектов через точку. Если вы используете версию 3.0, рекомендуем в первую очередь изучить справочник «Правила размещения файлов», где можно задать приоритеты томов в зависимости от условий.

Резюме и рекомендации

Подведем итог нашему исследованию. Для эффективной настройки размещения файлов следуйте этим правилам:

Помните, что главной целью правил размещения является распределение нагрузки на дисковую подсистему и обеспечение отказоустойчивости, а не удобство навигации через проводник Windows.

← На главную