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

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

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

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

Типовые средства и ограничения организации томов

Прежде всего, мы должны понимать, что типовыми средствами 1С:Документооборот 2.1 (и схожих версий) отсутствует прямое условие для автоматического размещения файлов в тома по дате их создания или по году. Это означает, что в стандартных настройках тома мы не найдем опцию, позволяющую системе автоматически направлять файлы, созданные в 2023 году, в том ТОМ_2023, а файлы 2024 года — в ТОМ_2024.

Рассмотрим, какие условия мы можем использовать для настройки правил размещения файлов в томах:

  1. Автор: Можно настроить том так, чтобы в него попадали файлы, созданные определенным пользователем или группой пользователей.
  2. Наличие шифрования: Если файлы должны быть зашифрованы, их можно направлять в отдельный том.
  3. Название: Позволяет фильтровать файлы по части имени.
  4. Наличие электронной подписи: Файлы, подписанные электронной подписью, могут быть отправлены в специализированный том.
  5. Размер: Можно задать условия по размеру файла (например, файлы больше определенного размера в один том, меньше – в другой).
  6. Расширение: Удобно для разделения файлов по типу (например, все .doc в один том, все .pdf – в другой).
  7. Пометка на удаление: Отдельный том для файлов, помеченных на удаление.
Как мы видим, условия по дате создания файла среди стандартных опций нет, что подтверждает слова автора темы и наши собственные наблюдения.

Ручное управление томами: изменение порядка заполнения

Несмотря на отсутствие автоматического условия по дате, существует действенный ручной способ, который позволяет нам ежегодно переключать систему на новый том. Этот метод основан на управлении порядком заполнения томов. Как нам известно, система всегда пытается заполнить том с наименьшим порядковым номером. Если том заполнен или не подходит по другим условиям, она переходит к следующему по порядку. Мы можем использовать это свойство для наших целей.

Разберем по шагам, как мы можем реализовать этот подход:

  1. Подготовка к новому году: Допустим, мы хотим, чтобы с 1 января 2024 года все новые файлы стали попадать в том ТОМ_2024. Сейчас все файлы текущего года (2023) попадают в ТОМ_2023.
  2. Создание нового тома: В конце декабря (например, 31 числа) или в первые дни января, мы создаем новый том для следующего года, например, ТОМ_2024. Важно придать этому тому осмысленное имя и указать путь к физическому каталогу на диске, где будут храниться файлы.
  3. Изменение порядка заполнения: Это ключевой шаг.
    • Для старого тома (например, ТОМ_2023) мы увеличиваем значение поля ПорядокЗаполнения, делая его больше, чем у нового тома. Например, если у ТОМ_2023 был порядок 0, мы можем установить 1.
    • Для нового тома (ТОМ_2024) мы устанавливаем минимальный порядок заполнения, например, 0.
    Таким образом, система начнет отдавать предпочтение новому тому для размещения файлов.
  4. Блокировка базы (рекомендуется): Для минимизации рисков и обеспечения целостности данных во время изменения настроек томов, особенно когда пользователи активно работают с файлами, настоятельно рекомендуется временно блокировать базу данных для обычных пользователей. Мы можем настроить блокировку с 23:59:59 31 декабря до определенного времени нового года. В этот период системный администратор или программист может выполнить необходимые настройки. После завершения блокировка снимается.
  5. Ежегодное повторение: Этот процесс необходимо повторять ежегодно в конце или начале года.

Этот метод требует ручного вмешательства, но позволяет достичь желаемого результата, используя типовые механизмы программы.

Логическое разделение документов: функционал "Дела (тома)"

Хотя этот функционал не связан напрямую с физическими томами хранения файлов на диске, в 1С:Документооборот существует механизм "Дела (тома)". Этот инструмент предназначен для логической организации документов, их списания и архивирования в соответствии с номенклатурой дел организации. Каждое "Дело" по сути представляет собой электронную папку, в которую группируются документы за определенный период или по определенной тематике.

Мы можем использовать "Дела (тома)" для создания логических контейнеров для документов каждого года, что поможет в навигации и поиске, даже если физические файлы хранятся в одном томе или распределены по ним по другим правилам. Программа позволяет вести учет переходящих дел, которые могут действовать более одного года и не требуют закрытия в конце года. Для таких дел новые тома переходящего дела открываются со сквозной нумерацией.

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

Автоматизация через нетиповые решения

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

Такое нетиповое решение может включать в себя:

  1. Регламентные задания: Мы можем разработать регламентное задание, которое будет запускаться, например, в ночь с 31 декабря на 1 января. Это задание будет программно создавать новый том для наступающего года, если он еще не создан, и корректировать ПорядокЗаполнения существующих томов, аналогично ручному методу.
  2. Обработки: Возможно создание специализированной обработки, которая позволит администратору в удобном интерфейсе выполнять те же действия по созданию и настройке томов, но с большей гибкостью и меньшими трудозатратами, чем прямое изменение настроек.
  3. Перемещение файлов: Если файлы были по ошибке сохранены не в тот том, или возникла потребность в их реорганизации, программно можно реализовать механизм перемещения файлов между томами. Это более сложная задача, так как требует изменения ссылок на файлы в базе данных и физического перемещения файлов на диске.

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

Перенос файлов в тома: оценка времени и рекомендации

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

Один из вопросов, который часто возникает при планировании такой операции, — сколько времени займет выгрузка большого количества файлов. В нашем случае речь идет о 44 тысячах файлов. Давайте проанализируем ситуацию и дадим рекомендации:

  1. Зависимость от аппаратного обеспечения: Скорость выгрузки файлов из базы данных и их размещения на диске сильно зависит от вашего железа. Это включает в себя:
    • Сервер 1С:Предприятия: Его процессорная мощность и объем оперативной памяти.
    • Сервер СУБД: Производительность дисковой подсистемы, на которой хранится база данных (SSD значительно быстрее HDD), а также настройки СУБД.
    • Сетевое соединение: Если тома расположены на сетевом ресурсе, скорость сетевого подключения между сервером 1С и файловым сервером играет критическую роль.
    • Дисковая подсистема томов: Скорость записи на диски, где будут храниться тома.
  2. Порядок времени выгрузки: Учитывая зависимость от множества факторов, дать точную оценку сложно. Однако, основываясь на опыте, для 44 тысяч файлов время выгрузки может варьироваться от 1 до 168 часов. Это означает, что процесс может занять от нескольких часов до нескольких суток. Такое широкое расхождение подчеркивает важность предварительного тестирования на вашей конкретной инфраструктуре.
  3. Рекомендации по выполнению:
    • Выбор времени: Мы настоятельно рекомендуем выполнять такие операции в периоды наименьшей нагрузки на систему, например, в нерабочее время (ночью, в выходные дни). Это позволит минимизировать влияние на работу пользователей и обеспечит максимальную производительность операции.
    • Мониторинг ресурсов: Во время выполнения операции необходимо активно отслеживать загрузку процессора, дисковой подсистемы и сети. Это поможет выявить возможные "узкие места" и предпринять меры по их устранению, если это возможно.
    • Резервное копирование: Перед началом переноса файлов обязательно сделайте полное резервное копирование информационной базы и файлов, если они уже хранились на диске. Это критически важный шаг для обеспечения возможности восстановления данных в случае непредвиденных проблем.
    • Оценка производительности: Для оптимизации производительности 1С:Документооборота в целом и таких операций в частности, мы рекомендуем проводить регулярный анализ и контроль производительности. Версии КОРП и ДГУ 1С:Документооборота включают встроенные инструменты для оценки производительности, которые могут помочь в этом.

В заключение, организация хранения файлов по годам в 1С:Документооборот 2.1 требует внимательного подхода. Хотя типовые средства не предоставляют автоматического условия по дате, мы можем использовать ручное управление порядком заполнения томов или рассмотреть нетиповые программные решения для полной автоматизации. Независимо от выбранного метода, мы всегда должны помнить о важности грамотного планирования и оценки ресурсов при переносе больших объемов данных, чтобы обеспечить стабильность и высокую производительность системы.

← На главную