Где посмотреть записи регистра сведений: пять рабочих способов для 1С 8.3
Содержание
Быстрее всего открыть регистр сведений
в 1С 8.3 через Главное меню → Все функции → Регистры сведений: двойной щелчок по имени регистра — и перед вами список его записей. Если команды «Все функции» нет, включите её в Главное меню → Сервис → Параметры флажком «Отображать команду “Все функции”». Второй быстрый путь — вставить навигационную ссылку вида e1cib/list/РегистрСведений.КурсыВалют в окно «Перейти по ссылке» (Shift+F11).
Способ не зависит от конфигурации: он одинаково работает в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и любой другой базе на платформе 8.3. Различаются только имена самих регистров. Когда списка мало — нужен отбор по дате, срез на момент времени или выгрузка, — подключают универсальный отчёт, консоль запросов, а в клиент-серверной базе и SQL.
Открываем регистр сведений через «Все функции» и навигационную ссылку
Регистры сведений почти никогда не выведены в разделы командного интерфейса. Разработчики типовых конфигураций прячут их от пользователей, чтобы данные правили через документы и формы справочников. Поэтому в меню «Продажи» или «Справочники» нужный регистр вы не найдёте.
Включить команду «Все функции»
- Нажмите кнопку главного меню (три полоски в левом верхнем углу окна).
- Выберите
Сервис → Параметры. - Поставьте флажок «Отображать команду “Все функции”» и нажмите «Применить».
- Снова откройте главное меню — в нём появится пункт «Все функции».
В открывшемся дереве разверните ветку «Регистры сведений». Регистры показаны по синонимам, то есть по-русски и с пробелами: «Курсы валют», «Цены номенклатуры» и т. п. Для поиска по дереву просто начните набирать название.
Если флажок стоит, а команды нет, у пользователя нет права «Режим “Все функции”». Это решает администратор базы — подробности в разделе про права.
Открыть регистр по навигационной ссылке
Ссылка удобна, когда вы знаете имя регистра из метаданных или его прислал коллега:
e1cib/list/РегистрСведений.КурсыВалют
Откройте Главное меню → Перейти по ссылке или нажмите Shift+F11, вставьте строку и нажмите «Перейти». Обратите внимание: здесь нужно именно имя объекта метаданных (КурсыВалют), а не синоним («Курсы валют»).
Чтобы получить ссылку на уже открытый список, используйте команду «Получить ссылку» в меню формы (кнопка «Ещё» или значок ссылки в заголовке окна). Ссылку можно сохранить в «Избранное» — тогда регистр будет открываться в один клик.
Что видно в форме списка
| Колонка | Когда есть | Что означает |
|---|---|---|
| Период | у периодических регистров | дата, с которой действует значение |
| Регистратор | у регистров, подчинённых регистратору | документ, который сделал запись |
| Измерения | всегда | разрезы: валюта, номенклатура, организация |
| Ресурсы | всегда | сами значения: курс, цена, ставка |
| Реквизиты | если заданы | дополнительные сведения к записи |
В списке работают стандартные инструменты: строка поиска и отборы в меню «Ещё» для фильтрации, команда Ещё → Вывести список для выгрузки в табличный документ и дальше в Excel.
Если регистр подчинён регистратору, записи в нём только для чтения. Менять их нужно через документ, который их сформировал. Ручная правка в независимом регистре, например в курсах валют, сразу влияет на расчёты в базе.
Просмотр регистра сведений в Конфигураторе и в режиме отладки
Сам Конфигуратор данные не показывает. В нём видно только устройство регистра: в дереве Конфигурация → Регистры сведений двойной щелчок открывает его свойства — периодичность, режим записи, состав измерений, ресурсов и реквизитов. Отсюда же берут точное имя регистра для ссылки и запроса.
Как посмотреть данные из Конфигуратора
- Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Найдите регистр и посмотрите его имя в свойствах (поле «Имя»).
- Запустите пользовательский режим с отладкой:
Отладка → Начать отладку → 1С:ПредприятиеилиF5. - В запущенной базе откройте регистр через «Все функции» или навигационную ссылку.
Чтение значений в точке останова
Отладчик полезен, когда надо понять, какое значение регистр отдаёт коду в момент расчёта. Поставьте точку останова (F9) в модуле, где читается регистр, дождитесь остановки и откройте «Вычислить выражение» (Shift+F9). Для периодического регистра курсов можно вычислить:
РегистрыСведений.КурсыВалют.ПолучитьПоследнее(ТекущаяДатаСеанса(), Новый Структура("Валюта", Валюта))
Результат — структура с ресурсами регистра на указанную дату. Переменная Валюта должна быть доступна в контексте точки останова. Метод ПолучитьПоследнее работает только у периодических регистров.
Универсальный отчёт и обработки для просмотра записей регистра
Форма списка неудобна, когда записей десятки тысяч или нужен срез на дату. Здесь выручает универсальный отчёт, который есть во всех типовых конфигурациях на Библиотеке стандартных подсистем.
Настройка универсального отчёта
- Откройте его через
Все функции → Отчеты → Универсальный отчет. - В поле вида объекта выберите «Регистр сведений».
- Укажите сам регистр, например «Курсы валют».
- В поле таблицы выберите, что выводить: основные данные (все записи) или срез последних либо первых.
- Задайте период и отборы через «Настройки», затем нажмите «Сформировать».
Отчёт группирует данные, считает итоги по ресурсам и сохраняется в Excel. Для проверки «что действовало на 1 число месяца» это самый простой путь без кода.
Какие обработки ещё пригодятся
- 🔍 Консоль запросов — внешняя обработка
.epf, подробнее в следующем разделе. - 📤 Выгрузка и загрузка данных XML — переносит записи регистра между базами с одинаковой структурой.
- ✏️ Групповое изменение реквизитов — в части конфигураций умеет работать с регистрами; перед массовой правкой проверьте результат на копии.
Любую массовую правку регистра делайте только после резервной копии базы. Отменить групповое изменение кнопкой нельзя.
Консоль запросов: смотрим регистр сведений запросом
Консоль запросов — самый гибкий способ посмотреть регистр. Она показывает и физические записи, и виртуальные таблицы со срезами. Консоль запускают как внешнюю обработку
: Главное меню → Файл → Открыть, затем выбирают файл .epf. Для открытия внешних обработок у пользователя должно быть соответствующее право, а в базах с защитой от опасных действий платформа запросит подтверждение.
Все записи регистра
ВЫБРАТЬ ПЕРВЫЕ 1000
КурсыВалют.Период,
КурсыВалют.Валюта,
КурсыВалют.Курс,
КурсыВалют.Кратность
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют
УПОРЯДОЧИТЬ ПО
КурсыВалют.Период УБЫВ
ПЕРВЫЕ 1000 защищает от зависания на огромном регистре. Сначала посмотрите на выборку, потом снимайте ограничение.
Значения на дату: срез последних
ВЫБРАТЬ
Срез.Валюта,
Срез.Курс,
Срез.Кратность,
Срез.Период
ИЗ
РегистрСведений.КурсыВалют.СрезПоследних(&НаДату, Валюта.Код = "840") КАК Срез
Параметр &НаДату задайте в консоли. Условие внутри скобок виртуальной таблицы отбирает данные до построения среза — так запрос работает быстрее, чем с отбором в ГДЕ.
Подсказки по запросам
- 🧩 Имя таблицы набирайте через конструктор запроса — он сам подставит точные имена полей.
- 📅 Поле
Периодесть только у периодических регистров,Регистратор— только у подчинённых. - 🔐 Консоль соблюдает права и ограничения на уровне записей. Если запрос возвращает меньше строк, чем вы ждали, проверьте RLS у пользователя.
Таблицы регистра сведений в SQL: как найти и прочитать
В клиент-серверной базе каждый регистр сведений хранится в отдельной таблице СУБД с именем вида _InfoRg1234. Если у регистра включены итоги по срезам, рядом появляются служебные таблицы. В файловой базе SQL нет — все данные в одном файле 1Cv8.1CD, и смотреть их нужно средствами 1С.
Шаг 1. Узнать имя таблицы и полей
Соответствие имён возвращает функция ПолучитьСтруктуруХраненияБазыДанных. Выполните её на сервере, например в серверной процедуре внешней обработки:
Объекты = Новый Массив;
Объекты.Добавить(Метаданные.РегистрыСведений.КурсыВалют);
Структура = ПолучитьСтруктуруХраненияБазыДанных(Объекты, Истина);
Для Каждого Таблица Из Структура Цикл
Сообщить(Таблица.ИмяТаблицыХранения + " — " + Таблица.ИмяТаблицы + " (" + Таблица.Назначение + ")");
Для Каждого Поле Из Таблица.Поля Цикл
Сообщить(" " + Поле.ИмяПоляХранения + " = " + Поле.ИмяПоля);
КонецЦикла;
КонецЦикла;
Второй параметр Истина возвращает имена именно в СУБД: в MS SQL Server они начинаются с подчёркивания и с заглавной буквы, в PostgreSQL — в нижнем регистре.
Шаг 2. Выполнить запрос только на чтение
Для MS SQL Server:
SELECT TOP 100 *
FROM dbo._InfoRg1234
ORDER BY _Period DESC;
Для PostgreSQL:
SELECT *
FROM _inforg1234
ORDER BY _period DESC
LIMIT 100;
Номер таблицы 1234 подставьте из результата шага 1. Ссылочные поля хранятся в двоичном виде (поля с окончанием RRef), поэтому вместо наименования валюты вы увидите 16-байтовый идентификатор. Для расшифровки придётся соединять таблицу со справочником — проще сделать это консолью запросов в 1С.
Не меняйте данные 1С через SQL. Платформа не узнает о правке: кэш, итоги по срезам и связанные регистры разойдутся. Кроме того, лицензионное соглашение 1С ограничивает работу с базой в обход платформы — уточните его условия у администратора, прежде чем подключать к таблицам сторонние инструменты.
Права на регистр сведений: почему он не открывается
Регистр нет в «Всех функциях» или список открывается пустым — почти всегда дело в правах. Порядок проверки такой.
Сервис → Параметры. Если флажок есть, а команды нет — у пользователя нет права «Режим “Все функции”». Его даёт администратор через профиль группы доступа или роль.Где настраивают права
| Где | Что делать | Кто делает |
|---|---|---|
Администрирование → Настройки пользователей и прав | добавить пользователя в группу доступа с нужным профилем | администратор базы |
Конфигуратор, Общие → Роли | выставить флажки «Чтение», «Просмотр», «Изменение», «Редактирование» по регистру | разработчик |
| Свойства роли, вкладка ограничений | настроить ограничение на уровне записей | разработчик |
В типовых конфигурациях роли лучше не трогать: при обновлении правки придётся переносить. Безопаснее создать отдельную роль в расширении и добавить её в профиль группы доступа.
Пользователь с полными правами видит все регистры. Если администратору регистр виден, а бухгалтеру нет — разница именно в профиле группы доступа.
Периодичность и срезы: как правильно читать данные регистра
Одна и та же таблица в регистре может давать разные ответы на вопрос «какое значение сейчас». Всё решают два свойства: периодичность и режим записи.
Периодичность
| Значение | Что хранит | Пример |
|---|---|---|
| Непериодический | одно значение на набор измерений, без истории | настройки, соответствия |
| В пределах секунды, дня, месяца, квартала, года | историю значений по датам | курсы валют, цены |
| По позиции регистратора | историю с точностью до документа | данные, привязанные к движению |
Периодичность «В пределах месяца» означает: внутри месяца для одного набора измерений действует одна запись. Запись с периодом 15 числа платформа приведёт к первому числу месяца.
Срезы последних и первых
- 📌 Срез последних на дату — последнее значение по каждому набору измерений, введённое не позже этой даты. Отвечает на вопрос «какой курс действовал на 31 марта».
- 📌 Срез первых на дату — первое значение, введённое не раньше даты. Нужен реже, например чтобы найти ближайшее будущее изменение.
- 📌 Физическая таблица — вся история без отбора. Её показывает форма списка.
Частая ловушка: в форме списка вы видите три записи о цене товара и не понимаете, какая из них работает. Ответ даёт срез последних на нужную дату — в универсальном отчёте или консоли запросов. Для больших регистров разработчик может включить в свойствах «Разрешить итоги среза последних» и «…среза первых»: платформа будет хранить готовые срезы, и запросы к ним пойдут быстрее.
Режим записи
- Независимый — записи вводят вручную или кодом, в списке их можно править.
- Подчинение регистратору — записи делает документ при проведении. Чтобы понять, откуда взялось значение, откройте документ из колонки «Регистратор» и посмотрите его движения. В Бухгалтерии 3.0 для этого служит кнопка «ДтКт» в форме документа.
Частые вопросы
Чем регистр сведений отличается от регистра накопления?
Можно ли выгрузить регистр сведений в Excel?
Ещё → Вывести список, затем сохраните табличный документ в формате xlsx. Для больших регистров удобнее универсальный отчёт.Как узнать техническое имя регистра, если видно только синоним?
РегистрСведений.. Другой путь — свойства регистра в Конфигураторе.