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