Как прервать и отменить загрузку данных в 1С 8.3
Содержание
Остановить запущенную загрузку можно тремя путями, и выбор зависит от того, где именно она идёт: в открытом окне обработки — закрываете окно или жмёте Отмена; в фоновом задании — снимаете его в разделе Администрирование → Обслуживание; если 1С зависла намертво — завершаете сеанс или процесс. Отменить импорт, прервать обработку данных и откатить уже записанное — разные задачи, и решаются они по-разному.
Главная засада в том, что «отмена» в середине загрузки почти никогда не возвращает базу к исходному состоянию сама. Часть документов уже записана и проведена, часть — нет. Поэтому ниже сначала про то, как остановить процесс, а потом — как разобраться с тем, что успело залететь в базу.
Прежде чем снимать любой процесс или завершать чужой сеанс — убедитесь, что это не оборвёт работу других пользователей. В файловой базе вы рискуете только своим сеансом, в серверной — всеми.
С чего начать: где именно идёт загрузка
От ответа на этот вопрос зависит способ остановки. Загрузка в 1С бывает в трёх режимах, и прерываются они по-разному.
- 🖥 В открытом окне обработки. Вы видите индикатор прогресса или форму с кнопкой запуска. Процесс идёт в вашем сеансе, в основном потоке.
- ⚙️ В фоновом задании. Обработка запустила длительную операцию в фоне — окно при этом может быть свободно, а внизу крутится индикатор «Выполняется…».
- 🔁 В регламентном задании по расписанию. Обмен или загрузка настроены срабатывать автоматически (например, ночной обмен с сайтом или другой базой).
Быстро определиться с методом поможет разбор по ситуации.
Отмена в форме, если кнопка есть, либо закройте окно. Если не реагирует — ждите завершения текущей порции или снимайте сеанс.Администрирование → Обслуживание → Регламентные и фоновые задания и отмените активное задание.Остановить обработку, которая идёт в окне
Самый частый случай — вы запустили типовую обработку (Загрузка данных из файла, загрузку из табличного документа, перенос из другой базы) и хотите прервать её на середине.
- Если в форме есть кнопка
Отмена,Прерватьили крестик закрытия окна — нажмите её. Многие типовые обработки проверяют прерывание пользователя и останавливаются на ближайшем шаге цикла. - Если кнопки нет, а операция длительная — попробуйте закрыть окно обработки. Платформа спросит подтверждение прерывания текущей операции.
- Если и это не срабатывает, обработка не предусмотрела проверку прерывания. Тогда остаётся либо дождаться конца текущей порции данных, либо завершать сеанс (см. ниже).
Корректная остановка зависит от самой обработки: заложен ли в её код ОбработкаПрерыванияПользователя. У типовых загрузок это обычно есть, у самописных обработок — не всегда.
Важный нюанс: нажатие Отмена не откатывает уже записанные документы. Платформа оборачивает в транзакцию запись одного объекта, а не весь пакет целиком. Поэтому прерывание на середине оставит в базе всё, что успело записаться до момента остановки.
Отдельно стоит разделить два этапа у многих загрузок. Сначала данные читаются из файла в таблицу формы (этот этап прервать безопасно — в базу ещё ничего не попало), и только потом идёт запись и проведение документов. Если вы успели остановиться до нажатия кнопки записи/загрузки в базу — ничего чистить не придётся. Поэтому у незнакомого файла есть смысл сначала просто прочитать его в форму, посмотреть результат, и только убедившись, что всё верно, запускать запись.
Снять фоновое задание загрузки
Если загрузка ушла в фон (типичный случай для обменов данными и длительных обработок), остановить её из окна не получится — нужно идти в список заданий.
Путь в типовых конфигурациях на управляемых формах (Бухгалтерия, ЗУП, УТ, ERP):
- Откройте раздел
Администрирование→ группаОбслуживание→Регламентные и фоновые задания. Название пункта может немного отличаться между конфигурациями. - Перейдите на закладку
Фоновые задания. - Найдите активное задание — у него состояние
Выполняется. Ориентируйтесь по времени начала и по наименованию (в нём обычно видно, что это обмен или загрузка). - Выделите задание и нажмите
Отменить(команда может называтьсяОтменить задание).
Если загрузка срабатывает сама по расписанию — одной отмены мало. Перейдите на закладку Регламентные задания, найдите нужное (обмен, загрузка курсов валют, синхронизация) и снимите флажок Включено. Иначе задание запустится заново при следующем срабатывании расписания.
Отмена фонового задания прерывает его между порциями данных. Как и в предыдущем случае, уже обработанная часть остаётся в базе.
В клиент-серверном варианте список фоновых заданий виден ещё и администратору кластера через консоль администрирования серверов (оснастка Администрирование серверов 1С Предприятия) — там же, где активные сеансы.
Если задание в состоянии Выполняется висит, но на отмену не реагирует несколько минут, оно, скорее всего, застряло внутри длинной транзакции или ждёт блокировку. В этом случае отмена сработает только после завершения текущего шага либо после снятия сеанса, в котором это задание крутится. Торопиться и снимать процесс сервера из-за одного зависшего задания не стоит — сначала дайте ему шанс завершить порцию.
Найти источник загрузки через журнал регистрации
Журнал регистрации сам по себе ничего не отменяет, но без него трудно понять, кто запустил загрузку, когда и что она успела записать. Это точка опоры перед тем, как снимать сеанс или чистить данные.
Откройте Администрирование → Обслуживание → Журнал регистрации. Если пункта не видно, журнал доступен через Главное меню → Все функции → Стандартные → Журнал регистрации.
Что настроить в отборе:
- 📅 Период — интервал, когда шла загрузка.
- 👤 Пользователь — под кем запущен импорт.
- 🗂 События —
Данные.Изменение,Данные.Добавление,Данные.Проведение, чтобы увидеть, какие объекты создавались.
По журналу вы поймёте границы «ущерба»: с какого времени пошли записи, сколько объектов и какого вида. Эти же данные пригодятся для отбора при очистке.
Отдельно пригодится закладка или отбор по сеансам: по номеру сеанса, под которым идёт загрузка, вы найдёте этот сеанс в списке активных пользователей и завершите именно его — не трогая остальных.
Завершить сеанс и снять зависший процесс
Это крайняя мера — когда обработка не прерывается, фоновое задание не снимается, а 1С перестала отвечать.
Завершение сеанса пользователя
В типовой конфигурации администратор может завершить сеанс через Администрирование → Обслуживание → Активные пользователи (либо Все функции → Стандартные → Активные пользователи): выделить нужный сеанс и выполнить команду завершения.
В клиент-серверном режиме сеанс удаляют через консоль администрирования серверов или через утилиту rac. По шагам: rac session list покажет активные сеансы с их идентификаторами, затем rac session terminate завершит нужный. Точный набор параметров (идентификатор кластера, сеанса) смотрите в rac help — не угадывайте синтаксис наугад.
Завершение сеанса обрывает загрузку мгновенно и без отката. Транзакция незаписанного объекта откатится, но всё, что записалось раньше, останется. Это грубее, чем кнопка Отмена.
Снятие процесса на уровне операционной системы
Если завис сам клиент 1С:
- Файловая база. Откройте
Диспетчер задачWindows и завершите процесс1cv8.exe(или1cv8c.exeдля тонкого клиента ) — тот, что относится к зависшему окну. Пострадает только ваш сеанс. - Серверная база. Рабочие процессы сервера — это
rphost.exe. Завершатьrphost.exeвручную нельзя без крайней необходимости: в нём живут сеансы всех пользователей, и вы оборвёте работу всех. Делать это можно только в технологическое окно и с предупреждением пользователей.
После снятия процесса на уровне ОС платформа может предложить тестирование и исправление базы при следующем запуске — не отказывайтесь, если завершение было жёстким.
Когда стоит снимать сеанс или процесс, а когда — лучше потерпеть:
| Ситуация | Действие | Риск |
|---|---|---|
| Файловая база, одна ваша сессия | Снять 1cv8.exe | Минимальный, только ваш сеанс |
| Серверная база, есть кнопка «Отмена» | Нажать Отмена, подождать | Нет |
| Серверная база, фон не снимается | Завершить свой сеанс через консоль | Оборвётся ваша загрузка |
| Серверная база, зависло всё | Снятие rphost.exe в техокно | Оборвутся ВСЕ пользователи |
Что делать с уже загруженными данными
Отмена процесса — полдела. Главный вопрос обычно в другом: в базу залетела часть данных, и её надо убрать. Полного автоматического «отката импорта» в 1С нет, поэтому действуют одним из двух способов.
Способ 1. Восстановить из резервной копии
. Самый чистый вариант, если копия сделана прямо перед загрузкой. Для файловой базы — выгрузка .dt через Конфигуратор (Администрирование → Выгрузить информационную базу) и обратная загрузка. Для серверной — восстановление средствами СУБД. Минус: откатится вся работа, сделанная после копии, а не только загрузка.
Способ 2. Удалить то, что загрузилось. Подходит, когда копии нет или нельзя терять другую работу.
- По журналу регистрации определите вид и период созданных объектов.
- Откройте нужный журнал документов , настройте отбор по дате и автору (под кем шла загрузка).
- Выделите загруженные документы и пометьте их на удаление.
- Запустите
Администрирование→Обслуживание→Удаление помеченных объектов. Сначала в режиме контроля ссылок — 1С покажет, не используются ли эти объекты где-то ещё.
Если загрузка создала не документы, а записи справочников или регистров, удаление усложняется из-за ссылок. Иногда проще откатиться из копии, чем вычищать связи вручную.
Перед удалением полезно пройтись по короткому чек-листу, чтобы не снести лишнее.
Как застраховаться от неудачной загрузки
Проще предотвратить, чем откатывать. Несколько правил сильно снижают риск.
- 💾 Резервная копия перед каждой крупной загрузкой. Это единственный надёжный способ вернуть всё как было одним движением.
- 🧪 Прогон на копии базы. Сомнительный файл или новую обработку сначала проверяйте на тестовой копии, а не на рабочей.
- 🌙 Загрузка в нерабочее время. Длительный импорт лучше запускать, когда в базе никого нет — и прервать безопаснее, и быстрее идёт.
- 📦 Загрузка порциями. Большой файл лучше разбить: если что-то пойдёт не так, откатывать придётся меньше.
- ✅ Проверка файла-источника. Сверьте кодировку, формат и соответствие колонок полям 1С до запуска, а не после.
Для обменов между базами держите под контролем сопоставление полей — именно рассинхрон приводит к тому, что данные грузятся «не туда» и их потом приходится вычищать. Отдельно проверьте, не задвоятся ли объекты: если в приёмнике уже есть номенклатура или контрагенты с теми же кодами, настройте поиск по уникальному реквизиту, иначе загрузка создаст дубли вместо обновления существующих записей.
Для регулярных обменов удобно оставлять ручной старт на первых прогонах: запускаете загрузку сами, смотрите результат, и только убедившись в стабильности — переводите на расписание. Так проще поймать проблему, пока объём ещё небольшой.
Частые вопросы
Нажал «Отмена» на середине загрузки — почему часть документов всё равно записалась?
Можно ли отменить загрузку, если она идёт по расписанию ночью?
Регламентные и фоновые задания, на закладке регламентных снимите флажок Включено у нужного обмена или загрузки, и только потом отменяйте активное фоновое задание.