Почему 1С не даёт изменить файл и как его освободить
Содержание
Сообщение Действие недоступно, так как файл занят для редактирования значит, что вложенный файл в 1С кто-то взял на редактирование и ещё не вернул. Пока отметка «занят» стоит, остальные не могут его изменить, удалить или заменить. Решение — найти, кто держит файл, и либо закончить редактирование, либо освободить файл командой «Освободить».
Ошибка относится к механизму присоединённых файлов, который есть почти во всех типовых конфигурациях на 8.3: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, Документообороте. Похожие сообщения о занятом файле бывают и вне этого механизма — при обменах, загрузке выгрузок и обновлении. Их разбираем отдельно, потому что лечатся они иначе.
Откуда в 1С берётся блокировка файла
В типовых конфигурациях к договору, счёту или сотруднику можно прикрепить скан, документ Word или таблицу Excel. Файл хранится в информационной базе или в томах на диске, а пользователь работает с его копией на своём компьютере.
Чтобы двое не правили один файл одновременно, 1С ставит логическую отметку. Это не блокировка Windows, а запись в самой базе:
- 📌 пользователь нажимает «Редактировать» — в карточке файла появляется поле «Редактирует» с его именем;
- 📥 файл копируется в рабочий каталог пользователя и открывается в Word или Excel;
- 🔒 у остальных команды изменения недоступны, при попытке — то самое сообщение;
- ✅ отметка снимается, только когда владелец нажмёт «Закончить редактирование» или кто-то освободит файл.
Отсюда главный вывод. Перезапуск 1С, перезагрузка компьютера и даже сервера не снимают отметку: она лежит в базе. Если сотрудник ушёл в отпуск с занятым файлом, файл будет занят, пока его не освободят.
Типичные ситуации
| Ситуация | Что произошло | Кто может исправить |
|---|---|---|
| Коллега открыл файл и забыл | Отметка стоит, правок нет | Сам коллега или администратор |
| Вы сами взяли файл на другом компьютере | Копия лежит в рабочем каталоге того ПК | Вы, с того же или другого ПК |
| Программа упала во время правки | Отметка осталась, копия могла сохраниться | Вы или администратор |
| Сотрудник уволен, учётная запись отключена | Отметка «висит» за ним | Только администратор |
Кто занял файл: диагностика за пару минут
Начните с карточки файла. Откройте документ или справочник, перейдите в «Присоединённые файлы» (обычно кнопка со скрепкой в командной панели формы) и откройте нужный файл.
- Найдите поле «Редактирует». В нём имя пользователя, который держит файл.
- В списке файлов занятые помечены отдельной пиктограммой. Колонку с этой отметкой можно вывести через настройку списка.
- Если в поле ваше имя — файл заняли вы. Вспомните, на каком компьютере.
- Если чужое имя — свяжитесь с этим человеком. Возможно, он ещё правит документ, и освобождать файл без спроса нельзя: его изменения пропадут.
Сидит ли пользователь в базе
Проверьте, есть ли у владельца файла активный сеанс. В Бухгалтерии 3.0 и ЗУП 3.1 список открыт в разделе Администрирование → Обслуживание, ссылка «Активные пользователи». В Конфигураторе тот же список — Администрирование → Активные пользователи.
- 🟢 Сеанс есть — человек работает, спросите его напрямую.
- ⚪ Сеанса нет — скорее всего, файл забыт. Его можно освобождать, предупредив владельца.
Монопольный режим базы к этой ошибке отношения не имеет. Если базу заняли монопольно, вы просто не войдёте в неё, а сообщение будет другим: о невозможности установить монопольный или разделяемый доступ.
Как освободить файл в 1С: три способа
Способы идут от безопасного к радикальному. Первый не теряет ничего, третий может стоить чьих-то правок.
Способ 1. Владелец заканчивает редактирование
Самый правильный путь. Владелец на своём компьютере:
- Сохраняет и закрывает документ в Word или Excel.
- Открывает в 1С карточку файла или список присоединённых файлов.
- Нажимает «Закончить редактирование». 1С забирает копию из рабочего каталога, создаёт новую версию и снимает отметку.
Если менять ничего не нужно, вместо этого есть команда «Освободить» (в некоторых релизах — «Отменить редактирование»). Отметка снимается, изменения в локальной копии не попадут в базу.
Способ 2. Вы заняли файл на другом компьютере
Частая история: взяли файл в офисе, а дома или на ноутбуке он «занят вами». Варианты:
- 🏢 вернуться к первому компьютеру и закончить редактирование там — правки сохранятся;
- 💾 если правленый файл у вас есть (переслали себе, сохранили на флешку) — нажмите «Закончить редактирование» на новом ПК. 1С не найдёт копию в рабочем каталоге и предложит выбрать файл на диске;
- ↩️ если правок не было — просто «Освободить».
Способ 3. Администратор освобождает чужой файл
Когда владелец недоступен, файл освобождает пользователь с полными правами. Команда та же — «Освободить», доступна в карточке и в списке файлов.
Правки, которые владелец сделал в своей копии и не вернул в базу, после освобождения в 1С не попадут. Копия останется только у него в рабочем каталоге. Освобождайте чужой файл, когда точно знаете, что он не правится прямо сейчас.
После освобождения сообщите владельцу. Если у него была несохранённая работа, он сможет загрузить её как новую версию.
Проверка после освобождения
Убедитесь, что всё встало на место:
- Откройте карточку файла: поле «Редактирует» должно стать пустым.
- Посмотрите список версий. Последняя версия — та, которую вы ожидаете, а не старая.
- Попросите коллегу, у которого была ошибка, повторить действие. Команды изменения у него теперь доступны.
Если поле не очистилось, обновите форму или откройте карточку заново: список мог показать устаревшее состояние.
Для уволенных сотрудников алгоритм тот же. Отключённая учётная запись не мешает освобождению, а удалять пользователя ради этого не нужно.
Файлы обмена и выгрузки, занятые другим процессом
Вторая группа ошибок похожа по смыслу, но причина в другом. Здесь файл держит не 1С-пользователь, а программа в Windows. Текст обычно содержит «файл занят другим процессом», «нарушение совместного доступа» или «не удалось открыть файл».
Где это встречается:
- 🔄 обмен через каталог — между Бухгалтерией и ЗУП, с УТ, с филиалом;
- 📤 выгрузка данных в XML и загрузка из него;
- 🏦 загрузка выписок банка из файла
kl_to_1c.txt; - 📊 загрузка из Excel, когда тот же файл открыт в Excel.
Что делать
- Закройте программу, в которой открыт файл. Для Excel это главное: открытая книга блокирует файл на запись, а иногда и на чтение.
- Проверьте, не идёт ли второй сеанс обмена. Если обмен запущен по расписанию и вручную одновременно, второй упрётся в файл первого. Дождитесь окончания.
- Посмотрите, какой процесс держит файл. В Windows для этого есть «Монитор ресурсов» (
resmon.exe): вкладка «ЦП», поле «Связанные дескрипторы», поиск по имени файла. - Если файл держит зависший
1cv8.exeили1cv8c.exeбез открытого окна — завершите этот процесс в диспетчере задач.
Завершать процесс 1С можно только свой и только когда в нём нет несохранённой работы. На терминальном сервере в диспетчере видны процессы всех пользователей: снимая чужой, вы оборвёте человеку сеанс.
Блокировки при обновлении конфигурации
При обновлении тоже бывают сообщения о занятых файлах. Механизм присоединённых файлов тут ни при чём.
Файл обновления занят
Конфигуратор читает файл .cfu или .cf. Если он лежит в папке, где его открыл распаковщик шаблонов, архиватор или антивирус, чтение срывается. Помогает простое:
- 📂 дождитесь окончания распаковки шаблона обновления;
- 📁 скопируйте файл обновления в локальную папку, а не берите с сетевого диска;
- 🛡️ если файл проверяет антивирус, повторите через минуту.
База занята пользователями
Для обновления структуры базы нужен монопольный доступ. Если в базе остались сеансы, Конфигуратор не сможет применить изменения. Это не «файл занят», а занятая база, и решение другое:
- Посмотрите активных пользователей в Конфигураторе или в самой программе.
- Попросите всех выйти. Предупредите о времени работ заранее.
- В клиент-серверной базе зависшие сеансы завершает администратор через консоль кластера.
- В файловой базе проверьте, что на компьютерах пользователей не осталось процессов 1С с этой базой.
Принудительное завершение сеанса обрывает работу пользователя: несохранённый документ пропадёт. Делайте это вне рабочего времени или после предупреждения.
Перед обновлением сделайте резервную копию базы: выгрузку в .dt или копию каталога файловой базы.
Антивирус, сетевые папки и файловая база
Антивирус проверяет файл в момент открытия. На это время файл для других программ занят. Для обычных документов это незаметно, а для активных файлов 1С превращается в регулярные сбои.
Что стоит добавить в исключения антивируса (согласуйте с тем, кто отвечает за безопасность):
- 🗄️ каталог файловой базы, прежде всего файл
1Cv8.1CD; - 📦 каталоги томов присоединённых файлов, если файлы хранятся на диске;
- 🔄 каталоги обмена данными;
- ⚙️ каталог временных файлов и кеша 1С в профиле пользователя.
Сетевые папки
Файловая база в общей папке и тома файлов на сетевом диске чувствительны к обрывам сети. Если связь пропала в момент записи, на сервере может остаться открытый дескриптор файла. Тогда файл некоторое время будет считаться занятым, пока Windows не закроет сеанс.
Что помогает:
- 🔌 стабильное проводное подключение для рабочих мест с файловой базой;
- 🖥️ просмотр открытых файлов на сервере: «Управление компьютером» → «Общие папки» → «Открытые файлы». Там же можно закрыть зависший дескриптор;
- 🧭 при росте числа пользователей — переход на клиент-серверный вариант или работа через терминальный сервер.
Закрытие открытого файла в «Общих папках» обрывает работу пользователя с этим файлом. Для 1Cv8.1CD это значит аварийный выход из базы у того, кто её держит. Делайте только когда уверены, что сеанс мёртвый.
Как не допускать повторения
Логическая отметка «занят» — нормальный механизм. Проблемы начинаются, когда о ней забывают. Несколько правил для команды:
- 📝 закончили правку — сразу «Закончить редактирование», а не просто закрыть Word;
- 👀 хотите только посмотреть — открывайте файл на просмотр, а не берите на редактирование;
- 🚪 перед выходом из программы проверьте список занятых файлов. Типовые конфигурации при завершении работы показывают предупреждение, если за вами остались занятые файлы, — не закрывайте его не глядя;
- 👤 перед увольнением сотрудника администратор проверяет, нет ли за ним занятых файлов;
- 💻 работайте с файлами на одном компьютере, а не начинайте правку в офисе и заканчивайте дома.
Для администратора полезно раз в месяц фильтровать список файлов по полю «Редактирует» и разбирать давно занятые. Отбор ставится в настройке списка: поле «Редактирует» — «Заполнено».