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

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

Как изменить запись регистра накопления в 1С

Способы изменить запись регистра накопления в 1С: через документ, ручную корректировку, обработку и код. Риски, проверка результата, типичные ошибки.

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

Прежде чем менять что-либо, определите, какой именно регистр затронут и какой документ сформировал запись. Откройте документ, нажмите «Ещё → Движения документа» (или Ctrl+Shift+M в некоторых конфигурациях) — вы увидите список регистров и сами строки движений. Отсюда же видно, есть ли у документа признак ручной корректировки.

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

Как устроены записи регистра накопления

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

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

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

Способ 1. Исправить и перепровести документ-регистратор

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

Если документ находится в закрытом периоде, потребуется временно снять дату запрета редактирования (раздел «Администрирование → Поддержка и обслуживание → Регламентные операции» либо «Даты запрета изменения данных» — название зависит от конфигурации). После правки верните дату запрета на место.

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

Порядок действий при перепроведении
  1. 1
    Найдите документ-регистратор через отчёт по регистру или журнал документов
  2. 2
    Сделайте резервную копию базы или выгрузку данных
  3. 3
    Исправьте данные в документе и проведите его
  4. 4
    Проверьте движения документа по нужному регистру
  5. 5
    Сформируйте отчёт по регистру и сверьте остатки

Способ 2. Ручная корректировка движений документа

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

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

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

Способ 3. Документ «Корректировка регистров» («Операция»)

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

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

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

Сравнение способов

Перепроведение документа

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

Ручная корректировка движений

Подходит для точечной правки одного-двух движений. Ограничение: документ перестаёт формировать движения автоматически.

Корректировка регистров

Подходит, когда регистратор трогать нельзя. Ограничение: требуется вручную точно повторить аналитику, легко получить дубли в разрезах.

Программная правка

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

Способ 4. Программное изменение через встроенный язык

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

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

Набор.Отбор.Регистратор.Установить(ДокументСсылка);

Набор.Прочитать();

Для Каждого Запись Из Набор Цикл

Запись.Количество = Запись.Количество * Коэффициент;

КонецЦикла;

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

Метод «Записать()» по умолчанию замещает существующие движения регистратора. Если нужно добавить записи, не трогая существующие, используйте «Записать(Ложь)», но помните: добавление строк к чужому регистратору ломает логику перепроведения.

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

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

Проверка результата после изменения

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

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

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

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

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

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

Изменился ровно на планируемую величину

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

Появились лишние строки или сдвиги в других разрезах

Отрицательные остатки
Норма

Отсутствуют или соответствуют учётной политике

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

Появился минус по номенклатуре или складу

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

Соответствуют ожиданиям (ручные сохранились, авто пересчитались)

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

Ручные правки стёрлись или документ не проводится

Смежные регистры
Норма

Данные согласованы между собой

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

Расхождение между связанными регистрами

Типичные ошибки и ограничения

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

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

Наконец, категорически не рекомендуется править таблицы регистров напрямую в СУБД (SQL). Это нарушает целостность итогов, служебные поля и нумерацию, а поддержка такой базы усложняется. Все изменения выполняйте только средствами платформы.

Типичные ошибки
01
Правка движений без флага ручной корректировки — изменения стираются при первом же перепроведении
02
Сторно с неточной аналитикой — появляются зависшие остатки в других разрезах измерений
03
Игнорирование последовательностей — себестоимость и закрытие месяца считаются по устаревшим данным
04
Прямая правка таблиц в SQL — разрушаются итоги и служебные механизмы платформы
05
Работа без резервной копии — невозможно откатить ошибочную массовую правку

FAQ

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

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

Почему мои ручные правки движений исчезли?

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

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

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

Что делать, если период закрыт и документ нельзя менять?

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

Нужно ли пересчитывать итоги после изменения записей?

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

Как найти, какой документ создал конкретную запись регистра?

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

Итог

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

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