В списке движений обнаружены ссылки на объекты, которые не могут быть подключены в качестве движения

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

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

Что означает это сообщение об ошибке

Каждый документ в конфигурации 1С имеет фиксированный список регистров, по которым он может формировать движения. Этот список задаётся в конфигураторе на вкладке «Движения» в свойствах документа. Платформа контролирует соответствие: если код в модуле объекта обращается к регистру, не включённому в этот список, проведение блокируется.

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

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

Основные причины появления ошибки

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

  • 🔧 В модуле документа есть код записи движений по регистру, который не отмечен в свойствах документа как движение.
  • 📦 После обновления конфигурации список движителей документа изменился, а доработанный код остался прежним.
  • 🔀 Регистр был переименован или удалён, но ссылки на него остались в коде общих модулей или подписок на события.
  • 🧩 Внешняя обработка или расширение конфигурации добавляет движения, не согласованные с метаданными.
  • 💾 При переносе данных из другой базы загружены наборы записей по регистрам, отсутствующим в текущей конфигурации.

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

📊 В какой ситуации у вас возникла эта ошибка?
После обновления конфигурации
После доработки документа
При переносе данных из другой базы
При работе расширения или внешней обработки

Как найти проблемный регистр

Первый шаг диагностики — определить, какой именно регистр вызывает конфликт. Откройте конфигуратор, найдите документ в дереве метаданных и перейдите на вкладку Движения. Здесь перечислены все регистры, разрешённые для этого вида документа.

Далее откройте модуль объекта документа и найдите процедуру ОбработкаПроведения. Выполните поиск по модулю и по связанным общим модулям строк вида Движения.ИмяРегистра. Каждое найденное имя сверьте со списком на вкладке движений. Регистр, который есть в коде, но отсутствует в списке, — и есть источник ошибки.

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

Способы исправления ошибки

Выбор метода зависит от того, какое поведение является правильным для вашего учёта. Возможны два противоположных решения, и оба корректны — вопрос в том, что задумано.

Добавление регистра в список движений документа

Если документ действительно должен формировать движения по этому регистру (например, доработка добавила новый учётный разрез), исправление делается в метаданных. В конфигураторе откройте свойства документа, перейдите на вкладку Движения и установите флажок напротив нужного регистра. После этого обновите конфигурацию базы данных через Конфигурация → Обновить конфигурацию базы данных.

☑️ Добавление регистра в движения документа

Выполнено: 0 / 5
⚠️ Внимание: добавление регистра в движители изменяет структуру учёта. Если база работает в режиме поддержки типовой конфигурации, правка может потребовать снятия объекта с поддержки — это усложнит будущие обновления. Оцените последствия до изменения.

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

Удаление лишнего кода из модуля проведения

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

Движения.ИмяРегистра.Записывать = Истина;

Также проверьте процедуры, которые заполняют таблицы движений и вызывают Записать() для наборов записей. Удалять код следует аккуратно: сначала закомментируйте блок, убедитесь, что проведение проходит и учётные отчёты не сломались, и только потом удаляйте окончательно.

⚠️ Внимание: если ошибка возникла после обновления типовой конфигурации, не спешите править типовой код. Возможная причина — доработка, которая конфликтует с новой версией. Сравните модуль с предыдущей версией конфигурации через механизм сравнения и объединения.

Когда виноваты расширения и обмены данными

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

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

Как проверить движения документа без конфигуратора

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

Сравнение подходов к решению

СитуацияДействиеРиск
Доработка требует новый регистрДобавить регистр в движители документаИзменение поддержки типовой конфигурации
Устаревший код в модулеУдалить или закомментировать обращения к региструПотеря части учётных записей при ошибочном удалении
Конфликт после обновленияСравнение модулей со старой версией, адаптация доработкиТрудоёмко, требует доступа к прежней версии
Ошибка из расширенияОтключить или доработать расширениеОтключение функциональности расширения
Обмен между разными версиямиСинхронизация версий конфигураций в узлахТребует планового обновления всех баз

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

Профилактика повторного появления ошибки

Чтобы проблема не возвращалась, встройте несколько простых практик в процесс работы с конфигурацией:

  • 🧪 После каждой доработки проведения тестируйте проведение документа на копии базы до переноса в рабочую среду.
  • 📋 При обновлении типовой конфигурации используйте сравнение и объединение с сохранением протокола изменений доработанных модулей.
  • 🔍 Периодически выполняйте тестирование и исправление информационной базы с проверкой логической целостности.
  • 🗂 Документируйте, какие регистры добавлены в движители документов доработками, — это сильно ускорит диагностику в будущем.

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

Часто задаваемые вопросы

Можно ли исправить ошибку без конфигуратора?

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

Пропадут ли данные, если я уберу регистр из движений?

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

Почему ошибка появилась сразу после обновления?

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

Ошибка возникает только у одного документа из множества. Это нормально?

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

Поможет ли тестирование и исправление базы?

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