1. user875116 08.08.18 23:07 Сейчас в теме

Прошу о помощи, в запрос попадают только 430 строк из 2978

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


Вот такой запрос.

В конфигурации 1С:ERP Управление предприятием 2 (2.4.3.126) делаю отчёт, и из справочника Пользователи попадает только 430 строк, сижу уже два дня и не могу разобраться, где рыть, какие условия поставить или что почитать..

Выглядит это так что до 430-й строчки данные пользователя (имя и комментарий) заполнены как надо а потом ФИО пользователя и комментарий просто отрубает и поля пустые, но данные из справочника Группы Пользователей идут до конца и кончаются только на 2978 строчке...

Буду очень признателен и благодарен...
Вознаграждение за ответ
Показать полностью
Ответы
Избранное Подписка Сортировка: Древо
16. mkalimulin 174 09.08.18 10:59 Сейчас в теме
(1) Вы, видимо, не в курсе, что 1С сама генерирует левое соединение.
Пишите просто:

ВЫБРАТЬ
    ГруппыДоступаПользователи.Ссылка КАК Ссылка,
    ГруппыДоступаПользователи.Родитель КАК Родитель,
    ГруппыДоступаПользователи.Наименование КАК Наименование,
    ГруппыДоступаПользователи.Профиль КАК Профиль,
    ГруппыДоступаПользователи.Пользователь КАК Пользователь
    ГруппыДоступаПользователи.Пользователь.Комментарий КАК Комментарий
ИЗ
    Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
Показать


Вы своими лишними ссылками и ненужным левым соединением сломали движок.
24. kudlach 21 13.08.18 12:48 Сейчас в теме
(1)
ВЫБРАТЬ
    ЕСТЬNULL(ГруппыДоступаПользователи.Ссылка.Родитель,NULL) КАК Родитель,
    ЕСТЬNULL(ГруппыДоступаПользователи.Ссылка.Наименование,NULL)  КАК ГруппыДоступаНаименование,
    ЕСТЬNULL(ГруппыДоступаПользователи.Ссылка.Профиль,NULL)  КАК Профиль,
    Пользователи.Ссылка КАК Пользователь,
    Пользователи.Комментарий КАК Комментарий
ИЗ
    Справочник.Пользователи КАК Пользователи
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
        ПО Пользователи.Ссылка = ГруппыДоступаПользователи.Пользователь
ГДЕ 
    Пользователи.ПометкаУдаления=ЛОЖЬ
ИТОГИ
ПО 
    ГруппыДоступаНаименование, Пользователь
Показать
25. user875116 20.08.18 10:41 Сейчас в теме
Может ты знаешь как вытащить в запрос названия групп доступа что бы по ним можно было отбирать пользователей?
2. leosoft 126 09.08.18 00:12 Сейчас в теме
Это реальный запрос? Нет ли в нем секции ГДЕ?
3. user875116 09.08.18 00:36 Сейчас в теме
(2)
ГДЕ?


нет нету, а должна быть?
4. user652236_dima_-_- 09.08.18 00:38 Сейчас в теме
данные пользователя (имя и комментарий)
в запросе не выбираются.
вы выбираете группы доступа, и возможно их только 430
попробуйте

ВЫБРАТЬ
ГруппыДоступаПользователи.пользователь
5. user875116 09.08.18 00:40 Сейчас в теме
(4)
их только 430


а как тогда выбрать так что бы все пользователи попали?

Вот так выглядит запрос с выбранными полями:

ВЫБРАТЬ
	ГруппыДоступаПользователи.Ссылка КАК Ссылка,
	ГруппыДоступаПользователи.Ссылка.Родитель КАК Родитель,
	ГруппыДоступаПользователи.Ссылка.Наименование КАК Наименование,
	ГруппыДоступаПользователи.Ссылка.Профиль КАК Профиль,
	Пользователи.Ссылка КАК Ссылка1,
	Пользователи.Комментарий КАК Комментарий
ИЗ
	Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
		ПО ГруппыДоступаПользователи.Пользователь = Пользователи.Ссылка
Показать
6. user652236_dima_-_- 09.08.18 00:42 Сейчас в теме
полное соединение вместо левое

тогда, если пользователь не в группе доступа, проверка на isnull
7. user875116 09.08.18 00:43 Сейчас в теме
(6)
проверка на isnull


там все пользователи в какой-то группе, что бы они не были в группе не может быть
13. Plash 3 09.08.18 09:16 Сейчас в теме
(7) чудес не бывает, бывает неучтенки.

ВЫБРАТЬ 
ГруппыДоступаПользователи.Ссылка КАК Ссылка 
ИЗ 
Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи


В данном запросе сколько у вас строк появляется? если не 2978 то значит не у всех пользователей есть группы.

Как и ранее советовали, соедините по полному соединение и где null там у пользователя группы нет.
8. user652236_dima_-_- 09.08.18 00:54 Сейчас в теме
зачем для выбора пользователей обходить спр. группы доступа?

если надо узнать в какой группе пользователь, тогда

ВЫБРАТЬ
    ГруппыДоступаПользователи.Ссылка КАК Ссылка, ГруппыДоступаПользователи. Пользователь
    
ИЗ
    Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
9. s1koka 09.08.18 06:01 Сейчас в теме
ВЫБРАТЬ
	ГруппыДоступаПользователи.Ссылка КАК Ссылка,
	ГруппыДоступаПользователи.Ссылка.Родитель КАК Родитель,
	ГруппыДоступаПользователи.Ссылка.Наименование КАК Наименование,
	ГруппыДоступаПользователи.Ссылка.Профиль КАК Профиль,
	Пользователи.Ссылка КАК Ссылка1,
	Пользователи.Комментарий КАК Комментарий
ИЗ
	Справочник.Пользователи КАК Пользователи
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
		ПО Пользователи.Ссылка = ГруппыДоступаПользователи.Пользователь
Показать


Попробуй потом посмотри что возвращается в качесвенны ссылки на группу пользователей, скорее всего передаётся NULL поэтому при твоей связи он берёт только тех юзеров у которых указаны группы....
11. VZyryanov 09.08.18 07:46 Сейчас в теме
Запрос из Справочник.ГруппыДоступа.Пользователи. В этой таблице 430 строк. Если нужны 2978 строк из Справочник.Пользователи, то нужно писать как в (9).
12. user875116 09.08.18 08:27 Сейчас в теме
(11)
Если нужны 2978 строк из Справочник.Пользователи, то нужно писать как в (9).


если делать так то наоборот возвращаются пустые строки из ГруппыДоступа...

то есть если от одной к другой делаешь соединение то в той нет и так по кругу...

+

вместо 3-х тысяч там только 1000 строк , то есть что то не добирается
10. mark_oilbass 09.08.18 07:40 Сейчас в теме
Может отбор какой нибудь стоит в скд? Или программно при компоновки что нибудь изменяется либо запрос либо отбор. Может вариант отчета еще нет тот открывается.
14. user875116 09.08.18 10:06 Сейчас в теме
через ГруппыДоступа не видно всех пользователей из Справочника Пользователи, так может быть?
15. virtmon 22 09.08.18 10:39 Сейчас в теме
ВЫБРАТЬ 
Пользователи.Ссылка КАК Ссылка 
ИЗ 
Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи 
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи 
ПО (ГруппыДоступаПользователи.Пользователь = Пользователи.Ссылка)


Может вы так хотели?
17. user875116 09.08.18 13:34 Сейчас в теме
(15) Нужно сделать что бы было так:

То есть нужна информация из трёх справочников: Пользователи, ГруппыДоступа и ПрфилиГруппДоступа...

Я попробовал сделать объединением, так как совершенно не знаю да и не получается сделать левым соединением даже две таблицы (не говоря уже о третьей) но теперь не знаю как схлопнуть поля и можно ли это...

Вот такой запрос получился:

ВЫБРАТЬ
                ПрофилиГруппДоступа.Ссылка КАК Профиль,
                0 КАК Пользователь,
                NULL КАК Комментарий,
                0 КАК Группа
ИЗ
                Справочник.ПрофилиГруппДоступа КАК ПрофилиГруппДоступа

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

ВЫБРАТЬ
                0,
                Пользователи.Ссылка,
                Пользователи.Комментарий,
                NULL
ИЗ
                Справочник.Пользователи КАК Пользователи

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

ВЫБРАТЬ
                0,
                0,
                NULL,
                ГруппыДоступа.Родитель
ИЗ
                Справочник.ГруппыДоступа КАК ГруппыДоступа

СГРУППИРОВАТЬ ПО
                ГруппыДоступа.Родитель
Показать
Прикрепленные файлы:
18. leosoft 126 09.08.18 17:29 Сейчас в теме
(17) Этот запрос во временную таблицу, а потом ее выбрать и там сгруппировать.
19. user875116 09.08.18 19:02 Сейчас в теме
(18)
(17) Этот запрос во временную таблицу, а потом ее выбрать и там сгруппировать.


а как сгруппировать?
20. leosoft 126 09.08.18 19:10 Сейчас в теме
В консоли выбрать временную таблицу и в ней уже сгруппировать
21. selez-a 16 10.08.18 09:13 Сейчас в теме
Возможно у вас в табличной части Справочника ГруппыПользователя Пользователи пустые строки, поэтому они и не могут быть найдены в Справочники Пользователи.
22. registration123 1 10.08.18 10:49 Сейчас в теме
Если нужно получить группу пользователя и пользователя можно сделать так:
ВЫБРАТЬ
	ГруппыПользователейПользователиГруппы.Ссылка.Наименование,
	ГруппыПользователейПользователиГруппы.Ссылка.Код,
	ГруппыПользователейПользователиГруппы.Пользователь.Наименование,
	ГруппыПользователейПользователиГруппы.Пользователь.ФизЛицо,
	ГруппыПользователейПользователиГруппы.Пользователь.Код,
	ГруппыПользователейПользователиГруппы.Пользователь.Ссылка
ИЗ
	Справочник.ГруппыПользователей.ПользователиГруппы КАК ГруппыПользователейПользователиГруппы
Показать


Результат таблица:

№ Наименование Код ПользовательНаименование ПользовательФизЛицо ПользовательКод ПользовательСсылка

сгруппировать можно и по пользователю
23. registration123 1 10.08.18 12:56 Сейчас в теме
(22) да, получается как в (16), незаметил
26. Xershi 401 20.08.18 10:44 Сейчас в теме
Дополнительно пользователи могут быть сгруппированы в группу пользователей, как итог пользователей в группе на порядок больше!
27. getnight 42 20.08.18 16:50 Сейчас в теме
Я, возможно, не совсем понимаю суть... какая исходная задача стоит?

"из справочника Пользователи попадает только 430 строк из 2978"... откуда вы взяли число 430? и 2978?

Сколько элементов в справочнике Пользователи? Сколько в справочнике ГруппыДоступа?

Просто все выглядит для меня как-то так:
ВЫБРАТЬ
	Пользователь,
	Ссылка КАК ГруппаДоступа
ИЗ 
	Справочник.ГруппыДоступа.Пользователи
УПОРЯДОЧИТЬ ПО Пользователь
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 130 000 руб. до 150 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Руководитель группы сервисов FRM на 1С
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы сервисов ЭДО, ЭЦП и криптографии
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы интеграций (1С)
Москва
зарплата от 150 000 руб.
Полный день