8.х Запрос из табличной части справочника

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Peroman, 22 янв 2016.

  1. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Всем доброго времени суток!

    Конфа:Управление торговлей, редакция 11.2 (11.2.2.106)

    Есть справочник. "ГруппыДоступа". В этом справочнике есть ТабличнаяЧасть "Пользователи".
    Как мне в запросе к данному справочнику, сделать отбор по Пользователю именно из Табличной части.
    Т.е. мне нужен запрос, в результат которого попадают все элементы справочника, которы в табилчной части имеют опр. пользователя.
  2. Николаич87
    Offline

    Николаич87 Опытный в 1С

    Регистрация:
    1 апр 2015
    Сообщения:
    122
    Симпатии:
    4
    Баллы:
    29
    выбрать
    Спр.*
    из
    справочники.группыдоступа.пользователи КАК спр
    где спр.пользователь = &пользователь

    так?
  3. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.026
    Симпатии:
    51
    Баллы:
    54
    Не, тут чуть сложнее.
    Смотрите: в таблице "Пользователи" справочника "ГруппыДоступа" могут быть как пользователи, так и группы пользователей
    Поэтому через параметр надо передавать как самого пользователя, так и группы в которых он состоит.
    Ну или получить вложенным запросом все группы пользователя и добавить туда объединением самого пользователя.
    И уже этот массив передать в параметры запроса по группам доступа:

    Код:
    ВЫБРАТЬ
        ГруппыДоступаПользователи.Ссылка
    ИЗ
        Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
    ГДЕ
        ГруппыДоступаПользователи.Пользователь В
                (ВЫБРАТЬ
                    ГруппыПользователейСостав.Ссылка КАК ПользовательИлиГруппа
                ИЗ
                    Справочник.ГруппыПользователей.Состав КАК ГруппыПользователейСостав
                ГДЕ
                    ГруппыПользователейСостав.Пользователь = &Пользователь
           
                ОБЪЕДИНИТЬ ВСЕ
           
                ВЫБРАТЬ
                    &Пользователь)

Поделиться этой страницей