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

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

Движения регистров в 1С: что это такое и как с ними работать

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

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

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

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

Что такое регистр и его движения на уровне платформы

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

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

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

Какие виды регистров формируют движения

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

Вид регистраЧто хранитОсобенности движений
Накопления (остатки)Остатки товаров, денег, задолженностиВид движения «Приход» или «Расход», платформа контролирует итоги
Накопления (обороты)Только обороты без остатковВид движения не используется, итоги не хранятся
СведенийЦены, курсы, дополнительные данныеМожет быть периодическим; независимый регистр заполняется без документа
БухгалтерииПроводки по плану счетовДвижение = проводка с дебетом, кредитом, суммой и субконто
РасчётаНачисления и удержанияЗаписи привязаны к периоду действия и виду расчёта

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

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

Набор регистров, по которым документ делает движения, задан в конфигураторе на закладке «Движения» объекта «Документ». Там перечислены регистры-получатели, а логика заполнения записей описана в модуле объекта в обработчике проведения.

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

Движения при перепроведении

При повторном проведении старые движения документа сначала удаляются, затем записываются новые. Если между проведениями изменились данные, на которые опирается документ (цены, курсы, остатки), новые движения могут отличаться от прежних. Это частая причина «прыгающих» итогов при массовом перепроведении задним числом.

Как посмотреть движения документа в типовых конфигурациях

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

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

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

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

Как по движениям найти источник ошибки в учёте

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

Маршрут решения

Как выбрать действие

Остаток по товару отрицательный на конкретном складеСформируйте отчёт по регистру с детализацией до регистратора и найдите расход, превысивший накопленный приход
Проводка в отчёте есть, а документ в списке не найденОткройте запись регистра бухгалтерии и перейдите по ссылке регистратора — документ может быть в закрытом периоде или у вас нет прав на его просмотр
Итоги «прыгают» после перепроведения задним числомВосстановите последовательность проведения через обработку «Проведение документов» или механизм восстановления последовательностей
Документ проведён, но движений по нужному регистру нетПроверьте условия проведения в конфигурации: часть регистров заполняется только при определённых значениях реквизитов (вид операции, договор, организация)

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

Ручная корректировка движений: когда допустимо и как

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

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

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

Как проверить результат корректировки

Остаток по исправленной позиции
Норма

Совпадает с ожидаемым значением в отчёте по регистру

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

Остаток изменился, но не до нужного значения — корректировка частичная или задвоена

Связанные регистры
Норма

Бухгалтерские и складские итоги согласованы между собой

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

Один регистр исправлен, другой показывает прежние данные

Период корректировки
Норма

Запись стоит корректной датой и не ломает закрытые периоды

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

Корректировка попала в закрытый период и изменила отчётность

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

При доработке конфигурации движения формируются в обработчике проведения документа. Типовой подход — обход табличной части и добавление записей в набор записей регистра.

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

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

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

Частые вопросы о движениях регистров

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

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

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

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

Чем движения регистра отличаются от проводок?

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

Безопасно ли перепроводить документы прошлых периодов?

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

Как найти все документы, изменившие конкретный остаток?

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

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

Штатными средствами — нет, и делать этого не следует. Записи регистра жёстко привязаны к регистратору: обход этой связи внешними обработками нарушает целостность базы. Корректные способы — отмена проведения, пометка на удаление или документ корректировки, который добавляет обратные движения.

Итог

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

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