Файл базы данных поврежден в 1С: что делать и как исправить ошибку 1CD – причины и способы решения

Содержание

Код 1 ошибка при сохранении данных

Почепский Олег

Вы кликаете на ярлычок ПО и сталкиваетесь с проблемой. Появляется ошибка «файл базы данных 1C поврежден», сама программа 1С не открывается, работать невозможно. Реже наблюдаются случаи, когда такой баг вылетает прямо в процессе заполнения формы, что тоже неприятно. Потому что в появившемся на экране окошке есть 3 кнопки: можно нажать на «Подробно» и посмотреть малопонятные технические нюансы, а также на «Перезапустить» или на «Завершить…». И ни один из вариантов не помогает, ведь при повторном включении наблюдается та же ситуация.

ноутбук ПО

Отсюда рождается закономерный вопрос: «И что же предпринять?» Проблему можно успешно решить, поэтому ниже мы рассмотрим возможные действия, а вы узнаете сразу несколько способов, как устранить столь раздражающую помеху, и сможете выбрать наиболее простой и удобный для себя.

Описание 1С-ошибки СУБД «Файл данных поврежден», причины ее появления

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

В большинстве случаев этот баг вызван техническими неполадками:

Также, хоть и реже, поводом может стать несовместимость софта, если на ПК установлено сразу несколько версий ПО, допустим, 10. 2650 и 12.1595. Это едва ли не самый легкий случай, ведь для успешного решения проблемы обычно достаточно начать использовать какой-то один вариант платформы, а остальные – деинсталлировать, воспользовавшись для этого подходящей утилитой.

Что делать, если база 1С повреждена, как исправить ошибку

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

Готовые решения для всех направлений

Магазины

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

Склады

Ускорь работу сотрудников склада при помощи мобильной автоматизации. Навсегда устраните ошибки при приёмке, отгрузке, инвентаризации и перемещении товара.

Маркировка

E-commerce

Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.

Учреждения

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

Производство

Повысь эффективность деятельности производственного предприятия за счет внедрения мобильной автоматизации для учёта товарно-материальных ценностей.

ЕГАИС

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

RFID

Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.

Сертификация

Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..

Инвентаризация

Используй современные мобильные инструменты для проведения инвентаризации товара. Повысь скорость и точность бизнес-процесса.

Другое

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

Восстановить резервную копию

Если вы регулярно переписываете БД программы, это очень правильно и дальновидно – как раз для таких случаев. Тогда остается лишь выгрузить последнюю успешно работавшую версию. Чтобы выполнить это, зайдите в конфигуратор, там найдите пункт «Администрирование», кликните на него правой кнопкой мышки и выберите соответствующую строку в появившемся меню – так, как на скриншоте:

запустить ИБ

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

Создать резервную копию

И пусть она будет уже поврежденной базы – это лучше, чем ничего, тем более все дальнейшие способы связаны с совсем радикальными воздействиями. Для этого существует сразу 3 метода – рассмотрим каждый по порядку.

Через конфигуратор

Перейдите в него и снова выберите пункт «Администрирование» правым кликом, но там нажмите уже на «Выгрузить…».

выгрузка ИБ

Внимание, это не сработает только в том случае, если баг действительно серьезный и затронул большое количество элементов системы. В такой ситуации остается только найти в БД файл с названием 1Cv8.1CD и перенести его в чистый каталог.

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

проверка ссылочной целостности

Обратите внимание, в окне настроек есть несколько разделов, и для каждого из них действуют свои нюансы. Так, строчки в «Проверке и режимах» можно отмечать поочередно и смотреть, какие результаты это даст. А при обнаружении ссылок на объекты, которых нет фактически, есть три варианта: либо очищать неправильные пути, либо ничего не менять, либо создавать новые, уже актуальные. Для запуска кликните «Выполнить». При успешном исходе ошибка 1С «Файл базы данных поврежден» должна исчезнуть. Если же она сохраняется или в процессе вылетает критический баг, из-за чего программа закрывается, нужно воспользоваться следующим способом.

С помощью утилиты chdbfl. exe

Она находится прямо в той же папке, в которую инсталлирована система. Если вы не знаете, куда именно установлено ПО, найти ее все равно не составит труда: просто нажмите правой кнопкой мыши на ярлык софта на рабочем столе и выберите пункт «Свойства». На экране появится меню со всеми подробностями:

местоположение папки

Посмотрите, какой путь в выделенном окошке. Перейдите туда, а затем в каталог формата bin. Открывайте объект с расширением exe и запускайте его – появится форма для восстановления. В ней выберите испорченную БД, поставьте флажок напротив «Исправлять ошибки» и кликните на «Выполнить». Если файл информационной базы данных поврежден при выгрузке, то по завершении процесса он должен снова стать работоспособным. Если же этого не произошло, есть еще один эффективный способ.

Очистить кэш

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

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

Отыскать путь – он показывается слева внизу в окне запуска, достаточно лишь выделить нужную БД.

тест (пустая)

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

Сделать новую папку и с помощью буфера обмена сохранить в нее нужный объект (обычно он называется 1Cv8.1CD).

где находится папка

Добавить в меню выбора только что образованную резервную копию, нажав на одноименную кнопку.

копия ИБ

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

Также в настройках есть утилита ClearCashe. Она удобна при часто возникающих проблемах. Правда, подходит она только для тонкого клиента программы и снижает ее производительность, пока не выполнит свою задачу, но чем-то ведь приходится жертвовать. Рассмотрим, как восстановить поврежденную базу 1С с ее помощью:

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

Внутреннее тестирование

С его помощью можно выявить неполадки даже после того, как другие способы оказались неэффективными. В целом оно похоже на метод «через конфигуратор», но есть и некоторые отличия. Если 1C-файл базы данных поврежден, cache 1CD нормально не очищается и кажется, что вы зашли в тупик, сделайте следующее:

Перейдите во вкладку «Администрирование», а в его выпавшем меню выберите пункт с исправлениями – так, как показано на скриншоте:

пошаговая инструкция

В ответ на предложение сделать резервную копию просто кликните «Продолжить».

На экране высветится окно с подразделами – поставьте флажки так же, как на примере ниже:

тестирование и исправление БД

Подтвердите свой выбор нажатием на «Выполнить».

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

Внешнее тестирование

Допустим, у вас проблема с 1С: база данных повреждена, как восстановить ее, если все ранее описанные меры не помогают? В такой ситуации необходимо вновь обратиться к возможностям chdbfl. exe, только использовать их немного по-иному.

Вы уже знаете, как ее найти, но напомним (ради закрепления материала): кликните правой клавишей мыши на ярлычок софта на рабочем столе и выберите пункт «Свойства» в выпавшем меню. Затем просто скопируйте путь из окошка «Рабочая папка» и перейдите по нему в проводнике.

данные о файле

Открыв нужный каталог, вы увидите разнообразие готовых к использованию версий платформы. Выберите из них ту, цифра которой будет самой большой, и посетите ее, а в ней – bin. Там есть исполнительная утилита – запустите ее.

местонахождение bin

Появится форма – пропишите путь к 1Cv8.CD в ее поле под названием «Имя…». После отметьте флажком пункт «Исправлять обнаруженные ошибки» и подтвердить свои настройки кликом на «Выполнить».

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

После всего этого закройте chdbfl. exe, запустите ПО и посмотрите, как оно работает. Если стабильно, без каких-либо багов, значит, проблема решена и на основе этой версии можно создавать резервную копию и периодически ее обновлять.

Что случится, если будет обнаружена «битая» ссылка

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

Тестирование здесь стоит выполнять в несколько заходов. Это потребует больше времени, но зато и ошибка базы данных 1С, если она вообще есть, будет найдена почти наверняка, и устранить ее станет гораздо легче. Пусть во время первой проверки ПО только ищет «битые» ссылки, но не «лечит» их, а при второй-третьей – уже добавляет элементы и избавляется от багов.

Также в зависимости от ситуации имеет смысл подключить несколько дополнительных функций – посмотрим, что дает каждая:

Результаты всех проведенных тестов вы получите в виде служебного сообщения, которое будет показано внизу рабочего экрана ПО. Выглядит это примерно так:

служебные сообщения

После этого останется только закрыть конфигуратор и открыть софт с правами пользователя – он уже должен работать стабильно и без багов.

Ошибка СУБД: как исправить

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

Запускайте утилиту из bin-папке – точно так же, как и в уже вышеописанных случаях. Вот еще один пример того, по какому пути она может располагаться:

запуск утилиты

В появившемся окне задайте адрес, по которому «лежит» необходимый информационный массив – здесь тоже нет ничего нового.

Выберите проблемную версию, отметьте птичкой опцию об исправлении и подтвердите кликом на «Выполнить».

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

По завершении тестирования ПО выводит отчет об исправлениях. И да, в уведомлении может быть сказано, что багов не обнаружено, хотя на деле корректировки проводились, так что пусть это сообщение не вводит вас в заблуждение.

В таком варианте использования, особенно после очистки кэша и проведения внутренних и внешних проверок, утилита практически наверняка справится с проблемой. Убедитесь, так ли это, запустив программу и проследив за ее работой – последняя должна быть стабильной, без выпадающих багов, несоответствий и прочих недочетов.

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

Заключение

Этот баг весьма неприятен, так как или затрудняет работу, или делает ее и вовсе невозможной, но мы выяснили, что с ним можно успешно бороться. И здесь уже вам решать, как поступить, если при открытии «1С: Розница» выдает ошибку «Файл базы данных поврежден», что делать и как устранять проблему, ведь есть 3 варианта создания резервной копии и еще 2 вида проверок. Мы же советуем регулярно сохранять конфигурацию системы для бэкапа и вообще всячески защищаться от неприятных сюрпризов и упрощать свой труд. Весь необходимый софт для автоматизации – Mobile LOGISTICS, «Склад 15» и другое ПО – вы найдете в каталоге «Клеверенс».

Entity Framework: повышаем производительность при сохранении данных в БД

При добавлении/изменении большого количества записей (10³ и выше), производительность Entity Framework оставляет желать лучшего. Причиной этому являются как архитектурные особенности самого фреймворка, так и неоптимальный генерируемый SQL. Забегая вперед — сохранение данных в обход контекста сокращает время выполнения на порядки.

Содержание статьи:
1. Insert/Update стандартными средствами Entity Framework
2. Поиск решения проблемы
3. Интеграция Entity Framework и SqlBulkCopy
4. Продвинутая вставка с использованием MERGE
5. Сравнение производительности
6. Выводы

1. Insert/Update стандартными средствами Entity Framework

Начнем с Insert. Стандартным способом добавления новых записей в БД является добавление в контекст с последующим сохранением:

Каждый вызов метода Add приводит к дорогостоящему в плане выполнения вызову внутреннего алгоритма DetectChanges. Данный алгоритм сканирует все сущности в контексте и сравнивает текущее значение каждого свойства с исходным значением, хранимым в контексте, обновляет связи между сущностями и т. п. Известным способом поднятия производительности, актуальным до выхода EF 6, является отключение DetectChanges на время добавления сущностей в контекст:

Также рекомендуется не держать в контексте десятки тысяч объектов и сохранять данные блоками, сохраняя контекст и создавая новый каждые N объектов, например, как тут. Наконец, в EF 6 появился оптимизированный метод AddRange, поднимающий производительность до уровня связки Add+AutoDetectChangesEnabled:

К сожалению, перечисленные подходы не решают основной проблемы, а именно: при сохранении данных в БД, на каждую новую запись генерируется отдельный INSERT запрос!

С Update ситуация аналогичная. Следующий код:

приведет к выполнению отдельного SQL-запроса на каждый измененный объект:

В простейших случаях, может помочь EntityFramework. Extended:

Данный код выполнится в обход контекста и сгенерирует 1 SQL-запрос. Более подробно о скорости EF и работе с этой библиотекой в статье за авторством tp7. Очевидно, что решение не универсальное и годится только для записи во все целевые строки одного и того же значения.

2. Поиск решения проблемы

Испытывая стойкое отвращение к написанию «велосипедов», я в первую очередь поискал best-practices для множественной вставки с помощью EF. Казалось бы, типовая задача — но подходящего решения «из коробки» найти не удалось. В то же время, SQL Server предлагает ряд техник быстрой вставки данных, таких как утилита bcp и класс SqlBulkCopy. О последнем и пойдет речь ниже.

EntityFramework. BulkInsert
На поверку оказавшийся нерабочим. При изучении Issues я наткнулся на дискуссию с участием… небезызвестной Julie Lerman, описывающую проблему, аналогичную моей и оставшуюся без ответа авторов проекта.

EntityFramework. Utilities
Живой проект, активное сообщество. Нет поддержки Database First, но обещают добавить.

3. Интеграция Entity Framework и SqlBulkCopy

Попробуем сделать всё сами. В простейшем случае, вставка данных из коллекции объектов с помощью SqlBulkCopy выглядит следующим образом:

Сама по себе задача реализовать IDataReader на основе коллекции объектов тривиальна, поэтому я ограничусь ссылкой и перейду к описанию способов обработки ошибок при вставке с использованием SqlBulkCopy. По умолчанию, вставка данных производится в своей собственной транзакции. При возникновении исключения выбрасывается SqlException и происходит rollback, т. е. данные в БД не будут записаны вообще. А «родные» сообщения об ошибках данного класса иначе как неинформативными не назовешь. Например, что может содержать SqlException. AdditionalInformation:

К сожалению, SqlBulkCopy зачастую не предоставляет информацию, позволяющую однозначно определить строку/сущность, вызвавшие ошибку. Еще одна неприятная особенность — при попытке вставить дубликат записи по первичному ключу, SqlBulkCopy выбросит исключение и завершит работу, не предоставляя возможности обработать ситуацию и продолжить выполнение.

Маппинг
В случае корректно сгенерированных сущностей и БД становятся неактуальными проверки на соответствие типов, или длину поля в таблице, как тут. Полезней разобраться с маппингом колонок, выполняемым через свойство SqlBulkCopy. ColumnMappings:

Что дает возможность вручную провести маппинг между классом-источником и целевой таблицей.

Использование свойства SqlBulkCopy. BatchSize и класса SqlBulkCopyOptions

SqlBulkCopy. BatchSize:

BatchSize Количество строк в каждом пакете. В конце каждого пакета серверу отправляется количество содержащихся в нем строк.

SqlBulkCopyOptions — перечисление:

Имя члена Описание
CheckConstraints Проверять ограничения при вставке данных. По умолчанию ограничения не проверяются.
Default Использовать значения по умолчанию для всех параметров.
FireTriggers Когда задана эта установка, сервер вызывает триггеры вставки для строк, вставляемых в базу данных.
KeepIdentity Сохранять идентификационные значения источника. Когда эта установка не задана, идентификационные значения присваиваются таблицей назначения.
KeepNulls Сохранять значения NULL в таблице назначения независимо от параметров значений по умолчанию. Когда эта установка не задана, значения null, где возможно, заменяются значениями по умолчанию.
TableLock Получать блокировку массового обновления на все время выполнения операции массового копирования данных. Когда эта установка не задана, используется блокировка строк.
UseInternalTransaction Когда эта установка задана, каждая операция массового копирования данных выполняется в транзакции. Если задать эту установку и предоставить конструктору объект SqlTransaction, будет выброшено исключение ArgumentException.

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

4. Продвинутая вставка с использованием MERGE

Временная таблица
Необходимо создать таблицу в БД, полностью повторяющую схему таблицы для вставки данных. Создавать копии вручную — худший вариант из возможных, так как вся дальнейшая работа по сравнению и синхронизации схем таблиц также ляжет на ваши плечи. Надежнее копировать схему программно и непосредственно перед вставкой. Например, с использованием SQL Server Management Objects (SMO):

Стоит обратить внимание на класс ScriptingOptions, содержащий несколько десятков параметров для тонкой настройки генерируемого SQL. Полученный StringCollection развернем в String. К сожалению, лучшего решения, чем заменить в скрипте имя исходной таблицы на имя временной а-ля String. Replace(«Order», «Order_TEMP»), я не нашел. Буду благодарен за подсказку красивого решения по созданию копии таблицы в пределах одной БД. Выполним готовый скрипт любым удобным способом. Копия таблицы создана!

Другой вариант — использовать Database. ExecuteWithResults.

Копирование данных из временной таблицы в целевую
Осталось выполнить на стороне SQL Server инструкцию MERGE, сравнивающую содержимое временной и целевой таблиц и выполняющую апдейт или вставку (если необходимо). К примеру, для таблицы [Order] код может выглядеть следующим образом:
схема таблицы

Данный SQL-запрос сравнивает записи из временной таблицы [Order_TEMP] с записями из целевой таблицы [Order], и выполняет Update, если найдена запись с аналогичным значением в поле Id, либо Insert, если такой записи не найдено. Выполним код любым удобным способом, и готово! Не забываем очистить/удалить временную таблицу по вкусу.

5. Сравнение производительности

Среда выполнения: Visual Studio 2013, Entity Framework 6.1.1 (Database First), SQL Server 2012. Для тестирования использовалась таблица [Order] (схема таблицы приведена выше). Были проведены измерения времени выполнения для рассматриваемых в статье подходов к сохранению данных в БД, результаты представлены в ниже (время указано в секундах):

Insert

Способ фиксации изменений в базе данных Количество записей
1000 10000 100000
Add + SaveChanges 7,3 101 6344
Add + (AutoDetectChangesEnabled=false) + SaveChanges 6,5 64 801
Add + отдельный контекст + SaveChanges 8,4 77 953
AddRange + SaveChanges 7,2 64 711
SqlBulkCopy 0,01 0,07 0,42

Ого! Если использовать метод Add для добавления в контекст и SaveChanges для сохранения, сохранение 100000 записей в БД займет почти 2 часа! В то время, как SqlBulkCopy на эту же задачу тратит менее секунды!

Update

Способ фиксации изменений в базе данных Количество записей
1000 10000 100000
SaveChanges 6,2 60 590
SqlBulkCopy + MERGE 0,04 0,2 1,5

Вновь SqlBulkCopy вне конкуренции. Исходный код тестового приложения доступен на GitHub.

Выводы

В случае работы с контекстом, содержащим большое количество объектов (10³ и выше), отказ от инфраструктуры Entity Framework (добавление в контекст + сохранение контекста) и переход на SqlBulkCopy для записи в БД может обеспечить прирост производительности в десятки, а то и сотни раз. Однако, по моему мнению, использовать связку EF+SqlBulkCopy повсеместно — явный признак того, что с архитектурой вашего приложения что-то не так. Рассмотренный в статье подход следует рассматривать как простое средство для ускорения производительности в узких местах уже написанной системы, если менять архитектуру/технологию по каким-либо причинам затруднительно. Любой разработчик, использующий Entity Framework, должен знать сильные и слабые стороны этого инструмента. Успехов!

Excel обнаружены ошибки при сохранении возможно приложению

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

Существуют также и другие причины, по которым Excel может не сохранять документ.

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

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

Исключите прерывания

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

Проверьте локальную сеть

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

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

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

Отсутствие прав на запись

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

Запустите Excel в безопасном режиме

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

При сохранении моей общей таблицы Excel появляется следующая ошибка:

Errors were detected while saving "server. Microsoft Excel may be able to save the file by removing or repairing some features. To make repairs in a new file, click Continue. To cancel saving the file, click Cancel."

У меня есть файл в сети, и я использую тонкий клиент и RDP. Все пользователи, обращающиеся к файлу, также находятся на тонких клиентах. Потребность в совместном использовании заключается в том, что многие пользователи могут одновременно обновлять файл и быстро видеть результаты других обновлений.

Я видел упоминание об этой ошибке, вызванной сетевым / удаленным доступом, и о том, как Excel сохраняет временные файлы с использованием локального каталога, которые могут быть недоступны для пользователей сети. Кто-нибудь сталкивался с этой проблемой и знал решение или обходное решение для этого?

3 ответа

Существует несколько возможных причин этой ошибки: от ошибок Excel (см. KB 2597034 ) на проблемы сети с антивирусными проблемами. В статье Microsoft KB KB 271513 перечислены большинство из них. Вообще говоря, это временные досады, а не апокалиптические ошибки. Мое личное мнение заключается в том, что Excel не предназначен для совместного использования и делает все, что в его силах, но не имеет веб-смартфонов, которые будут иметь Google Таблицы или SharePoint.

Совместное использование электронной таблицы в Excel очень ограничено, и вы не можете сделать это в нормальный режим редактирования.

Чтобы поделиться книгой:

В диалоговом окне Поделиться рабочей книгой на вкладке Редактирование выберите Разрешить изменения более чем одним пользователем одновременно. Это также позволяет флажок слияния книг.

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

Сводка

При попытке сохранить книгу Microsoft Excel могут возникнуть проблемы, если выполняется одно или несколько из следующих условий:

Методы обхода и решения

В следующих разделах приводятся обходные пути для сохранения книг и действия по устранению неполадок, которые помогут найти причину проблемы. Рекомендуется сначала попытаться сохранить изменения в открытых книгах Excel, прежде чем приступать к устранению неполадок.

Методы решения проблем сохранения книг Excel

Чтобы обойти эту проблему и попробовать сохранить работу перед устранением неполадок, выполните указанные ниже действия. В зависимости от причины проблемы может быть невозможно восстановить текущий файл без ошибок. Тем не менее, следующие методы обычно успешны. Эти методы перечислены в порядке сохранения формата при попытке сохранить исходное форматирование файла.

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

Способ 1: сохранение книги с использованием нового имени файла

Способ 2: перемещение исходных листов в новую книгу

Добавьте лист заполнителя в книгу. Для этого нажмите клавиши Shift + F11.

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

Щелкните правой кнопкой мыши сгруппированные листы, а затем выберите переместить или скопировать.

В списке to Book (кому книга ) выберите (Новая книга).

Нажмите кнопку ОК.

Эти действия должны переместить активные (сгруппированные) листы в новую книгу.

Если книга содержит макросы VBA, скопируйте модули из старой книги в новую книгу.

Способ 3: сохранение файла в другой тип файла Excel

Устранение неполадок

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

Шаг 1: попытка сохранить книгу в другом расположении

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

Шаг 2: попытка сохранить новую книгу в исходном расположении

Чтобы сохранить новый файл Excel в исходном расположении, выполните указанные ниже действия.

Создайте книгу Excel.

В меню файл выберите команду Сохранить как.

В диалоговом окне " Сохранить как " выполните следующие действия:

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

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

Если у вас достаточно места на диске, перейдите к действию 3.

Шаг 3: попытка сохранить книгу в безопасном режиме

Перезапустите Windows в безопасном режиме, а затем попробуйте сохранить книгу на локальном жестком диске.

Notes

Дополнительные сведения о запуске Windows в безопасном режиме можно найти в статье Дополнительные варианты запуска (включая безопасный режим).

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

Отображение

Надстройка стороннего производителя

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

В некоторых случаях сторонние производители программного обеспечения устанавливают пользовательские надстройки для работы с Excel. Некоторые из этих надстроек работают с существующими компонентами Excel по дизайну, и некоторые из них предназначены для обеспечения беспрепятственного перехода при использовании стороннего продукта. Как правило, эти сторонние надстройки не мешают работе с обычными функциями Excel. Однако существуют некоторые исключения. Например, возникли конфликты сохранения Excel из-за надстройки.

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

Нажмите кнопку Пуск, а затем выберите пункт программы.

Нажмите клавишу CTRL при запуске Excel и удерживайте ее, пока не получите сообщение следующего вида:

Приложение Excel обнаружило, что нажата клавиша CTRL. Вы хотите запустить Excel в безопасном режиме?

Нажмите кнопку Да.

Попробуйте сохранить новый файл Excel, а затем повторно сохраните такой же файл Excel.

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

Для получения дополнительных сведений о безопасном режиме Microsoft Excel нажмите клавишу F1 в Excel, чтобы открыть меню Справка, введите безопасный режим в поле поиска и нажмите кнопку Поиск, чтобы просмотреть раздел.

Для получения дополнительных сведений о том, как определить папки, которые Excel использует при запуске, и дополнительные параметры для отключения этой функции, выберите следующие номера статей базы знаний Майкрософт:

822107 как использовать папки автозагрузки в Excel

826922 как запретить автоматическое открытие файлов в Excel

Ограниченные разрешения

При сохранении файла Excel необходимо иметь следующие разрешения для папки, в которой сохраняется файл:

Если у вас нет этих разрешений, процесс сохранения Excel не может быть выполнен.

Недостаточно места на диске

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

Для получения дополнительных сведений об этом сообщении об ошибке выберите следующий номер статьи базы знаний Майкрософт:

214245 при сохранении книги в Excel появляется сообщение об ошибке "диск заполнен"

214073 при попытке сохранить файл в Excel отображается сообщение об ошибке

Конфликт антивирусного программного обеспечения

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

Конфликт общего доступа к файлам

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

Для получения дополнительных сведений об этом сообщении об ошибке обратитесь к следующей статье базы знаний Майкрософт:

130494 разблокировать файл, который был заблокирован для редактирования

Длина имени файла

Если вы попытаетесь сохранить или открыть файл Excel, а путь к этому файлу (включая имя файла) содержит более 218 символов, вы можете получить следующее сообщение об ошибке: недопустимое имя файла.

Для получения дополнительных сведений выберите следующий номер статьи базы знаний Майкрософт: сообщение об ошибке 213983 при открытии или сохранении файла в Microsoft Excel: "filename имеет недопустимое значение"

Процесс сохранения файла

При сохранении файла в Excel выполняются следующие действия:

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

814068 Описание способа сохранения файлов в Excel

Другие процессы, происходящие на компьютере, могут нарушить процесс сохранения Excel. Эти проблемы могут возникать, если доступ к временному файлу Excel осуществляется до завершения сохранения Excel. Например, локальное антивирусное по блокирует временный файл на сканирование, прежде чем его можно будет переименовать. Поэтому необходимо отслеживать все новые установки программного обеспечения и обновления, выполняемые до тех пор, пока не возникнут проблемы при попытке сохранить книги. Эта информация поможет вам, если эта статья не решает проблему, и вам нужно обратиться в службу поддержки Майкрософт. Для получения дополнительных сведений посетите следующий веб-сайт Майкрософт: http:/суппорт. Microsoft. com

Источники:

https://www. cleverence. ru/articles/elektronnaya-kommertsiya/fayl-bazy-dannykh-povrezhden-v-1s-chto-delat-i-kak-ispravit-oshibku-1cd-prichiny-i-sposoby-resheniya/

https://habr. com/ru/post/251397/

https://web-shpargalka. ru/excel-obnaruzheny-oshibki-pri-sohranenii-vozmozhno. php

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: