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

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

Как данные попадают в регистр накопления 1С

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

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

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

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

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

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

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

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

В типовых конфигурациях 1С практически все записи в регистры накопления создаются документами. У каждого документа в конфигураторе на вкладке «Движения» отмечено, по каким регистрам он делает записи. Например, «Поступление товаров и услуг» двигает регистры товаров, взаиморасчётов и НДС, а «Реализация» — списывает остатки и формирует выручку.

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

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

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

Альтернативные способы записи данных в регистр

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

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

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

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

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

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

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

Типичные ошибки и причины расхождений

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

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

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

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

Как проверить и восстановить корректность данных

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

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

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

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

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

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

Записи есть во всех ожидаемых регистрах, суммы совпадают с табличной частью

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

Регистр пуст, суммы отличаются или измерения заполнены неверно

Остатки на дату
Норма

Остатки неотрицательные и сходятся с первичными документами

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

Отрицательные остатки или остатки по закрытым позициям

Связь записи с регистратором
Норма

Из отчёта открывается конкретный документ-источник

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

Записи без понятного источника, появившиеся после переноса данных

Ограничения и безопасные границы самостоятельной работы

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

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

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

Итог

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

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

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

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

Технически — да, через документ «Корректировка регистров» («Операция») или программно. Но делать это стоит только для ввода начальных остатков или обоснованных корректировок. Для исправления ошибок правильнее скорректировать документ-источник и перепровести его.

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

Чаще всего документ просто не проведён или помечен на удаление. Также проверьте период отчёта, установленные отборы и то, по какому именно регистру строится отчёт — документ может двигать другой регистр.

Что происходит с записями регистра при отмене проведения?

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

Откуда берутся отрицательные остатки и как их убрать?

Минус возникает, когда расход проведён раньше прихода по времени или приход отсутствует. Найдите позиции с отрицательным остатком отчётом, проверьте даты и наличие приходных документов, затем восстановите правильную хронологию и перепроведите документы.

Опасно ли массовое перепроведение документов за период?

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

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

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