Разработка и Конфигурация · 10 мин
Где находятся регистры накопления в 1С
Где искать регистры накопления в 1С: в дереве конфигуратора, в пользовательском режиме, в структуре базы данных и в запросах. Практические инструкции и частые ошибки.
Регистры накопления — один из ключевых видов объектов метаданных 1С:Предприятие. В них хранятся остатки и обороты: складские запасы, денежные средства, взаиморасчёты, объёмы продаж. Вопрос «где они находятся» возникает в трёх разных ситуациях: когда разработчик ищет объект в дереве конфигурации, когда пользователь ищет данные регистра в режиме «Предприятие» и когда администратору или интегратору нужно понять, в каких физических таблицах базы лежат движения.
Короткий ответ зависит от контекста. В конфигураторе регистры накопления расположены в дереве метаданных в ветке «Регистры накопления» — между «Регистрами сведений» и «Регистрами расчёта». В пользовательском режиме данные регистров обычно доступны через отчёты и универсальные механизмы просмотра. На уровне СУБД каждому регистру соответствуют таблицы движений и итогов с автоматически сгенерированными именами.
Ниже разобраны все три уровня: дерево конфигурации, интерфейс пользователя и физическое хранение, а также способы быстро найти нужный регистр и проверить его содержимое.
Где регистры накопления находятся в конфигураторе
Откройте конфигуратор и перейдите в дерево конфигурации (меню «Конфигурация» → «Открыть конфигурацию» или «Конфигурация базы данных»). В дереве метаданных ветка «Регистры накопления» расположена в общем списке объектов после «Регистров сведений» и перед «Регистрами расчёта». Раскрыв ветку, вы увидите все регистры накопления, определённые в данной конфигурации: например, «ТоварыНаСкладах», «ВзаиморасчетыСКонтрагентами», «Продажи».
Двойной клик по регистру открывает окно редактирования объекта, где на закладках «Данные» и «Подсистемы» видны его измерения, ресурсы, реквизиты и принадлежность к подсистемам. Здесь же на закладке «Регистраторы» указано, какие документы формируют движения по этому регистру.
Как быстро найти нужный регистр в большой конфигурации
В типовых конфигурациях (ERP, УТ, Бухгалтерия) регистров накопления десятки, и листать дерево вручную неудобно. Используйте строку поиска в верхней части окна конфигурации: введите часть имени, например «товары», и дерево отфильтруется по совпадениям. Альтернатива — глобальный поиск по метаданным (Ctrl+Shift+F) с ограничением по типу объекта.
Ещё один рабочий приём — поиск от документа. Если известно, какой документ делает движения (например, «Реализация товаров и услуг»), откройте его в конфигураторе, перейдите на закладку «Движения» — там перечислены все регистры, по которым документ формирует записи, включая регистры накопления. Двойной клик по строке перенесёт вас к объекту регистра.
- 1Откройте конфигуратор и дерево конфигурации (Конфигурация → Открыть конфигурацию)
- 2Раскройте ветку «Регистры накопления» или используйте поиск по имени в верхней строке дерева
- 3Двойным кликом откройте регистр и изучите измерения, ресурсы и регистраторы
- 4Если ищете от документа — откройте документ, закладку «Движения» и перейдите к нужному регистру
Где посмотреть данные регистров в режиме «Предприятие»
Обычный пользователь видит данные регистров накопления опосредованно — через отчёты. Отчёты «Остатки товаров на складах», «Ведомость по взаиморасчётам», «Анализ продаж» строятся на виртуальных таблицах остатков и оборотов соответствующих регистров. Поэтому первый способ найти данные — определить, какой отчёт работает с нужным регистром.
Прямой просмотр возможен через команду «Все функции» (в тонком клиенте: меню в левом верхнем углу → «Все функции»; если пункта нет, включите его через «Сервис» → «Параметры» → флаг «Отображать команду Все функции»). В открывшемся окне есть ветка «Регистры накопления» — выбор регистра откроет таблицу его записей (движений) с возможностью отбора.
Третий способ — движения конкретного документа. В форме проведённого документа нажмите «Ещё» → «Движения документа» (или соответствующую кнопку на панели): откроется список регистров, по которым документ сделал записи, с возможностью просмотреть каждый набор движений.
Где регистры накопления хранятся в базе данных
На уровне СУБД (MS SQL Server, PostgreSQL, файловая база) платформа 1С создаёт для каждого регистра накопления набор физических таблиц с техническими именами. Для регистра с внутренним номером N это, как правило: таблица движений _AccumRGN, таблица итогов _AccumRgTotalsN, а также служебные таблицы настроек итогов. Точный состав зависит от версии платформы и настроек регистра.
Соответствие между именем метаданных и физической таблицей можно получить штатной функцией встроенного языка ПолучитьСтруктуруХраненияБазыДанных(). Она возвращает таблицу, где для каждого объекта указаны имена таблиц СУБД и их назначение — это безопасный способ узнать структуру без обращения к системным представлениям самой СУБД.
СтруктураБД = ПолучитьСтруктуруХраненияБазыДанных();
Для Каждого Строка Из СтруктураБД Цикл
Если СтрНайти(Строка.Метаданные, "РегистрНакопления") > 0 Тогда
Сообщить(Строка.Метаданные + " -> " + Строка.ИмяТаблицыХранения);
КонецЕсли;
КонецЦикла;Виртуальные таблицы: где брать остатки и обороты в запросах
При написании запросов и отчётов к регистрам накопления обращаются не только к таблице движений, но и к виртуальным таблицам, которые платформа строит автоматически. Для регистров остатков это Остатки и ОстаткиИОбороты, для регистров оборотов — Обороты. Например: РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &Склад).
Виртуальные таблицы физически не существуют как отдельные объекты — запрос к ним транслируется платформой в обращение к таблице итогов с учётом границы актуальности итогов. Поэтому важно понимать: если итоги регистра не рассчитаны на нужный период, запрос к остаткам будет выполняться медленно или вернёт устаревшие данные.
Способы получить данные регистра
Подходит для анализа отдельных записей по документам; не даёт остатков напрямую
Быстрый доступ к текущим остаткам; зависит от актуальности рассчитанных итогов
Даёт приход, расход и остатки за период; тяжелее по ресурсам при больших объёмах
Только для чтения во внешних интеграциях; имена таблиц могут меняться при реструктуризации
Как проверить итоги и найти регистр с проблемой
Признак того, что с регистром накопления что-то не так: отчёт по остаткам «тормозит», остатки не сходятся с оборотами, проведение документов замедляется. Первым делом проверьте состояние итогов: в конфигураторе меню «Администрирование» → «Тестирование и исправление» позволяет пересчитать итоги, а в режиме «Предприятие» в типовых конфигурациях есть обработка «Управление итогами» или аналогичный механизм в разделе администрирования.
Для диагностики конкретного регистра полезно сопоставить его метаданные с физическими таблицами через ПолучитьСтруктуруХраненияБазыДанных() и проверить объём таблицы движений. Регистры с миллионами записей без регулярного свёртывания — типичный источник проблем с производительностью.
Как проверить состояние регистра
Отчёт формируется за приемлемое время
Отчёт висит — проверьте актуальность итогов и объём таблицы
Остаток сходится с суммой приходов минус расходы
Расхождение — нужен пересчёт итогов и проверка ручных правок
Итоги рассчитаны на актуальный период
Итоги отключены или отстают на месяцы
Частые ошибки при поиске и работе с регистрами
Самая распространённая путаница — смешение регистров накопления и регистров сведений. Если в дереве конфигурации объект не находится в ветке «Регистры накопления», проверьте ветку «Регистры сведений»: многие данные, которые кажутся «остатками» (цены, курсы валют, штрихкоды), хранятся именно там.
Вторая типичная ошибка — поиск «остатков» в таблице движений. Таблица движений содержит только записи документов; остатки вычисляются через итоги и виртуальные таблицы. Третья ошибка — обращение к физическим таблицам по жёстко прописанным именам в интеграциях: после изменения структуры регистра платформа может пересоздать таблицы с другими номерами, и интеграция сломается.
FAQ
Чем регистр накопления отличается от регистра сведений и где какой искать?
Регистр накопления хранит числовые показатели (остатки и обороты), записи в него делают документы при проведении. Регистр сведений хранит произвольную информацию в разрезе измерений (цены, курсы, настройки) и может заполняться вручную. В дереве конфигурации это соседние ветки: «Регистры сведений» и «Регистры накопления».
Почему в меню «Все функции» нет ветки регистров накопления?
Чаще всего сама команда «Все функции» отключена: включите её через «Сервис» → «Параметры» → «Отображать команду Все функции». Также доступ к отдельным регистрам может быть ограничен правами роли пользователя — тогда объект не отобразится в списке.
Можно ли узнать имя физической таблицы регистра без программирования?
Да, но удобнее всего через встроенный язык: функция ПолучитьСтруктуруХраненияБазыДанных() возвращает соответствие метаданных и таблиц СУБД. Без неё придётся анализировать системные таблицы самой СУБД, что сложнее и менее надёжно.
Что делать, если отчёт по регистру работает очень медленно?
Проверьте, рассчитаны ли итоги регистра на актуальный период, оцените объём таблицы движений и убедитесь, что в запросе заданы отборы по измерениям. При очень больших объёмах рассмотрите свёртку старых периодов и пересчёт итогов.
Безопасно ли читать данные регистров напрямую SQL-запросами?
Чтение (SELECT) по физическим таблицам относительно безопасно и часто применяется в интеграциях, но имена таблиц могут измениться при реструктуризации, а структура полей не документирована. Запись напрямую в СУБД недопустима — она нарушает целостность учёта.
Что важно запомнить
Регистры накопления находятся в дереве конфигурации в ветке «Регистры накопления», их данные в режиме «Предприятие» доступны через отчёты, «Все функции» и движения документов, а в базе данных им соответствуют таблицы движений и итогов. Для работы с остатками используйте виртуальные таблицы, а любые изменения выполняйте только штатными средствами платформы.