Как найти нужный регистр в 1С 8.3 и посмотреть, что в нём лежит
Содержание
Регистры в 1С 8.3 лежат в двух местах. В конфигураторе — в дереве метаданных, ветки Регистры сведений, Регистры накопления, Регистры бухгалтерии и Регистры расчета. В пользовательском режиме — в окне Главное меню → Все функции, в ветках с теми же названиями. Команду «Все функции» сначала включают: Главное меню → Сервис → Параметры, флажок «Отображать команду “Все функции”».
Это общий механизм платформы, он одинаков в БП 3.0, ЗУП 3.1, УТ 11 и других типовых. Различаются только сами регистры: в каждой конфигурации свой набор. Найти нужный можно по имени, по документу, который его заполняет, или по отчёту, который из него читает. Данные смотрят списком, отчётом или запросом, ничего не меняя в базе.
Где регистры в конфигураторе: дерево метаданных
Откройте базу в режиме Конфигуратор, затем Конфигурация → Открыть конфигурацию. Слева появится дерево. Регистры собраны в четыре ветки, по одной на каждый вид:
- 📘
Регистры сведений— справочная информация с измерениями: курсы, цены, настройки, сведения о сотрудниках; - 📦
Регистры накопления— количественный и суммовой учёт: остатки товаров, взаиморасчёты, резервы; - 📒
Регистры бухгалтерии— проводки по плану счетов (в БП 3.0 это один регистрХозрасчетный); - 💰
Регистры расчета— начисления и удержания по плану видов расчёта, характерны для зарплатных конфигураций.
Как быстро найти регистр по имени
В типовой конфигурации регистров сотни, листать их долго. Два приёма:
- Встаньте на ветку
Регистры накопления, разверните её и начните набирать имя с клавиатуры. Курсор перейдёт к первому совпадению. - Если знаете только часть имени, используйте глобальный поиск
Правка → Глобальный поиск(Ctrl+Shift+F). Он ищет и по именам объектов, и по тексту модулей.
Имя в дереве — это имя метаданного, без пробелов: ТоварыНаСкладах, КурсыВалют. Синоним, который видит пользователь, может быть другим. В свойствах регистра (Alt+Enter) видно оба значения.
Что смотреть в свойствах регистра
Двойной щелчок по регистру открывает окно редактирования. Три вкладки дают почти всё, что нужно для анализа:
| Вкладка | Что на ней | Зачем смотреть |
|---|---|---|
Данные | Измерения, ресурсы, реквизиты | Понять, в каких разрезах хранятся данные |
Регистраторы | Список документов, которые пишут в регистр | Найти источник движений |
Основные | Вид регистра (остатки/обороты), периодичность, режим записи | Понять, какие виртуальные таблицы доступны |
Для обратной задачи — какие регистры двигает документ — откройте документ и перейдите на вкладку Движения. Там отмечены все регистры, в которые он пишет при проведении.
Ещё один инструмент — команда контекстного меню Найти ссылки на объект. Встаньте на регистр, вызовите её, и конфигуратор покажет отчёты, обработки, роли и модули, где регистр упоминается. Так вы найдёте, из какого регистра строится нужный отчёт.
Как открыть регистр в режиме 1С:Предприятие
Не у всех есть доступ к конфигуратору. В пользовательском режиме регистр открывают так:
- Включите «Все функции»:
Главное меню(кнопка с тремя полосками в левом верхнем углу)→ Сервис → Параметры, флажок «Отображать команду “Все функции”», кнопкаПрименить. - Откройте
Главное меню → Все функции. - Разверните нужную ветку, например
Регистры накопления. - Дважды щёлкните регистр. Откроется список его записей.
В списке видны период, регистратор, измерения и ресурсы. Строка поиска над списком и команды отбора в меню Ещё помогают оставить только нужный склад или номенклатуру.
Если регистра нет в «Всех функциях», скорее всего, у пользователя нет прав на его чтение. Ветка показывает только объекты, доступные по ролям. Решает администратор базы через профили групп доступа.
Переход по навигационной ссылке
Если имя регистра известно, «Все функции» можно не открывать. Нажмите Shift+F11 («Перейти по ссылке») и вставьте ссылку вида:
e1cib/list/РегистрНакопления.ТоварыНаСкладах
e1cib/list/РегистрСведений.КурсыВалют
e1cib/list/РегистрБухгалтерии.Хозрасчетный
Откроется список записей. Приём удобен, когда коллега просит «посмотри регистр такой-то» и присылает имя из конфигуратора.
Движения конкретного документа
Чтобы увидеть, что документ записал в регистры, не нужно искать каждый регистр по отдельности:
- 📄 в БП 3.0 — кнопка
ДтКтв форме проведённого документа открывает отчёт о движениях: проводки поХозрасчетныйи записи остальных регистров по вкладкам; - 🧭 в УТ 11, ЗУП 3.1 и других — панель навигации
формы документа: там перечислены регистры, по которым есть движения. Если панель скрыта, её включают через
Ещё → Изменить форму.
Список записей регистра, открытый из документа, уже отфильтрован по этому регистратору.
Универсальный отчёт
Если нужны итоги, а не сырые записи, используйте «Универсальный отчёт» из типовых конфигураций на БСП. В БП 3.0 он в разделе Отчеты. В шапке выберите тип объекта (регистр накопления, сведений или бухгалтерии), затем сам регистр и таблицу: остатки, обороты или остатки и обороты. Отчёт строится через СКД, его можно группировать и отбирать как обычный.
Виды регистров 1С 8.3 и их назначение
Вид регистра определяет, какие данные в нём лежат и как их читать. Сводная таблица:
| Вид | Что хранит | Связь с документами | Виртуальные таблицы | Пример |
|---|---|---|---|---|
| Регистр сведений | Значения в разрезе измерений, с периодом или без | Может быть независимым или подчинённым регистратору | СрезПоследних, СрезПервых (только у периодических) | КурсыВалют |
| Регистр накопления, вид «Остатки» | Приход и расход ресурсов | Только подчинён регистратору | Остатки, Обороты, ОстаткиИОбороты | ТоварыНаСкладах (УТ 11) |
| Регистр накопления, вид «Обороты» | Только движения, без остатков | Только подчинён регистратору | Обороты | регистры продаж |
| Регистр бухгалтерии | Проводки Дт/Кт по плану счетов, субконто | Только подчинён регистратору | Остатки, Обороты, ОборотыДтКт, ОстаткиИОбороты, ДвиженияССубконто | Хозрасчетный (БП 3.0) |
| Регистр расчета | Начисления и удержания с периодом действия | Только подчинён регистратору | ДанныеГрафика, ФактическийПериодДействия, базовые данные | зарплатные регистры ЗУП |
Две вещи, которые часто путают:
- 🔹 Независимый регистр сведений можно править вручную прямо в списке: добавить, изменить, удалить запись. Подчинённый регистратору — нельзя, записи меняются только перепроведением документа.
- 🔹 В БП 3.0 у ряда документов есть флажок «Ручная корректировка» в отчёте движений. Он позволяет поправить проводки руками, но после этого документ при перепроведении их не перезапишет, пока флажок не снят.
Анализ данных регистров через консоль запросов
Консоль запросов — внешняя обработка, её берут с диска ИТС или у разработчика, который сопровождает базу. Открывают через Главное меню → Файл → Открыть. Для этого у пользователя должно быть право на интерактивное открытие внешних обработок.
Консоль только читает данные, но тяжёлый запрос без отбора по периоду нагружает сервер и тормозит работу всех пользователей. Запускайте большие выборки вне рабочего времени или на копии базы.
Остатки регистра накопления на дату
ВЫБРАТЬ
Остатки.Номенклатура,
Остатки.Склад,
Остатки.ВНаличииОстаток КАК Количество
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, ) КАК Остатки
ГДЕ
Остатки.ВНаличииОстаток <> 0
Имена ресурсов (ВНаличии) и измерений возьмите из вкладки Данные вашего регистра: в разных релизах они отличаются. Конструктор запроса в консоли показывает все поля, его можно открыть правой кнопкой по тексту.
Срез последних по регистру сведений
ВЫБРАТЬ
Курсы.Валюта,
Курсы.Курс,
Курсы.Кратность
ИЗ
РегистрСведений.КурсыВалют.СрезПоследних(&НаДату, ) КАК Курсы
Сальдо по счёту из регистра бухгалтерии
ВЫБРАТЬ
Остатки.Счет,
Остатки.СуммаОстатокДт,
Остатки.СуммаОстатокКт
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&НаДату, Счет = &Счет, , ) КАК Остатки
Параметр &Счет задайте ссылкой на счёт плана Хозрасчетный. Условия лучше писать внутри скобок виртуальной таблицы, а не в ГДЕ: так платформа отбирает данные до расчёта итогов, и запрос идёт быстрее.
Почему остаток в консоли не совпадает с отчётом
Частая причина — граница периода. Остатки(&НаДату) с датой 31.03 00:00:00 вернёт остаток на начало 31 марта, без движений этого дня. Отчёт же обычно считает на конец дня. Передайте в параметр конец дня или объект Граница с видом Включая:
Запрос.УстановитьПараметр("НаДату", Новый Граница(КонецДня(Дата), ВидГраницы.Включая));
Журнал регистрации и служебные режимы: как найти, кто менял регистр
Когда вопрос не «что лежит в регистре», а «откуда это взялось», помогает журнал регистрации. В БП 3.0 и других конфигурациях на БСП он открывается из Администрирование → Обслуживание → Журнал регистрации, в конфигураторе — Администрирование → Журнал регистрации.
Порядок действий:
- Откройте журнал и нажмите кнопку установки отбора.
- В поле «Метаданные» выберите нужный регистр. Для подчинённых регистров имеет смысл выбрать и документы-регистраторы.
- Укажите интервал дат и, при необходимости, пользователя.
- Посмотрите события группы «Данные»: запись, изменение, удаление, проведение.
У события в колонке «Данные» указан документ или набор записей. Двойной щелчок открывает подробности, оттуда можно перейти к самому объекту.
Журнал хранит только то, что разрешено уровнем регистрации. Если в Администрирование → Настройка журнала регистрации (конфигуратор) стоит уровень «Ошибки», изменений данных там не будет.
Управление итогами
Регистры накопления и бухгалтерии хранят готовые итоги, чтобы отчёты строились быстро. Сервисный режим для них — Все функции → Стандартные → Управление итогами. Там видно, по каким регистрам итоги включены и до какого периода они рассчитаны. Здесь же итоги пересчитывают, если отчёт по регистру явно врёт после сбоя.
Альтернатива в конфигураторе — Администрирование → Тестирование и исправление, флажок «Пересчёт итогов». Этот режим требует монопольного доступа: все пользователи должны выйти из базы. Перед запуском сделайте резервную копию.
Справка по конфигурации
Описание назначения регистров есть в справке самой конфигурации: кнопка F1 на форме списка регистра открывает статью о нём, если разработчик её заполнил. В типовых конфигурациях это работает для большинства регистров, к которым есть доступ пользователю.
Регистры в клиент-серверной базе: таблицы SQL и производительность
В клиент-серверном варианте каждый регистр хранится в нескольких таблицах СУБД. Имена у них служебные, по ним не понять, что это за регистр:
| Префикс таблицы | Что в ней |
|---|---|
_InfoRg | Записи регистра сведений |
_InfoRgSL, _InfoRgSF | Срез последних и срез первых (если включено хранение) |
_AccumRg | Движения регистра накопления |
_AccumRgT | Итоги регистра накопления |
_AccRg | Проводки регистра бухгалтерии (итоги и субконто — в соседних таблицах с тем же префиксом) |
_CRg | Записи регистра расчёта |
Номер после префикса (например, _AccumRg1234) у каждой базы свой. Соответствие имён метаданных и таблиц возвращает функция ПолучитьСтруктуруХраненияБазыДанных(). Её вызывают в серверной процедуре внешней обработки:
&НаСервере
Процедура ПоказатьТаблицыРегистровНаСервере()
Структура = ПолучитьСтруктуруХраненияБазыДанных(, Истина);
Для Каждого Строка Из Структура Цикл
Если СтрНачинаетсяС(Строка.Метаданные, "РегистрНакопления.") Тогда
Сообщить(Строка.Метаданные + " | " + Строка.Назначение + " | " + Строка.ИмяТаблицыХранения);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Второй параметр Истина возвращает имена в терминах СУБД. Без него вы получите внутренние имена 1С. Чтобы смотреть регистры сведений, поменяйте префикс в условии на РегистрСведений..
Не пишите в таблицы регистров напрямую через SQL. Платформа не узнает об изменении, итоги разойдутся с движениями, кэш и блокировки перестанут соответствовать данным. Чтение через SQL допустимо для диагностики, правка — только средствами 1С.
На что ещё влияет серверный вариант
- ⏱ Запись в регистр идёт под управляемыми блокировками. Если два документа одновременно пишут в один регистр по одинаковым измерениям, второй ждёт. Ошибка «Конфликт блокировок» почти всегда про регистр накопления.
- 🧩 Для регистров накопления и бухгалтерии в свойствах есть флажок «Разрешить разделение итогов». Он уменьшает ожидания при параллельной записи, но немного замедляет чтение итогов.
- 📊 Тяжёлые запросы из консоли выполняются на рабочем процессе сервера. Долгий запрос по
Хозрасчетныйза несколько лет занимает память рабочего процесса, это видно в консоли кластера. - 🛠 Пересчёт итогов на большой базе может идти часами. В файловом варианте он заметно медленнее, поэтому на крупных базах его запускают на копии в окно обслуживания.