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

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

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


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

как в список объектов фортмы РегистрСведений.НастройкиВерсионированияОбъектов добавить справочник пользователи?



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

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

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

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

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

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

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

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

1C
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Получаем ссылку на динамический список с объектами
    Объекты = Элементы.ДинамическийСписокОбъектов; // замените на имя вашего реквизита

    // Добавляем справочник Пользователи в список объектов
    НовыйОбъект = Объекты.Добавить();
    НовыйОбъект.Имя = "Справочник.Пользователи";
    НовыйОбъект.Наименование = "Пользователи";

    // Если список формируется через запрос, то нужно добавить соответствующую часть запроса
    // или расширить набор данных, который подгружается в динамический список

    // Пример для динамического списка с произвольным запросом:
    // В запрос добавьте UNION с выборкой из Справочник.Пользователи
КонецПроцедуры

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

sql
ВЫБРАТЬ
    'Справочник.Пользователи' КАК ТипОбъекта,
    Пользователи.Ссылка КАК Ссылка,
    Пользователи.Наименование КАК Наименование
ИЗ
    Справочник.Пользователи КАК Пользователи

ОБЪЕДИНИТЬ ВСЕ

-- здесь ваш основной запрос для других объектов

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

---

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

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

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

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



   
ОтветитьЦитата