|
Помогите плиз с запросом | ☑ | ||
---|---|---|---|---|
0
Avalone2010
20.01.15
✎
17:10
|
Здравствуйте. Помогите пожалуйста с запросом.Есть таблицы:
Номенклатура(реквизиты: ГруппаДоступа) ГруппыДоступа Пользователи ДоступПоГруппам(реквизиты: Пользователь. Табличные части: Группы доступаб реквизит ТЧ ГруппаДоступа). Для номенклатуры задаются группы доступа. Например Сандали детские - ГД:Обувь Шпатлевка - ГД:Стройматериалы В справочнике ГруппыДоступа создается элемент: У Петрова есть доступ к ГД Обувь, у Иванова к Стройматериалам, а для Сидорова ничего не задаем, значит у него доступ есть ко всему. Подскажите с запросом который бы выводил: Иванов-стройматериалы Петров - Обувь Сидоров - Стройматериалы Сидоров - Обувь |
|||
1
vicof
20.01.15
✎
17:12
|
Соединение таблиц плюс проверка на пустое значение в соединении
|
|||
2
Avalone2010
20.01.15
✎
17:15
|
(1) если не трудно можно поподробнее?
|
|||
3
vicof
20.01.15
✎
17:19
|
Полное соединение по группе доступа, выбор когда группазаполнена тогда пользователи.группа = группы.ссылка иначе истина конец.
|
|||
4
Avalone2010
20.01.15
✎
17:26
|
(3) Не понимаю, вы уж извините. Подскажите что здесь исправит что бы заработало(запрос привел как пример что бы понимать о каких таблицах идет речь):
ВЫБРАТЬ ГруппыДоступа.Ссылка ИЗ Справочник.НастройкаRLS.ГруппыДоступаНоменклатуры КАК НастройкаRLSГруппыДоступаНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа КАК ГруппыДоступа ПО (НастройкаRLSГруппыДоступаНоменклатуры.ГруппаДоступаНоменклатуры = ГруппыДоступа.Ссылка) И (НастройкаRLSГруппыДоступаНоменклатуры.Ссылка.Пользователь = &Пользователь |
|||
5
vicof
20.01.15
✎
17:28
|
И где тут "Есть таблицы:
Номенклатура(реквизиты: ГруппаДоступа) ГруппыДоступа Пользователи ДоступПоГруппам(реквизиты: Пользователь. Табличные части: Группы доступаб реквизит ТЧ ГруппаДоступа). "? |
|||
6
Avalone2010
20.01.15
✎
17:33
|
ну примерно название давал :) Извините, в след раз давать как есть. Решил с помощью временных таблиц:
ВЫБРАТЬ НастройкаRLSГруппыДоступаНоменклатуры.ГруппаДоступаНоменклатуры ИЗ Справочник.НастройкаRLS.ГруппыДоступаНоменклатуры КАК НастройкаRLSГруппыДоступаНоменклатуры ГДЕ НастройкаRLSГруппыДоступаНоменклатуры.Ссылка.Пользователь = &Пользователь ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ГруппыДоступа.Ссылка ИЗ Справочник.ГруппыДоступа КАК ГруппыДоступа ГДЕ НЕ 1 В (ВЫБРАТЬ КОЛИЧЕСТВО(РАЗЛИЧНЫЕ НаличиеограничениеПрав.Ссылка) КАК Ссылка ИЗ (ВЫБРАТЬ ПЕРВЫЕ 1 НастройкаRLS.Ссылка КАК Ссылка ИЗ Справочник.НастройкаRLS КАК НастройкаRLS ГДЕ НастройкаRLS.Пользователь = &Пользователь) КАК НаличиеограничениеПрав) |
|||
7
Avalone2010
20.01.15
✎
17:37
|
(6) Да, этот запрос выбирает доступные для пользователя группы доступа, по этим группам дальше фильтруется номенклатура.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |