Как изменить сетевой путь к тому хранения файлов в 1С при изменении или переносе сервера?

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

При переносе базы данных 1С на новый сервер, сбое физического оборудования или плановом изменении сетевой инфраструктуры системные администраторы часто сталкиваются с проблемой доступности файлов. Если в конфигурациях на базе Библиотеки Стандартных Подсистем (БСП), таких как 1С:ERP Управление предприятием, 1С:Комплексная автоматизация или 1С:Документооборот, было настроено хранение файлов в томах на диске, изменение сетевого пути (например, с \\server-name\data-dir\ на \\servername\data-dir\) приводит к тому, что программа теряет связь с прикрепленными файлами. При попытке открыть любой документ пользователи получают ошибку доступа.

В этой статье мы подробно разберем, как восстановить работоспособность системы, правильно изменить сетевые пути, настроить права доступа операционной системы и провести верификацию целостности томов после миграции.

Выясняем причину проблемы и анализируем поведение системы

При переносе каталога файлов на другой ресурс или переименовании сервера СУБД продолжает хранить относительные пути к файлам и ссылки на конкретные элементы справочника ТомаХраненияФайлов. Сам справочник хранит настройки подключения: полный путь для операционных систем Windows и Linux. Как только сетевое имя сервера меняется, старый путь становится недействительным.

Перед администратором встает выбор одного из двух сценариев:

  1. Вариант А: Изменить путь непосредственно в существующем (старом) томе, чтобы все имеющиеся ссылки в базе данных автоматически начали вести по новому адресу.
  2. Вариант Б: Создать новый том с корректным путем и перенести туда ссылки на файлы из старого тома средствами системы.

Рассмотрим детально реализацию каждого из этих вариантов, а также сопутствующие технические нюансы.

Способ 1. Прямое изменение сетевого пути в существующем томе

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

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

Если же поле действительно заблокировано кодом формы элемента (что регламентировано официальной документацией 1С для предотвращения случайной потери связи с файлами), мы можем легко обойти это ограничение двумя безопасными административными способами.

Подспособ 1.1. Использование обработки «Групповое изменение реквизитов»

Этот инструмент доступен пользователям с правами Администратора и позволяет изменять данные в обход проверок экранных форм:

  1. Перейдем в раздел НСИ и администрирование — Обслуживание — Корректировка данных (или откроем обработку напрямую через «Функции для технического специалиста»).
  2. Выберем в поле «Изменять» справочник ТомаХраненияФайлов.
  3. Нажмем кнопку «Настроить отбор» и выберем нужный том (чтобы случайно не изменить пути у других томов).
  4. В списке доступных реквизитов найдем ПолныйПутьWindows (и/или ПолныйПутьLinux, если используется смешанный кластер).
  5. Введем новое значение сетевого пути в формате \\servername\data-dir\.
  6. Нажмем кнопку «Изменить реквизиты».

Подспособ 1.2. Программное изменение пути в консоли кода

Если у вас есть внешняя обработка «Консоль кода» или возможность выполнить код на сервере, изменение выполняется буквально в три строки. Разберем этот пример кода:


ТомОбъект = Справочники.ТомаХраненияФайлов.НайтиПоНаименованию("ИмяВашегоТома").ПолучитьОбъект();
ТомОбъект.ПолныйПутьWindows = "\\servername\data-dir\";
ТомОбъект.Записать();

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

Способ 2. Создание нового тома и перенос файлов средствами БСП

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

  1. Создадим в справочнике новый элемент (новый том) и укажем для него корректный сетевой путь.
  2. Убедимся, что файлы физически скопированы из старого каталога в новый с сохранением всей внутренней структуры подпапок (это критически важно, так как БСП создает внутри тома иерархию папок по датам или GUID).
  3. Запустим встроенную обработку БСП «Перенос файлов между томами». Этот инструмент автоматически переопределит ссылки на новые физические файлы во всех связанных объектах информационной базы (справочники Файлы, ВерсииФайлов и т.д.).
  4. После завершения процесса переноса и проверки работоспособности старый том можно пометить на удаление.

Важнейший нюанс: Настройка прав доступа учетной записи службы 1С

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

Для серверов под управлением ОС Windows:

  1. Определим, от имени какого пользователя Windows запущена служба ctrlport (Агент сервера 1С). По умолчанию это локальный пользователь usr1cv8 или системная учетная запись SYSTEM (в некоторых случаях — доменная учетная запись).
  2. Откроем свойства новой сетевой папки на целевом сервере и перейдем на вкладку Доступ (Sharing). Нажмем «Расширенная настройка общего доступа» и предоставим права «Полный доступ» (или как минимум «Чтение и изменение») именно для той учетной записи, под которой работает служба Агента сервера 1С.
  3. Перейдем на вкладку Безопасность (Security) и убедимся, что на уровне файловой системы NTFS эта же учетная запись имеет полные права на чтение, запись и изменение для этой папки, всех подпапок и файлов.

Для серверов под управлением ОС Linux:

Поскольку операционные системы семейства Linux не поддерживают UNC-пути вида \\server\share напрямую, алгоритм действий будет следующим:

  1. Сетевой ресурс необходимо предварительно примонтировать к локальной файловой системе сервера приложений 1С с помощью утилиты mount или прописать автоматическое монтирование в файле /etc/fstab.
  2. В настройках тома в 1С следует указывать локальный путь к точке монтирования (например, /mnt/data-dir/).
  3. Пользователю операционной системы Linux, под которым запущен процесс rphost (обычно это usr1cv8), должны быть предоставлены полные POSIX-права доступа (чтение, запись, выполнение) на каталог монтирования.

Проверка целостности томов после настройки

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

Откроем форму управления томами и запустим команду «Проверка целостности томов». Программа просканирует базу данных и физический диск, после чего предоставит отчет, состоящий из двух категорий проблем:

Управление заполнением томов

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

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

← На главную