Конфигуратор ошибка при выполнении файловой операции 1с

В какой-то момент при запуске клиента 1С 8.3 на RDS ферме, стала появляться ошибка при выполнении файловой операции, оказалось есть два метода ее решить

Обновлено 15.10.2020

1с логотип

Добрый день! Уважаемые читатели и гости одного из крупнейших 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С не были исключением, обновление происходило по быстрому варианты. Тут подразумевается накатывание более новой версии ОС по верх старой, тут мы убивали двух зайцев:

  1. Получали свежую версию ОС
  2. Оставляли весь софт на сервере, и не требовалась его переустановка

В случае чего всегда можно было откатиться из снапшота на момент проведения работ, благо ESXI 6.5 это помогает делать в два клика. Все прекрасно обновилось и сервер зажил новой жизнью. В какой-то момент при запуске клиента 1С 8.3 на RDS ферме, стала появляться ошибка:

Ошибка при выполнении файловой операции

Ошибка при выполнении файловой операции в 1С 8.3

Устранение проблемы

Начав изучать данный вопрос мы не стали откатываться к бэкапу, так как данная проблема возникала не постоянно, а через некоторые промежутки и была вызвана явно не переходом на более новую версию операционной системы. Подняв исторические данные в системе заявок, я нашел похожую, где решением ошибки был перенос базы данных 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с’ под списком баз справа выключена).

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

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Конусообразная форма молочных желез как исправить
  • Контурная пластика губ ошибки
  • Контур экстерн произошла ошибка при загрузке формы
  • Контур экстерн ошибка 1627
  • Контур тс e11 ошибка

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии