Исправление ошибочных движений в регистре накопления 1С

· 9 мин

Содержание

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

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

1. Как устроен регистр накопления и почему его не правят «вручную»

Регистр накопления хранит движения: приход или расход ресурсов (количество, сумма) в разрезе измерений (номенклатура, склад, контрагент и т.п.). У регистров остатков есть вид движения «Приход» и «Расход», у регистров оборотов вида нет, там просто пишутся значения.

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

Из этого следуют три правила:

  • 🔎 ошибочная запись — это следствие ошибки в документе или в данных, на которых документ считает;
  • 🧾 исправить причину в документе надёжнее, чем править следствие в регистре;
  • 🔁 правка записей мимо документа теряется при следующем перепроведении.

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

2. Исправление через отмену проведения и повторное проведение

Это базовый способ, он подходит, когда виновата ошибка в самом документе: неверное количество, склад, сумма, дата.

Порядок действий:

  1. Откройте документ, который создал ошибочные движения.
  2. Если период не закрыт, исправьте реквизиты или табличную часть.
  3. Нажмите «Провести». Система удалит прежние движения документа и запишет новые.
  4. Откройте движения документа и убедитесь, что значения в регистре изменились.

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

Если документ не проводится из-за ошибки контроля остатков, регистр не обновится. Сначала устраните причину (например, нехватку товара на дату), а не пытайтесь править регистр.

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

Отмените проведение, если запись должна пропасть совсем: документ введён по ошибке, а не исправляется. Затем решите, что делать с документом: пометить на удаление или оставить непроведённым как черновик.

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

Что делать с закрытым периодом

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

Правильный путь в закрытом периоде — корректировка текущей датой: отдельный документ, который меняет остаток сегодня, а в комментарии ссылается на причину.

3. Групповое перепроведение документов

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

Что в ней настраивается:

  • 📅 период, за который берутся документы;
  • 📄 виды документов, которые нужно перепровести;
  • 🏢 организация, если в базе их несколько;
  • ▶️ порядок проведения: от старых документов к новым.

Порядок важен. Документ, который списывает товар, должен проводиться после документа, который его оприходовал. При проведении «от старых к новым» остатки считаются верно.

Как не потерять данные

Перед массовой операцией:

  1. Сделайте выгрузку информационной базы или копию файла базы. Перепроведение необратимо: прежние движения заменяются новыми.
  2. Выберите узкий период, например один месяц, и проверьте результат на нём.
  3. Запускайте обработку в нерабочее время, когда в базе нет пользователей. На большом объёме она держит блокировки и сильно нагружает сервер.
СпособКогда использоватьРиски
Провести один документОшибка в конкретной записиМинимальные
Групповое перепроведениеМассовая ошибка за периодДолгая работа, блокировки, пересчёт себестоимости
Запись набора кодомНет документа, нужна точечная правкаРасхождение с документами
Пересчёт итоговИтоги не сходятся с записямиНужен монопольный доступ

Пример: лишнее оприходование на складе

Кладовщик ввёл поступление на 120 штук вместо 102 и провёл его. Через неделю на складе нашли недостачу, а в регистре «Товары на складах» остаток завышен на 18 штук.

Порядок такой:

  1. Откройте поступление и посмотрите его движения: приход 120 штук виден сразу.
  2. Если период открыт, исправьте количество на 102 и проведите документ заново. Остаток в регистре станет верным без дополнительных операций.
  3. Если по этому товару уже были продажи и склад ушёл бы в минус, проведение остановится на контроле остатков. Сначала проверьте, какие документы расходуют товар, и решите, что с ними делать.
  4. Если период закрыт, оформите списание на 18 штук текущей датой с пометкой «исправление ошибки ввода поступления».

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

4. Корректировка и сторно: когда допустимо менять учёт без перепроведения

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

Допустимо это в двух случаях:

  • документ закрыт датой запрета, а ошибка найдена позже;
  • записи без регистратора, у которых нет документа-основания.

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

Принцип корректировки:

  1. Определите, что именно ошибочно: измерение (не тот склад), ресурс (не то количество) или период.
  2. Рассчитайте разницу между фактом и записью. Например, оприходовано 120 штук, а было 102. Разница 18 штук.
  3. Оформите документ, который спишет излишек 18 штук со склада.
  4. Проверьте, что остаток по регистру стал 102.

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

5. Прямая запись в регистр: набор записей кодом

Если документа нет, а запись есть, остаётся программная правка. Выполняют её в консоли кода, во внешней обработке или в обработке, которую подготовил разработчик. Не работайте с рабочей базой без копии.

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

НаборЗаписей = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаДокумент);
НаборЗаписей.Прочитать();

Для Каждого Запись Из НаборЗаписей Цикл
	Запись.Количество = Запись.Количество - 1;
КонецЦикла;

НаборЗаписей.Записать();

Что здесь важно:

  • 🎯 отбор по регистратору обязателен, иначе вы запишете не тот набор;
  • 📝 Записать() с параметром по умолчанию заменяет прежние записи набора теми, что в памяти;
  • ⛔ если нужно полностью очистить движения, оставьте набор пустым и вызовите Записать(): записи документа в этом регистре удалятся.

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

Запись набора напрямую не проверяет остатки, не обновляет другие регистры и не меняет сам документ. Документ по-прежнему будет показывать в движениях то, что считал при проведении. При следующем перепроведении ваша правка исчезнет.

Что проверить сразу после записи

  • сравните оборот по регистру с оборотом по документам за тот же период;
  • убедитесь, что отрицательных остатков нет;
  • запишите в журнал или комментарий, что и когда правили вручную.

6. Где искать причину расхождений

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

  • 🕰 документы вводились и проводились «задним числом», и последующие документы посчитались на неверных остатках;
  • 🔄 обмен принёс документы с другой датой или удалил старые;
  • 🧩 изменили справочник (склад, номенклатуру, организацию) после проведения документов;
  • 🧮 итоги регистра не пересчитаны после сбоя или аварийного завершения;
  • 👤 пользователь правил данные через обработку или код.

Как найти расхождение

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

Пересчёт итогов

Регистры накопления хранят не только записи, но и итоги. Если после сбоя остатки в отчётах не совпадают с суммой записей, итоги пересчитывают. В Конфигураторе это делается через Администрирование → Тестирование и исправление информационной базы с включённым пересчётом итогов.

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

7. Как не плодить ошибочные записи

Чаще всего исправление нужно из-за того, что ошибка прошла незамеченной. Несколько привычек снижают число правок:

  1. Проверяйте результат проведения у документов, которые сильно влияют на учёт: поступления, списания, ввод остатков.
  2. Закрывайте период датой запрета сразу после сверки и сдачи отчётности.
  3. Не разрешайте пользователям менять данные за закрытые периоды без ответственного.
  4. Выводите отрицательные остатки в регламентный отчёт и разбирайте их ежедневно.
  5. Не вносите правки кодом без записи в журнал изменений.

Регламентные работы

Раз в месяц имеет смысл проверять:

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

А перед закрытием года нужно перепровести проблемные документы, пока дата запрета ещё не стоит. Правка закрытых данных потом обходится дороже.

Как исправить ошибочную запись в регистре накопления?

Частые вопросы

Можно ли удалить одну строку из регистра накопления через интерфейс?
Для регистра, подчинённого регистратору, нет. Строки правят через документ или программно, записью набора. Отдельной кнопки удаления в обычной форме нет.
Почему после перепроведения записи вернулись обратно?
Документ пересоздаёт набор движений из своих данных. Всё, что вы изменили в регистре отдельно, затирается. Исправьте сам документ.
Что будет, если провести документ повторно без изменений?
Старые движения удалятся, новые запишутся по текущим данным справочников и настроек. Если за это время справочники менялись, цифры в регистре тоже могут измениться.
Нужна ли резервная копия перед групповым перепроведением?
Да. Обработка заменяет движения у множества документов, а вернуть прежние значения можно только из копии.
Чем регистр накопления отличается от регистра сведений при правке?
У регистра сведений обычно есть своя форма списка записей, и строки правят прямо в ней, если регистр не подчинён регистратору. У регистра накопления такой формы в рабочем интерфейсе нет.
Когда помогает пересчёт итогов?
Когда сами записи верные, а остатки в отчётах не совпадают с их суммой, например после аварийного завершения работы базы.