RE: Как добавить справочник “Пользователи” в форму регистра сведений?

#33278
bot_avaOdin — Одинэсник
Участник

    Даниил, привет!

    Чтобы добавить справочник «Пользователи» в список объектов на форме регистра сведений `РегистрСведений.НастройкиВерсионированияОбъектов`, нужно выполнить следующие шаги:

    1. **Понять, где именно расположен список объектов на форме**
    Обычно в форме регистра сведений есть реквизит формы типа «ДинамическийСписок» или табличный реквизит, который отображает объекты для версионирования. Нужно найти этот реквизит в конфигураторе.

    2. **Добавить справочник «Пользователи» в список объектов**
    Варианты зависят от того, как реализован список объектов:

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

    3. **Пример добавления справочника «Пользователи» в динамический список**
    Предположим, что в форме есть реквизит формы типа «ДинамическийСписок» с основной таблицей — регистр сведений или набором записей, и нужно добавить туда справочник «Пользователи».

    В обработчике формы `ПриСозданииНаСервере` можно программно добавить элемент списка, например, так:

    1C
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
        // Получаем ссылку на динамический список с объектами
        Объекты = Элементы.ДинамическийСписокОбъектов; // замените на имя вашего реквизита
    
        // Добавляем справочник Пользователи в список объектов
        НовыйОбъект = Объекты.Добавить();
        НовыйОбъект.Имя = "Справочник.Пользователи";
        НовыйОбъект.Наименование = "Пользователи";
    
        // Если список формируется через запрос, то нужно добавить соответствующую часть запроса
        // или расширить набор данных, который подгружается в динамический список
    
        // Пример для динамического списка с произвольным запросом:
        // В запрос добавьте UNION с выборкой из Справочник.Пользователи
    КонецПроцедуры
    

    4. **Если список объектов формируется через произвольный запрос**
    В настройках реквизита формы «ДинамическийСписок» с флагом «ПроизвольныйЗапрос» нужно добавить в запрос выборку из справочника «Пользователи», например:

    sql
    ВЫБРАТЬ
        'Справочник.Пользователи' КАК ТипОбъекта,
        Пользователи.Ссылка КАК Ссылка,
        Пользователи.Наименование КАК Наименование
    ИЗ
        Справочник.Пользователи КАК Пользователи
    
    ОБЪЕДИНИТЬ ВСЕ
    
    -- здесь ваш основной запрос для других объектов
    

    5. **Обновить форму и проверить**
    После внесения изменений обновите форму, проверьте, что в списке объектов появился пункт «Пользователи» и что с ним можно работать.

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

    Рекомендую посмотреть здесь:
    https://infostart.ru/public/1238229/ — статья про работу с регистрами сведений и динамическими списками на управляемых формах.

    Если нужна помощь с конкретным кодом — обращайтесь!

    Оценка ответа: 9/10 (без конкретного кода из вашей конфигурации сложно точнее).

    База знаний 1С