Разработка и Конфигурация · 11 мин
Как найти регистры сведений в 1С 8.3
Как найти регистры сведений в 1С 8.3: поиск в конфигураторе, через меню «Все функции», запросом и по имени объекта. Пошаговые инструкции и типичные ошибки.
Регистры сведений — один из самых используемых видов объектов метаданных в 1С 8.3: в них хранятся цены, курсы валют, штрихкоды, адреса, настройки обмена и множество другой справочной информации. Однако найти нужный регистр бывает непросто: в типовых конфигурациях их сотни, а имена в конфигураторе и синонимы в пользовательском режиме часто не совпадают.
Поиск регистра сведений решается несколькими способами в зависимости от того, что известно: точное имя объекта, его синоним (название в интерфейсе), документ, который делает записи в регистр, или только смысл хранимых данных. Ниже разобраны все рабочие методы — от просмотра дерева конфигурации до поиска встроенным запросом.
Материал ориентирован на работу в конфигураторе и в пользовательском режиме «1С:Предприятие 8.3». Инструкции подходят для большинства типовых и самописных конфигураций, отличия возможны только в расположении пунктов меню конкретной конфигурации.
Где находятся регистры сведений в дереве конфигурации
Основное место, где перечислены все регистры сведений, — дерево конфигурации в конфигураторе. Чтобы его открыть, запустите конфигуратор, авторизуйтесь и выполните команду «Конфигурация» → «Открыть конфигурацию». Если конфигурация открыта впервые, потребуется подождать, пока загрузится структура метаданных.
В левой части окна конфигурации найдите ветку «Регистры сведений». Она расположена между «Регистрами накопления» и «Регистрами бухгалтерии». Развернув ветку, вы увидите полный список регистров сведений, существующих в конфигурации, в алфавитном порядке по имени объекта.
Двойной щелчок по регистру открывает палитру свойств, а правой кнопкой мыши доступно контекстное меню: оттуда можно открыть модуль менеджера, форму списка, перейти к подчиненным объектам и многое другое. Именно отсюда начинается любая работа с объектом — просмотр измерений, ресурсов и реквизитов регистра.
Как найти регистр по имени или синониму в конфигураторе
Если известно примерное название регистра, удобнее всего воспользоваться поиском по дереву конфигурации. Установите курсор в любой объект дерева и нажмите Ctrl+F либо выберите «Правка» → «Найти». Введите часть имени, например «Цены» или «Штрихкод», и система подсветит подходящие объекты.
Важный нюанс: поиск по дереву ищет по именам объектов, а не по синонимам. Регистр с именем «ЦеныНоменклатуры» может иметь синоним «Цены номенклатуры», и пользователь в режиме предприятия видит именно синоним. Если поиск по пользовательскому названию ничего не дал, попробуйте убрать пробелы и искать по ключевому слову.
Для поиска по синонимам и вообще по всем строкам конфигурации используйте глобальный поиск: «Правка» → «Глобальный поиск» (Ctrl+Shift+F). Включите поиск по всей конфигурации и введите текст синонима. В результатах будут показаны и объекты метаданных, и модули, где встречается искомая строка, — так можно найти регистр даже по фрагменту его представления в интерфейсе.
- 1Откройте конфигуратор и команду «Конфигурация» → «Открыть конфигурацию»
- 2Разверните ветку «Регистры сведений» в дереве метаданных
- 3Нажмите Ctrl+F и введите часть имени регистра
- 4Если имя неизвестно — используйте глобальный поиск Ctrl+Shift+F по синониму
- 5Откройте найденный объект и проверьте измерения и ресурсы — это ли нужные данные
Как открыть регистр сведений в режиме «1С:Предприятие»
В пользовательском режиме регистры сведений обычно не выведены напрямую в интерфейс — разработчики конфигурации сами решают, какие из них показывать в разделах. Универсальный способ добраться до любого регистра — стандартное меню «Все функции».
Чтобы открыть его, нажмите круглую кнопку меню в левом верхнем углу окна (или кнопку с тремя полосами в такси-интерфейсе) и выберите «Все функции». Если пункт отсутствует, включите его: «Сервис» → «Параметры» → установите флаг «Отображать команду Все функции». Для работы с этим меню нужны соответствующие права.
В открывшемся окне найдите раздел «Регистры сведений», разверните его и выберите нужный объект — откроется форма списка с записями регистра. Здесь можно просматривать, редактировать и добавлять записи, если регистр независимый и у пользователя есть права на изменение.
Как найти регистр по документу-регистратору
Частая задача: известен документ, который записывает данные, и нужно понять, в какие регистры сведений он пишет. Это самый надежный способ найти регистр, когда известен только бизнес-процесс, а не имя объекта.
В конфигураторе откройте документ в дереве конфигурации, перейдите на закладку «Движения» — там флажками отмечены все регистры, по которым документ проводится, включая регистры сведений. Кнопка «Конструктор движений» покажет, какие именно поля записываются в каждый регистр.
Обратный способ: откройте сам регистр сведений и посмотрите свойство «Режим записи». Если выбрано «Подчинение регистратору», то в свойстве или на закладке «Регистраторы» видно, какие документы могут формировать его записи. В пользовательском режиме движения конкретного документа видны через кнопку «Ещё» → «Движения документа» в форме документа (при наличии прав).
Как найти регистр сведений программно и через запрос
Разработчику нередко нужно найти регистры программно — например, получить список всех регистров сведений конфигурации или проверить существование объекта по имени. Для этого служит коллекция метаданных Метаданные.РегистрыСведений.
Пример обхода всех регистров сведений с выводом имени и синонима:
Для Каждого Регистр Из Метаданные.РегистрыСведений Цикл
Сообщить(Регистр.Имя + " — " + Регистр.Синоним);
КонецЦикла;
Проверка существования конкретного регистра по имени выполняется так: Метаданные.РегистрыСведений.Найти("ЦеныНоменклатуры") — метод вернет объект метаданных или Неопределено. Это полезно в универсальных обработках, работающих с разными конфигурациями.
Чтобы посмотреть данные регистра запросом, откройте консоль запросов (в типовых конфигурациях на БСП она есть в составе инструментов разработчика, либо используется внешняя обработка) и выполните запрос вида ВЫБРАТЬ * ИЗ РегистрСведений.ЦеныНоменклатуры. По результату сразу видно, те ли это данные, которые вы искали.
Регистр = Метаданные.РегистрыСведений.Найти("ЦеныНоменклатуры");
Если Регистр <> Неопределено Тогда
Сообщить("Регистр найден: " + Регистр.Синоним);
Иначе
Сообщить("Регистр с таким именем не существует");
КонецЕсли;Как понять, что найден именно тот регистр
Найти объект по имени — половина задачи: нужно убедиться, что в нем хранятся именно те данные. Откройте регистр в конфигураторе и изучите его структуру на закладке «Данные»: измерения задают разрезы хранения (например, «Номенклатура», «ТипЦен»), ресурсы — сами значения («Цена»), реквизиты — дополнительную аналитику.
Сопоставьте структуру с задачей: если вы ищете, где хранится цена товара, регистр должен иметь измерение с типом «СправочникСсылка.Номенклатура» и ресурс с типом «Число». Если измерений и ресурсов нет или их состав не соответствует ожиданиям — это другой регистр, продолжайте поиск.
Дополнительная проверка — фактические данные. Откройте форму списка регистра в режиме предприятия или выполните запрос и посмотрите несколько записей: по содержимому обычно сразу понятно, тот ли это объект. Также полезно посмотреть закладку «Права» и «Подсистемы», чтобы понять, где регистр используется в интерфейсе.
Как проверить результат
Измерения и ресурсы соответствуют искомым данным
Состав полей не связан с нужной информацией
В списке регистра есть осмысленные актуальные записи
Регистр пуст или данные устарели и не обновляются
Документы, формирующие записи, совпадают с бизнес-процессом
Записи создаются неизвестными объектами или только вручную
Типичные ошибки при поиске регистров сведений
Самая распространенная ошибка — путать регистры сведений с регистрами накопления. Оба вида находятся рядом в дереве конфигурации и часто имеют похожие имена. Признак различия: у регистра накопления всегда есть вид (остатки или обороты) и обязательный регистратор, а регистр сведений может быть независимым.
Вторая ошибка — искать по пользовательскому названию в поиске по именам. Синоним «Адресные сведения» может соответствовать регистру с именем «АдресныеСведенияДляОбмена» или подобным. Всегда проверяйте и свойство «Имя», и свойство «Синоним» объекта.
Третья типичная ситуация — регистр существует, но недоступен пользователю из-за прав. Если в меню «Все функции» регистра не видно, хотя в конфигураторе он есть, проверьте роли: у пользователя должно быть право «Просмотр» на объект. В файловой базе без разделения прав это встречается редко, а в клиент-серверных типовых базах — постоянно.
Часто задаваемые вопросы
Чем регистр сведений отличается от справочника при поиске данных?
Справочник хранит объекты с кодом и наименованием, а регистр сведений — значения в разрезе измерений без собственного представления записи. Если данные зависят от другого объекта (цена зависит от товара), они почти наверняка лежат в регистре сведений, а не в справочнике.
Почему в меню «Все функции» нет нужного регистра?
Чаще всего не хватает прав: проверьте роли пользователя в конфигураторе на закладке «Права» для этого объекта. Также убедитесь, что сама команда «Все функции» включена в параметрах, а регистр не скрыт настройками функциональных опций.
Как найти все регистры, в которые пишет конкретный документ?
Откройте документ в конфигураторе и перейдите на закладку «Движения» — там перечислены все регистры. Альтернатива без конфигуратора: откройте проведенный документ в режиме предприятия и вызовите «Ещё» → «Движения документа», затем переключайтесь между закладками регистров.
Можно ли найти регистр сведений, не открывая конфигуратор?
Да. Через «Все функции» доступен полный список регистров, а через движения документа видны регистры конкретного регистратора. Для массового поиска по именам и синонимам без конфигуратора подойдут внешние обработки типа «Структура метаданных», но их запуск требует прав и осторожности.
Как понять, периодический регистр сведений или нет?
Откройте объект в конфигураторе и посмотрите свойство «Периодичность»: значение «Непериодический» означает отсутствие привязки к дате, остальные варианты (в пределах секунды, дня, месяца и т.д.) — что у записей есть период. В форме списка периодического регистра присутствует колонка «Период».
Безопасно ли редактировать записи регистра вручную?
Для независимых регистров с простой структурой ручное редактирование допустимо, но обходит логику проверок программы. Регистры, подчиненные регистратору, править вручную нельзя — записи должны формироваться документами. Перед любыми изменениями делайте резервную копию базы.
Что важно запомнить
Все регистры сведений перечислены в ветке «Регистры сведений» дерева конфигурации, а в пользовательском режиме доступны через «Все функции». Ищите по имени через Ctrl+F, по синониму — через глобальный поиск, по процессу — через движения документа-регистратора. Перед ручным изменением записей проверьте режим записи регистра и сделайте резервную копию.