Разработка и Конфигурация · 11 мин
Как данные попадают в регистр накопления 1С
Разбираем, как данные попадают в регистр накопления 1С: роль документов, движения, виды регистров, типовые ошибки и способы проверки записей в базе.
Регистр накопления в 1С — это таблица, где хранятся количественные и суммовые показатели учёта: остатки товаров на складах, взаиморасчёты с контрагентами, денежные средства, себестоимость. Сам по себе регистр ничего не «считает» — записи в него попадают только в результате проведения документов или выполнения специального программного кода. Понимание этого механизма критично, когда отчёт показывает неверные остатки, а причину нужно найти быстро.
Ключевая связка выглядит так: документ при проведении формирует набор движений, каждое движение — это строка в регистре с указанием измерений (склад, номенклатура, организация), ресурсов (количество, сумма) и периода. Если документ не проведён, проведён с ошибкой или его движения очищены, регистр останется пустым, и отчёты не покажут данных, даже если сами документы в журнале видны.
Что такое регистр накопления и какие у него виды
Регистр накопления — объект конфигурации, предназначенный для хранения числовых показателей в разрезе заданных измерений. Структуру регистра определяет разработчик: измерения задают аналитические разрезы (склад, товар, контрагент), ресурсы — хранимые числа (количество, сумма), реквизиты — дополнительную информацию, не участвующую в агрегации.
Существует два вида регистров накопления, и от вида зависит, как интерпретировать данные. Регистр остатков хранит приходы и расходы, а система автоматически вычисляет остаток на любую дату — так устроены «Товары на складах» или «Взаиморасчёты». Регистр оборотов хранит только сами движения без понятия остатка — например, «Продажи» или «Выручка и себестоимость», где важен суммарный оборот за период.
Для регистра остатков каждое движение имеет вид: «Приход» или «Расход». Приход увеличивает остаток, расход уменьшает. Если документ списывает больше, чем есть на остатке, при включённом контроле остатков проведение будет отменено с ошибкой — это встроенный защитный механизм.
Основной путь: проведение документа
В типовых конфигурациях 1С практически все записи в регистры накопления создаются документами. У каждого документа в конфигураторе на вкладке «Движения» отмечено, по каким регистрам он делает записи. Например, «Поступление товаров и услуг» двигает регистры товаров, взаиморасчётов и НДС, а «Реализация» — списывает остатки и формирует выручку.
Логика формирования движений описана в модуле объекта документа, в процедуре «ОбработкаПроведения». Там программно заполняется коллекция «Движения»: для каждого регистра создаются записи, в них проставляются измерения и ресурсы на основе табличных частей и шапки документа. При нажатии кнопки «Провести» платформа выполняет этот код и сохраняет записи вместе с документом в одной транзакции.
Важный признак: если документ в журнале отображается без «проводки» (не проведён, помечен на удаление или просто сохранён), его записей в регистрах нет. Отчёт по регистру не увидит такой документ, даже если он полностью заполнен. Поэтому первый шаг диагностики «пропавших» остатков — проверить, проведён ли документ-источник.
- 1Откройте документ и убедитесь, что он проведён (кнопка «Провести» неактивна или статус отображает проведение).
- 2Откройте меню «Ещё» или нажмите кнопку отчёта «Движения документа» — появится список регистров с записями.
- 3Выберите нужный регистр и посмотрите строки: измерения, вид движения, количество и сумму.
- 4Сверьте записи с ожиданиями: если регистр пуст, проверьте настройки документа и текст процедуры проведения.
Альтернативные способы записи данных в регистр
Помимо проведения документов, существуют и другие механизмы. Программная запись через набор записей используется в обработках, регламентных заданиях и при обмене данными: код создаёт объект «НаборЗаписей», заполняет его и вызывает метод «Записать». Так работают, например, обработки закрытия месяца или загрузки начальных остатков.
Документ «Корректировка регистров» (в типовых — «Операция» или специализированные корректировки) позволяет вручную ввести записи в регистры без стандартной логики проведения. Это инструмент для исправления ошибок и ввода начальных данных, но пользоваться им нужно осознанно: ручная запись не связана с первичным документом, и при перепроведении учёта она может вступить в конфликт с автоматическими движениями.
Ещё один путь — обмен данными и конвертация. При миграции из другой системы или при синхронизации между базами записи регистров могут переноситься напрямую. В этом случае важно, чтобы переносились и сами документы-регистраторы, иначе в базе появятся «висячие» записи без источника, которые сложно объяснить и исправить.
Роль регистратора и связь записи с документом
Каждая запись регистра накопления обязательно содержит ссылку на регистратор — документ, который её создал. Это фундаментальное свойство платформы: запись без регистратора существовать не может. Благодаря этому из любого отчёта по регистру можно «провалиться» до конкретного документа и увидеть источник цифры.
При отмене проведения документа платформа автоматически удаляет все его движения из регистров. При перепроведении — сначала очищает старые записи, затем записывает новые. Поэтому массовое перепроведение документов за период — штатный способ исправить движения, если логика проведения менялась или были сбои.
Отсюда практическое следствие: если в отчёте по регистру видна строка с непонятной суммой, откройте регистратор этой строки. В подавляющем большинстве случаев причина ошибки — в данных самого документа: неверном складе, дате, количестве или настройках операции.
Типичные ошибки и причины расхождений
Самая частая жалоба — «отчёт не показывает данные, хотя документ есть». Причины почти всегда одни и те же: документ не проведён, дата документа не попадает в период отчёта, в отчёте установлен отбор, отсекающий записи, либо документ проводится по другому регистру (например, товар учитывается в регистре «Товары на складах», а пользователь смотрит «Товары в рознице»).
Обратная ситуация — отрицательные остатки. Они возникают, когда расходный документ проведён раньше приходного по времени, либо приход вообще не введён. В типовых конфигурациях контроль остатков может быть отключён административно, тогда минус накапливается незаметно. Проверить это можно отчётом по остаткам с детализацией до регистратора.
Ещё одна группа проблем — доработки конфигурации. Если в «ОбработкуПроведения» внесены изменения, движения могут формироваться не по всем строкам, с неверными измерениями или вообще очищаться. После любого обновления доработанной конфигурации стоит проверить движения ключевых документов на тестовой копии.
Как проверить и восстановить корректность данных
Базовая проверка строится на связке «отчёт — регистратор — документ». Сформируйте отчёт по регистру с группировкой по регистраторам, найдите подозрительную строку, откройте документ и сверьте его табличные части с движениями. Если движения не соответствуют данным документа — перепроведите его; если после перепроведения ничего не изменилось, проблема в коде проведения или в доработках.
Для массовых проблем используйте групповое перепроведение документов за период (обработка «Проведение документов» в разделе администрирования). Перед запуском обязательно сделайте резервную копию: перепроведение изменяет движения и может выявить старые ошибки контроля остатков, из-за которых часть документов не проведётся.
Дополнительно полезен отчёт «Анализ остатков» или универсальный отчёт по регистру с отбором по регистратору — он показывает, есть ли у документа движения вообще. Если документ проведён, а записей нет, значит, регистр не входит в список движений этого вида документов или проведение завершается с исключением до записи.
Как проверить результат
Записи есть во всех ожидаемых регистрах, суммы совпадают с табличной частью
Регистр пуст, суммы отличаются или измерения заполнены неверно
Остатки неотрицательные и сходятся с первичными документами
Отрицательные остатки или остатки по закрытым позициям
Из отчёта открывается конкретный документ-источник
Записи без понятного источника, появившиеся после переноса данных
Ограничения и безопасные границы самостоятельной работы
Пользователь без прав разработчика может безопасно: проверять движения документов, перепроводить документы, вводить корректировочные документы штатными средствами и анализировать отчёты. Этого достаточно для диагностики большинства расхождений.
К задачам, которые лучше поручить специалисту по 1С, относятся: изменение процедур проведения, программная запись наборов записей, исправление движений через консоль кода и восстановление последовательностей после сбоев. Ошибка в коде проведения затрагивает все документы вида, а не один, и откатить её на рабочей базе без копии крайне сложно.
Любые массовые операции — перепроведение, корректировка регистров, загрузка данных — выполняйте сначала на копии базы. Это единственный способ убедиться, что результат соответствует ожиданиям, не рискуя рабочими данными.
Что важно запомнить
Записи в регистр накопления создаёт проведение документов (или программная запись), каждая запись привязана к регистратору. Диагностику всегда начинайте с движений конкретного документа, исправляйте источник, а не сам регистр, а массовые операции проводите на копии базы.
Частые вопросы
Можно ли вручную добавить запись в регистр накопления?
Технически — да, через документ «Корректировка регистров» («Операция») или программно. Но делать это стоит только для ввода начальных остатков или обоснованных корректировок. Для исправления ошибок правильнее скорректировать документ-источник и перепровести его.
Почему документ заполнен, а в отчёте по регистру его нет?
Чаще всего документ просто не проведён или помечен на удаление. Также проверьте период отчёта, установленные отборы и то, по какому именно регистру строится отчёт — документ может двигать другой регистр.
Что происходит с записями регистра при отмене проведения?
Платформа полностью удаляет все движения документа из регистров. При повторном проведении записи создаются заново по текущим данным документа, поэтому перепроведение — штатный способ обновить движения.
Откуда берутся отрицательные остатки и как их убрать?
Минус возникает, когда расход проведён раньше прихода по времени или приход отсутствует. Найдите позиции с отрицательным остатком отчётом, проверьте даты и наличие приходных документов, затем восстановите правильную хронологию и перепроведите документы.
Опасно ли массовое перепроведение документов за период?
Сама операция штатная, но она изменяет движения всех документов и может выявить старые ошибки контроля остатков — часть документов не проведётся. Перед запуском сделайте резервную копию и сначала выполните перепроведение на копии базы.
Как понять, какой код формирует движения документа?
Откройте конфигуратор, найдите вид документа и посмотрите процедуру «ОбработкаПроведения» в модуле объекта — там заполняется коллекция «Движения». Вкладка «Движения» в свойствах документа показывает, по каким регистрам он может проводиться.