Обновлено 15.10.2020
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов Рунета Pyatilistnik.org. В прошлый раз мы с вами разобрали, что из себя представляет файловая система raw, и как ее исправить, чтобы восстановить свои данные. Двигаемся дальше и поговорим сегодня на тему капризности 1С, точнее на капризную работу в рамках Windows Server 2016. Я рассмотрю причину и устранение периодически повторяющейся ошибки на сервере 1С 8.3 «Ошибка при выполнении файловой операции«. Ее я стал встречать после обновления с Windows Server 2012 R2 д 2016. Думаю мой опыт сэкономит вам часик серфинга по интернету.
Описание проблемы
В моей компании заканчивается обновление операционных систем у виртуальных серверов, с Windows Server 2012 R2 на Windows Server 2016, я понимаю, что поддержка первых еще будет несколько лет, но хочется уже не делать это в последний момент, а слегка опережать, да и уже давно пора стремиться к Windows Server 2019. Сервера 1С не были исключением, обновление происходило по быстрому варианты. Тут подразумевается накатывание более новой версии ОС по верх старой, тут мы убивали двух зайцев:
- Получали свежую версию ОС
- Оставляли весь софт на сервере, и не требовалась его переустановка
В случае чего всегда можно было откатиться из снапшота на момент проведения работ, благо ESXI 6.5 это помогает делать в два клика. Все прекрасно обновилось и сервер зажил новой жизнью. В какой-то момент при запуске клиента 1С 8.3 на RDS ферме, стала появляться ошибка:
Ошибка при выполнении файловой операции
Устранение проблемы
Начав изучать данный вопрос мы не стали откатываться к бэкапу, так как данная проблема возникала не постоянно, а через некоторые промежутки и была вызвана явно не переходом на более новую версию операционной системы. Подняв исторические данные в системе заявок, я нашел похожую, где решением ошибки был перенос базы данных 1С на другой диск. Меня это заинтересовало и я стал прикидывать, что же могло быть в той ситуации. Через минут 20 я нашел одну закономерность, что на всех проблемных хостах был установлен компонент Windows дедупликации, как раз на тех дисках, где располагались базы данных 1С.
Я для тестирования отключил дедупликацию и вернул все в исходное состояние, и о чудо ошибка при выполнении файловой операции больше не появлялась. Все те же действия я произвел и на остальных серверах.
Вывод: Windows Дедупликация и 1С просто не совместимы друг с другом, это нужно запомнить
Из дополнительных методов я могу вам посоветовать еще очистку кэша 1С. Еще в на умных сайтах советуют на серверах, где используется 1С отключать протокол IPv6 на сетевых интерфейсах, но лично я не понимаю этого прикола, так как сама Microsoft советует по возможности этого не делать, в виду того, что очень многие ее сервисы и компоненты Windows в приоритете используют именно его, меньше будет проблем с DNS и Active Directory.
Вообще если у вас виртуальные сервера лежат на системе хранения данных, то у нее должна быть своя функция дедупликации и использовать лучше и правильнее ее. Если у вас есть другие варианты решения данной проблемы, то пишите их в комментариях. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Ошибка 1С при выполнении файловой операции или Ошибка операции с файлом базы данных, возникает когда 1С не может получить доступ к файлу базы данных, не может найти папку с базой или создать в ней необходимые служебные файлы.
![]() |
| Ошибка 1C при выполнении файловой операции |
Здесь мы видим частный и явно описанный случай проблемы. После обновления Windows на компьютере с базой, бухгалтер со второй машины не смог зайти в базу. Программа выдала ошибку как на скриншоте.
Описание: «Вход пользователя не выполнен из-за ограничений учётной записи. Например, пустые пароли не разрешены; ограничено число входов или включено ограничение политики».
В рассматриваемом примере 1С явно указывает на возможные источники проблемы. После установки патча винда сбросила некоторые настройки сетевой политики безопасности, и по умолчанию перестала пускать пользователей с учёткой без пароля.
Чтобы починить, нужно на ПК с базой зайти в Панель управлени — Центр управления сетями и общим доступом — Изменить дополнительные параметры общего доступа — Все сети — Общий доступ с парольной защитой — установить флаг Отключить общий доступ с парольной защитой.
Если не хочется бродить в недрах панели управления, можно открыть редактор политик напрямую:
Пуск — Выполнить (или Win+R) — secpol.msc;
Переходим в Локальные политики — Параметры безопасности — Учетные записи: разрешить использование пустых паролей только при консольном входе устанавливаем значение Отключен.
Какие ещё причины могут вызвать появление подобной ошибки:
- Некорректная работа антивируса. Обычно этим периодически грешит Касперский: нужно добавить приложение 1С и папки с базами в исключение. Иногда помогает только полная переустановка антивируса.
- Некорректная настройка общего доступа к папке с базой: нет прав у конкретного пользователя или прав на запись/изменение в папку. Проверить это очень просто: нужно перейти в папку (можно скопировать путь из окна запуска 1С) и попробовать создать в ней любой файл. Хотя бы обычный текстовый документ. Если не получается или папка не открывается — скорее всего оно.
Рекламы в блоге нет, заметки я пишу из чистого энтузиазма. Но если статья оказалась полезной, вы можете поддержать блог, отправив символическую сумму через форму ниже. Ваша поддержка вдохновляет меня на создание новых статей.
Проблема
Операции с файловой базой в обновляторе завершаются с ошибкой (с кодом 1), при этом проверка настроек базы проходит без ошибок. В отчёт никакой дополнительной информации от конфигуратора не попадает.
Например, при обновлении в отчёте можно увидеть такую ошибку:
«Не удалось провести обновление конфигурации на очередную версию (1cv8.cfu) — смотрите лог операций 1с чуть выше зелёным цветом, там причина ошибки (её код равен 1)…«
Такая ситуация возможна при стечении следующих обстоятельств.
У вас файловая база данных.
Вы выключили опцию «Считывать список баз из окна запуска 1с» в обновляторе:
А в стартере 1с (стандартное окно запуска 1с), который можно легко запустить из обновлятора вот так …
… в настройках базы …
… заполнено поле «Версия 1С:Предприятия»:
И тут может возникать следующая проблема. Так как синхронизация списка баз с окном запуска 1с отключена — у обновлятора и у окна запуска 1С для одной и той же базы могут быть прописаны разные значения для поля «версия 1С…».
Предположим, что в обновляторе для этой базы прописана другая версия 1с (или там вообще пусто, но при поиске нашлась всё-равно другая) — например, 8.3.21.1393.
И вот у нас в стартере 1с для этой базы прописана 8.3.19.1399, а обновлятор пытается в соответствии со своими настройками выполнить операцию над базой, используя версию 8.3.21.1393.
В этом случае для файловой базы данных платформа 1с завершит аварийно запуск версии 8.3.21.1393 (вернёт код ошибки 1) и сама автоматически перезапустит операцию при помощи версии платформы 8.3.19.1399.
Это приведёт к тому, что операция в обновляторе завершится с ошибками.
Почему поле «Версия 1С:Предприятия» в стартере оказалось заполнено
По умолчанию это поле является пустым:
Вы могли заполнить его самостоятельно, изменив настройки базы в стартере 1С (стандартное окно запуска 1С):
Либо это мог сделать обновлятор, который при включённой опции «Считывать список баз из окна запуска 1с»…
… автоматически синхронизирует некоторые настройки базы (в частности поле «Версия платформы» в свойствах базы) со стартером 1с:
Как исправить
Повторюсь, что указанная проблема возможна только для файловых баз данных.
Нужно воспользоваться одним из следующих решений:
- Либо вернуть в обновляторе синхронизацию баз со стартером 1С, включив под списком баз справа опцию ‘Считывать список баз из окна запуска 1с’. В этом случае обновлятор автоматически будет синхронизировать своё поле «Версия платформы» с полем «Версия 1С:Предприятия» в настройках окна запуска 1С и проблем возникать не будет.
- Либо оставить синхронизацию отключенной, но при этом удалить базу из окна запуска 1С, оставив её только в обновляторе:
- Либо оставить синхронизацию отключенной, но при этом очистить поле «Версия 1С:Предприятия» в настройках базы в стартере 1С:
То есть весь смысл в том, чтобы не допускать ситуации, когда одна и та же база прописана в стандартном окне запуска 1с с не пустым полем «Версия 1С:Предприятия» и в обновляторе с выключенной синхронизацией с этим окном запуска (опция ‘Считывать список баз из окна запуска 1с’ под списком баз справа выключена).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.














