К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как вывести регистр накопления в интерфейс 1С 8.3

Как вывести регистр накопления в интерфейс 1С 8.3: настройка подсистем, командного интерфейса, видимости для ролей и вывод движений в форме документа.

Регистр накопления в 1С 8.3 по умолчанию не появляется в пользовательском интерфейсе сам по себе: после создания объекта в конфигураторе его нужно включить в подсистему, настроить командный интерфейс и проверить права доступа. Частая ситуация — разработчик добавил регистр, провёл по нему документы, а в режиме предприятия найти список записей не получается. Причина почти всегда в настройках интерфейса, а не в самом регистре.

В этой инструкции разобраны все рабочие способы вывести регистр накопления пользователю: через подсистемы и командный интерфейс, через стандартную функцию «Все функции», через движения документа и программно. Отдельно рассмотрены ограничения по правам, типичные ошибки и проверка результата.

Где искать регистр: подсистемы и командный интерфейс

Основной механизм отображения объектов в интерфейсе управляемого приложения — подсистемы. Каждая подсистема формирует раздел командного интерфейса (панель разделов), а внутри неё команды открытия списков документов, справочников и регистров. Если регистр накопления не включён ни в одну подсистему, он не появится ни в одном разделе прикладного решения.

Откройте конфигуратор, найдите в дереве конфигурации ветку «Регистры накопления», выделите нужный регистр и вызовите контекстное меню — пункт «Подсистемы» (или откройте палитру свойств). Отметьте флажками подсистемы, в которых регистр должен быть виден. После обновления конфигурации базы данных команда открытия списка регистра появится в соответствующем разделе.

Если команда появилась, но находится не на своём месте, откройте командный интерфейс подсистемы: правой кнопкой по подсистеме — «Командный интерфейс». Там можно переместить команду открытия регистра между группами «Важное», «Обычное», «См. также», изменить представление команды и её видимость. Регистры накопления логично размещать в группе «См. также» — они редко нужны пользователю как самостоятельный рабочий инструмент.

Порядок вывода регистра в интерфейс
  1. 1
    Откройте конфигуратор и найдите регистр в ветке «Регистры накопления»
  2. 2
    В свойствах регистра включите его в нужную подсистему
  3. 3
    Откройте командный интерфейс подсистемы и настройте видимость и расположение команды
  4. 4
    Проверьте, что у роли пользователя есть право «Просмотр» на регистр
  5. 5
    Обновите конфигурацию базы данных (F7) и перезапустите сеанс пользователя
  6. 6
    Проверьте появление команды в разделе подсистемы

Быстрый способ без конфигуратора: «Все функции»

Если нужно просто посмотреть записи регистра и нет возможности менять конфигурацию, используйте стандартную команду «Все функции». В типовых конфигурациях она открывается через главное меню (круглая кнопка или значок меню в левом верхнем углу) — пункт «Все функции». Если пункта нет, администратор должен включить параметр «Отображать команду „Все функции“» в настройках пользователя: раздел «Администрирование» — «Пользователи и права» — «Персональные настройки пользователей».

В окне «Все функции» раскройте ветку «Регистры накопления» и дважды щёлкните по нужному регистру — откроется стандартная форма списка записей. Учтите, что «Все функции» доступны только пользователям с правом «Все функции» (обычно администраторам и разработчикам), и этот способ не подходит как постоянное решение для рядовых пользователей.

Проверка прав доступа и ролей

Даже если регистр включён в подсистему, пользователь без прав его не увидит: платформа автоматически скрывает команды, на объекты которых у пользователя нет права «Просмотр». Это вторая по частоте причина «пропавшего» регистра.

В конфигураторе откройте «Администрирование» — «Роли» (или ветку «Общие» — «Роли»), выберите роль, назначенную пользователю, и найдите в списке объектов нужный регистр накопления. Убедитесь, что установлены права «Чтение» и «Просмотр». Если используется типовая конфигурация на БСП, права обычно назначаются через профили групп доступа в режиме предприятия — тогда корректировать нужно профиль, а не роль напрямую.

После изменения ролей пользователю нужно перезапустить сеанс: права подхватываются при входе, и в уже открытом сеансе команда не появится.

Контрольные точки

Как проверить результат

Команда в разделе подсистемы
Норма

Команда открытия списка регистра видна и открывает форму

Тревожный признак

Команды нет — проверьте подсистему и права роли

Содержимое списка
Норма

Отображаются записи с движениями документов

Тревожный признак

Список пуст — проверьте, проведены ли документы-регистраторы

Отбор и колонки
Норма

Измерения, ресурсы и реквизиты регистра выведены в список

Тревожный признак

Колонок нет — настройте состав в форме списка через «Ещё — Изменить форму»

Вывод движений регистра в форме документа

Часто отдельная команда на регистр вообще не нужна — пользователю достаточно видеть движения конкретного документа. Стандартный способ: в форме документа кнопка «Ещё» — «Движения документа» (в некоторых конфигурациях — отдельная кнопка «Дт/Кт» или «Показать проводки и движения»). Откроется отчёт по всем регистрам, в которых документ сделал записи, включая регистры накопления.

Если требуется постоянно видимая таблица движений на форме документа, добавьте в форму динамический список с запросом к таблице регистра накопления и отбором по реквизиту «Регистратор», связанному с текущим объектом. Это делается в конфигураторе через редактор формы: новый реквизит типа «ДинамическийСписок» с произвольным запросом вида ВЫБРАТЬ * ИЗ РегистрНакопления.ТоварыНаСкладах ГДЕ Регистратор = &Регистратор и элементом «ТаблицаФормы» для его отображения.

bsl
// Программное открытие списка регистра накопления
ОткрытьФорму("РегистрНакопления.ТоварыНаСкладах.ФормаСписка");

// Открытие с отбором по складу
ПараметрыФормы = Новый Структура;
Отбор = Новый Структура("Склад", СсылкаНаСклад);
ПараметрыФормы.Вставить("Отбор", Отбор);
ОткрытьФорму("РегистрНакопления.ТоварыНаСкладах.ФормаСписка", ПараметрыФормы);

Программное открытие и вывод в отчёты

Команды интерфейса — не единственный путь. Список регистра можно открыть программно из любой формы, кнопки или обработки через метод ОткрытьФорму() с указанием полного имени формы списка регистра. Дополнительно в параметрах передаётся структура отбора — так пользователь сразу увидит только нужные записи, например движения по конкретной номенклатуре или складу.

Если цель — анализ данных, а не просмотр сырых записей, правильнее вывести регистр через отчёт на СКД. Создайте отчёт, в схеме компоновки укажите набор данных с запросом к виртуальной таблице регистра (Остатки, Обороты или физическая таблица), включите отчёт в подсистему — и пользователь получит удобную аналитическую форму вместо технического списка записей. Для регистров с видом «Остатки» физическая таблица списка показывает именно движения, а не текущие остатки — это частая причина недоразумений.

Маршрут решения

Как выбрать способ вывода

Нужно разово посмотреть записи и есть права администратораИспользуйте «Все функции» — Регистры накопления
Регистр нужен пользователям постоянно в разделеВключите регистр в подсистему и настройте командный интерфейс
Нужны движения конкретного документаИспользуйте «Ещё — Движения документа» или динамический список на форме
Нужна аналитика по остаткам и оборотамСоздайте отчёт на СКД по виртуальным таблицам регистра

Типичные ошибки и ограничения

Первая ошибка — включение регистра в подсистему без обновления конфигурации базы данных. Изменения в дереве конфигурации не попадают в работающее приложение, пока не выполнено обновление (F7) и не перезапущен сеанс пользователя. Вторая — ожидание остатков в форме списка: форма списка регистра накопления показывает записи движений, а итоги нужно смотреть через отчёты или виртуальные таблицы.

Третья ошибка — попытка вывести регистр в управляемом интерфейсе так, как это делалось в обычном приложении через меню «Операции». В управляемом приложении меню «Операции» отсутствует, его аналог — «Все функции» с описанными выше ограничениями по правам и клиентам.

Также учтите ограничение производительности: открытие списка регистра без отбора на большой базе может выполняться долго. Рекомендуется сразу настраивать отбор по периоду или передавать отбор программно.

Типичные ошибки
01
Регистр включён в подсистему, но конфигурация базы данных не обновлена — команда не появляется
02
У пользователя нет права «Просмотр» — платформа молча скрывает команду из интерфейса
03
Ожидание остатков в форме списка — там отображаются только записи движений, а не итоги
04
Открытие полного списка без отбора на большой базе — долгое формирование и нагрузка на сервер
Итог

Что важно запомнить

Регистр накопления выводится в интерфейс через подсистему и командный интерфейс, при этом обязательны права «Чтение» и «Просмотр» у роли пользователя. Для разового просмотра подойдёт «Все функции», для движений документа — стандартная команда «Движения документа», для аналитики — отчёт на СКД. После любых изменений в конфигураторе обновите конфигурацию базы данных и перезапустите сеанс.

Частые вопросы

Почему регистр включён в подсистему, но пользователь его не видит?

Наиболее вероятная причина — отсутствие у роли пользователя прав «Чтение» и «Просмотр» на регистр: платформа автоматически скрывает недоступные команды. Также проверьте, что конфигурация базы данных обновлена и сеанс пользователя перезапущен после изменений.

Можно ли вывести регистр накопления на начальную страницу?

Да. Откройте в конфигураторе корень конфигурации, пункт «Рабочая область начальной страницы», и добавьте команду открытия списка регистра в нужную колонку. Команда появится у всех пользователей, у которых есть права на регистр.

Как показать пользователю остатки, а не список движений?

Форма списка регистра показывает только записи движений. Для остатков создайте отчёт на СКД по виртуальной таблице «Остатки» регистра и включите отчёт в подсистему — пользователь получит актуальные итоги с возможностью отборов.

Почему нет пункта «Все функции» в меню?

Команду нужно включить: в типовых конфигурациях это делается в персональных настройках пользователя (параметр «Отображать команду "Все функции"»), кроме того, у пользователя должно быть соответствующее право. В веб-клиенте «Все функции» недоступны в принципе.

Можно ли открыть регистр с уже установленным отбором?

Да, программно: в параметрах метода ОткрытьФорму() передайте структуру с ключом «Отбор», где указаны поля и значения отбора. Пользователю откроется форма списка, уже отфильтрованная по нужным измерениям.