1С не может записать файл: как вернуть доступ к каталогу

· 10 мин

Содержание

Сообщение вида Ошибка записи в файл ... Убедитесь, что у вас есть доступ к этому каталогу значит одно: Windows не дала процессу 1С создать или изменить файл в указанной папке. Сама 1С тут вторична. Чаще всего виноваты права NTFS на каталог, недоступный сетевой ресурс или антивирус, который режет запись.

Начните с пути, который написан в тексте ошибки. Он подскажет, где искать: каталог базы, временная папка пользователя, сетевая шара или папка, куда вы выгружаете отчёт.

Сначала определите, какой именно каталог недоступен

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

Путь почти всегда попадает в одну из пяти групп:

  • 📁 Каталог файловой базы, где лежит 1Cv8.1CD. Пишут все, кто работает с базой.
  • 🗂 Временная папка пользователя: %TEMP%, обычно C:\Users\<имя>\AppData\Local\Temp.
  • 🗃 Кэш и настройки 1С: %APPDATA%\1C и %LOCALAPPDATA%\1C\1cv8.
  • 🌐 Сетевая шара: путь вида \\сервер\папка или буква подключённого диска.
  • 💾 Папка выгрузки: куда вы сохраняете табличный документ, .dt, .cf, файл обмена.

Если вы не можете создать файл в этой папке даже из Проводника, 1С ни при чём. Вопрос решается на уровне Windows.

Что проверить за две минуты

  1. Путь существует и написан без опечаток. Для длинных путей смотрите, не оборван ли он.
  2. На диске есть свободное место. Полный диск даёт похожие симптомы.
  3. Папка не открыта «только для чтения» (атрибут на каталоге в свойствах).
  4. Вы запускаете 1С под тем пользователем, под которым проверяете папку.

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

Чтобы увидеть, под кем вы сейчас, откройте командную строку и выполните:

whoami

Команда покажет домен\пользователь. Именно с этой учётки надо проверять доступ.

Сетевые ресурсы и пути: почему шара «есть», а писать нельзя

Для сетевых каталогов права складываются из двух слоёв: права на общий ресурс (шару) и права NTFS на самой папке. Итоговый доступ равен более строгому из двух. Дали «Полный доступ» на шаре, но на вкладке «Безопасность» только чтение, записать не получится.

Что смотреть на сервере, где лежит папка:

  • Свойства папки → вкладка «Доступ» → «Расширенная настройка» → «Разрешения». Для группы пользователей 1С нужно «Изменение» или «Полный доступ».
  • Свойства папки → вкладка «Безопасность». Здесь та же группа должна иметь разрешение «Изменение».

Отдельная ловушка с подключёнными дисками. Буква диска Z: подключается для конкретного пользователя и конкретного сеанса. Если 1С запущена от имени администратора (через «Запуск от имени»), она может не видеть диск Z:, подключённый обычным пользователем. Windows хранит подключения для обычного и повышенного токена раздельно.

Надёжнее использовать UNC-путь \\сервер\папка\база вместо буквы диска. Он не зависит от подключений сеанса.

Проверить доступ к шаре из командной строки можно так:

net use
dir \\сервер\папка

Первая команда покажет текущие подключения и их состояние. Если рядом написано «Недоступно» или «Отключено», переподключите ресурс. Вторая проверит, что каталог читается.

Если шара на другой машине в домене, а у вас рабочая группа, проверьте учётные данные в «Диспетчере учётных данных» Windows. Устаревший сохранённый пароль даёт именно отказ в доступе, а не «пароль неверный».

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

Права NTFS: как выдать доступ на запись правильно

Если проблема в правах, исправление всегда одно: дать нужной учётной записи или группе разрешение «Изменение» на проблемный каталог.

Пошагово через интерфейс

  1. Правый клик по папке → «Свойства» → вкладка «Безопасность».
  2. Нажмите «Изменить», затем «Добавить».
  3. Введите имя пользователя или группы (например, Пользователи или доменную группу 1С) и нажмите «Проверить имена».
  4. Отметьте «Изменение» (оно включает запись, создание и удаление файлов).
  5. «Применить», затем закройте окна и перезапустите 1С.

Нужна именно запись и удаление: 1С создаёт и удаляет служебные файлы, например файл блокировки. Права только на чтение и запись без удаления дают частичные сбои.

Если права есть, а ошибка остаётся

Проверьте вкладку «Дополнительно» в «Безопасности». Две причины встречаются чаще других:

  • Запрет (Deny) приоритетнее разрешения. Если пользователь входит в группу, которой запрещена запись, разрешение для него лично не поможет.
  • Наследование отключено. Папка не получает права от родителя, и вы смотрите не туда.

Чтобы увидеть реальные права и не гадать по вкладкам, вызовите из командной строки:

icacls "D:\Bases\Buh"

В выводе ищите нужную группу и обозначение (M) (изменение) или (F) (полный доступ). Сочетание (R) означает только чтение.

Выдать права можно и командой. Права меняйте осознанно, на конкретную папку базы, а не на весь диск:

icacls "D:\Bases\Buh" /grant "Пользователи:(OI)(CI)M"

Параметры (OI)(CI) распространяют разрешение на вложенные файлы и папки.

Не выдавайте «Полный доступ для всех» на корень диска «ради проверки» и не забывайте это потом откатить. Для проверки достаточно выдать права на одну нужную папку.

Таблица: какой каталог и какие права нужны

КаталогКому нужны праваЧто нужно
Папка файловой базыВсем пользователям базыИзменение
%TEMP% пользователяСамому пользователюПолный доступ (по умолчанию уже есть)
%APPDATA%\1C, %LOCALAPPDATA%\1CСамому пользователюПолный доступ (по умолчанию уже есть)
Сетевая шара выгрузкиГруппе, которая выгружаетИзменение на шаре и в NTFS
Папка служебных файлов сервера 1СУчётке службы сервераИзменение

Если у пользователя нет прав даже на собственный профиль, дело в профиле Windows, а не в 1С. Часто помогает создать нового пользователя и сравнить.

UAC и запуск от имени администратора

Контроль учётных записей (UAC) не меняет права в NTFS, но меняет то, под каким токеном работает программа. Из-за этого одна и та же 1С может успешно писать в папку при обычном запуске и падать при запуске от имени администратора, и наоборот.

Типичные сценарии:

  • 🔒 Вы пытаетесь писать в защищённые каталоги: C:\Program Files, C:\Windows, корень системного диска. Обычный пользователь туда не пишет. Это нормально, и не надо ломать защиту, а надо перенести данные в другое место.
  • 🔁 Конфигуратор или клиент запущены «от администратора», а подключённая сетевая папка создана в обычном сеансе (см. выше про буквы дисков).
  • 📤 Вы сохраняете файл в папку, к которой у повышенной учётки доступ есть, а у обычного пользователя нет, и потом не можете его открыть.

Как поступать:

  1. Сначала запустите 1С без повышения прав. Для нормальной работы права администратора не нужны.
  2. Если ошибка появляется только в одной операции (например, регистрация компоненты или запись в защищённый каталог), запустите именно её с повышенными правами один раз.
  3. Не отключайте UAC целиком «для удобства». Это не лечит причину и снижает защиту.

Базу и данные не держите в Program Files и в корне диска C:. Заведите отдельную папку, например D:\Bases, и выдайте на неё права группе пользователей.

Антивирус и брандмауэр: когда блокируют запись или сеть

Антивирус может запретить создание или изменение файла и отдать это системе как ошибку доступа. Особенно чувствительны к этому файлы базы, .dt-выгрузки, временные файлы и исполняемые модули.

Как проверить гипотезу без риска:

  1. Посмотрите журнал антивируса за момент ошибки. Заблокированная операция обычно записана с путём и именем процесса 1cv8.exe или 1cv8c.exe.
  2. Если запись есть, добавьте в исключения каталог базы и процессы 1cv8.exe, 1cv8c.exe, 1cv8s.exe.
  3. Временное отключение защиты допустимо только для короткой проверки и только если это разрешает политика безопасности вашей организации.

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

Брандмауэр на запись в локальную папку не влияет. Но для сетевых путей он важен: если на сервере закрыт доступ к файловым ресурсам (SMB), папка будет недоступна с рабочих мест, и ошибка прилетит при попытке записи. Проверка простая: с рабочего места выполните dir \\сервер\папка. Если команда зависла или ответила отказом, смотрите сетевые правила сервера, а не права на папку.

Постоянные «странные» отказы записи в базу при работающем антивирусе часто сопровождаются ещё и тормозами. Это ещё один довод добавить каталог базы в исключения.

Терминальный сервер, службы и сервер 1С

Здесь ошибка чаще всего связана с тем, кто на самом деле пишет файл.

Терминальный сервер (RDP)

На терминале пользователи работают в отдельных сеансах со своими профилями. Что проверить:

  • Профиль пользователя доступен и не заполнен до квоты. Если профили перенаправлены на сетевой ресурс, проверьте его доступность и квоты.
  • Папка %TEMP% существует и доступна. Нередко у пользователя она указывает на каталог, которого уже нет или который очищает политика.
  • Выгрузка файлов идёт в разрешённые места. На терминале прямая запись на «локальный диск клиента» через проброшенные диски зависит от настроек перенаправления; если перенаправление запрещено политикой, сохранение не получится.

Сервер 1С:Предприятия и службы

Серверная часть работает как служба Windows. Она запускается под определённой учётной записью (часто USR1CV8) и пишет файлы от её имени. Права пользователя, который сидит за клиентом, на эти операции не влияют.

Проверьте, что учётная запись службы имеет права:

  • на каталог кластера (служебные данные сервера);
  • на каталоги, куда сервер пишет данные по регламентным заданиям и обменам;
  • на папки выгрузки, если выгрузку делает серверный код.

Как узнать учётку: откройте оснастку «Службы», найдите службу сервера 1С:Предприятия и посмотрите столбец «Вход от имени».

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

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

Порядок поиска причины: от простого к сложному

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

Где именно возникает ошибка?

Если ни один вариант не подошёл, проверьте остальное:

  1. Попробуйте записать файл в тот же каталог вручную (создайте текстовый файл). Получилось — смотрите антивирус и блокировки. Не получилось — права или состояние диска.
  2. Проверьте диск на ошибки штатными средствами Windows. Сбой файловой системы может блокировать запись.
  3. Посмотрите «Журнал событий Windows» на момент ошибки. Записи об отказе доступа или сбое диска называют конкретную причину.

Если не помогло

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

  • точный текст ошибки с полным путём;
  • под какой учётной записью работает 1С (whoami);
  • локальная это папка или сетевая;
  • что именно вы делали: открывали базу, выгружали отчёт, обновляли;
  • работало ли раньше и что менялось: обновление Windows, перенос папки, смена антивируса, смена пароля учётной записи.

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

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

Что проверить, когда пишет «нет доступа к каталогу»
Выполнено: 0 / 6

Частые вопросы

Почему ошибка пропала после перезагрузки компьютера?
Перезагрузка сбросила зависшие подключения к сетевым ресурсам и временные блокировки файлов. Если ошибка вернётся, ищите причину в правах или в антивирусе.
Нужно ли давать пользователям права администратора, чтобы 1С писала файлы?
Нет. Достаточно разрешения «Изменение» на конкретную папку базы или выгрузки. Права администратора для обычной работы не нужны и снижают безопасность.
Можно ли хранить файловую базу в `Program Files`?
Лучше нет. Обычный пользователь туда не пишет, и это источник отказов записи. Храните базу в отдельной папке вне системных каталогов.
Чем отличается ошибка прав на шаре от ошибки прав NTFS?
Права шары действуют только при доступе по сети, права NTFS действуют всегда. При сетевом доступе итог определяет более строгий из двух слоёв, поэтому проверять нужно оба.
Ошибка есть только у одного пользователя. Что делать?
Сравните его права и профиль с работающим коллегой. Если у другого пользователя на том же компьютере всё работает, проблема в профиле или членстве в группах первого.