К статье
Практический материал

Разработка и Конфигурация · 11 мин

Движения регистра и регистратор в 1С: разбираем на практике

Что такое движения регистра и регистратор в 1С: как документ формирует записи, как найти движения, исправить ошибки и восстановить последовательность проведения.

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

Механизм устроен единообразно во всех типовых конфигурациях — «Бухгалтерии», «Управлении торговлей», «Зарплате и управлении персоналом». Документ при проведении формирует набор записей, платформа сохраняет их в таблицах регистров, а отчёты читают уже эти записи, а не сами документы. Поэтому расхождение между «что в документе» и «что в отчёте» почти всегда означает проблему именно на уровне движений.

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

Что такое регистр и зачем ему движения

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

Движение — это одна строка в регистре, созданная при проведении документа. У движения есть период (дата и время документа), измерения (например, номенклатура и склад), ресурсы (количество, сумма) и, для остаточных регистров, вид движения — приход или расход. Один документ обычно формирует движения сразу по нескольким регистрам: «Реализация товаров» пишет в регистр остатков товаров, взаиморасчётов, продаж и формирует бухгалтерские проводки.

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

Регистратор: кто создаёт движения

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

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

Обратная связь тоже настраивается: у документа на вкладке «Движения» отмечено, по каким регистрам он проводится. Если документ не проводится по нужному регистру, записей в нём не будет — и отчёт по этому регистру документ «не увидит».

Как посмотреть движения документа

Самый быстрый способ — открыть проведённый документ и воспользоваться стандартной командой. В большинстве типовых конфигураций в форме документа есть кнопка «Ещё → Движения документа» или отдельная команда «Движения». Откроется список регистров, по которым документ проведён, с наборами записей.

Если нужно увидеть движения в контексте всего регистра, откройте сам регистр через «Операции → Регистры накопления» (или «Регистры сведений») и отфильтруйте по полю «Регистратор». Так удобно сравнивать записи разных документов по одной номенклатуре или контрагенту.

Как найти движения документа
  1. 1
    Откройте проведённый документ в режиме просмотра.
  2. 2
    Нажмите «Ещё» и выберите команду «Движения документа» (в некоторых конфигурациях — кнопка «Дт/Кт» для проводок).
  3. 3
    Выберите нужный регистр в списке слева и изучите записи: измерения, ресурсы, вид движения.
  4. 4
    Сверьте записи с табличной частью документа — количество и суммы должны совпадать по логике проведения.
  5. 5
    При расхождении перепроведите документ и проверьте движения повторно.

Для бухгалтерских проводок действует та же логика: проводка — это движение по регистру бухгалтерии, а документ, её сформировавший, — регистратор. Команда «Дт/Кт» в форме документа показывает именно его движения по плану счетов.

Почему отчёт расходится с документом

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

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

Контрольные точки

Как проверить соответствие документа и движений

Статус проведения документа
Норма

Документ проведён, движения существуют

Тревожный признак

Документ проведён, но движений нет — признак ручного удаления набора записей

Суммы в движениях и в документе
Норма

Суммы совпадают с учётом логики проведения

Тревожный признак

Суммы различаются — документ меняли без перепроведения или движения правили вручную

Регистраторы записей в регистре
Норма

Все записи относятся к ожидаемым документам

Тревожный признак

Есть записи от «Корректировки регистров» или незнакомых документов

Как исправить ошибочные движения

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

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

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

Типичные ошибки
01
Удаление проведённого документа вместо распроведения — в закрытом периоде это оставляет «дыру» в учёте и меняет уже сданную отчётность.
02
Ручная правка движений без документа-корректировки — теряется связь с источником, и при следующем перепроведении правки затрутся.
03
Перепроведение закрытого периода без анализа — меняются остатки, себестоимость и регламентированная отчётность.
04
Игнорирование записей от «Корректировки регистров» при поиске расхождений — причина расхождения остаётся невидимой.

Движения с точки зрения разработчика

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

bsl
Процедура ОбработкаПроведения(Отказ, Режим)
  Движения.ОстаткиТоваров.Записывать = Истина;
  Для Каждого Строка Из Товары Цикл
    Движение = Движения.ОстаткиТоваров.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
    Движение.Период = Дата;
    Движение.Номенклатура = Строка.Номенклатура;
    Движение.Склад = Склад;
    Движение.Количество = Строка.Количество;
  КонецЦикла;
КонецПроцедуры

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

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

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

Итог и частые вопросы

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

Итог

Что важно запомнить

Регистратор — документ, создавший движения; движения — записи в регистрах со ссылкой на него. Смотреть движения — через команду «Движения документа», исправлять — перепроведением или документом «Корректировка регистров». Прямые правки регистров — только с резервной копией и пониманием рисков.

Может ли одна запись в регистре иметь несколько регистраторов?

Нет. У каждой записи ровно один регистратор — документ, который её создал. Но один документ может создавать много записей в разных регистрах, и один регистр может принимать записи от множества разных видов документов.

Что будет, если удалить проведённый документ?

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

Почему документ проведён, а движений нет?

Три типовые причины: в конфигурации документ вообще не проводится по этому регистру; в коде проведения не установлено свойство «Записывать» у набора записей; движения были удалены вручную сторонней обработкой. Проверяйте в этом порядке — от настроек регистра к коду.

Чем «Корректировка регистров» отличается от перепроведения документа?

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

Что такое «битая ссылка» регистратора и чем она опасна?

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

Можно ли посмотреть, кто и когда изменил движения документа?

Да, если включён журнал регистрации с нужным уровнем детализации и настроено версионирование объектов. Журнал регистрации фиксирует события проведения и изменения документа с указанием пользователя, а история версий показывает, что именно менялось в данных.