Прошу о помощи, в запрос попадают только 430 строк из 2978
ВЫБРАТЬ
ГруппыДоступаПользователи.Ссылка КАК Ссылка
ИЗ
Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
ПО (ГруппыДоступаПользователи.Пользователь = Пользователи.Ссылка)
Вот такой запрос.
В конфигурации 1С:ERP Управление предприятием 2 (2.4.3.126) делаю отчёт, и из справочника Пользователи попадает только 430 строк, сижу уже два дня и не могу разобраться, где рыть, какие условия поставить или что почитать..
Выглядит это так что до 430-й строчки данные пользователя (имя и комментарий) заполнены как надо а потом ФИО пользователя и комментарий просто отрубает и поля пустые, но данные из справочника Группы Пользователей идут до конца и кончаются только на 2978 строчке...
Буду очень признателен и благодарен...
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Вы, видимо, не в курсе, что 1С сама генерирует левое соединение.
Пишите просто:
Вы своими лишними ссылками и ненужным левым соединением сломали движок.
Пишите просто:
ВЫБРАТЬ
ГруппыДоступаПользователи.Ссылка КАК Ссылка,
ГруппыДоступаПользователи.Родитель КАК Родитель,
ГруппыДоступаПользователи.Наименование КАК Наименование,
ГруппыДоступаПользователи.Профиль КАК Профиль,
ГруппыДоступаПользователи.Пользователь КАК Пользователь
ГруппыДоступаПользователи.Пользователь.Комментарий КАК Комментарий
ИЗ
Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
ПоказатьВы своими лишними ссылками и ненужным левым соединением сломали движок.
(1)
ВЫБРАТЬ
ЕСТЬNULL(ГруппыДоступаПользователи.Ссылка.Родитель,NULL) КАК Родитель,
ЕСТЬNULL(ГруппыДоступаПользователи.Ссылка.Наименование,NULL) КАК ГруппыДоступаНаименование,
ЕСТЬNULL(ГруппыДоступаПользователи.Ссылка.Профиль,NULL) КАК Профиль,
Пользователи.Ссылка КАК Пользователь,
Пользователи.Комментарий КАК Комментарий
ИЗ
Справочник.Пользователи КАК Пользователи
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
ПО Пользователи.Ссылка = ГруппыДоступаПользователи.Пользователь
ГДЕ
Пользователи.ПометкаУдаления=ЛОЖЬ
ИТОГИ
ПО
ГруппыДоступаНаименование, Пользователь
Показать
данные пользователя (имя и комментарий)
в запросе не выбираются.
вы выбираете группы доступа, и возможно их только 430
попробуйте
ВЫБРАТЬ
ГруппыДоступаПользователи.пользователь
в запросе не выбираются.
вы выбираете группы доступа, и возможно их только 430
попробуйте
ВЫБРАТЬ
ГруппыДоступаПользователи.пользователь
(4)
а как тогда выбрать так что бы все пользователи попали?
Вот так выглядит запрос с выбранными полями:
их только 430
а как тогда выбрать так что бы все пользователи попали?
Вот так выглядит запрос с выбранными полями:
ВЫБРАТЬ
ГруппыДоступаПользователи.Ссылка КАК Ссылка,
ГруппыДоступаПользователи.Ссылка.Родитель КАК Родитель,
ГруппыДоступаПользователи.Ссылка.Наименование КАК Наименование,
ГруппыДоступаПользователи.Ссылка.Профиль КАК Профиль,
Пользователи.Ссылка КАК Ссылка1,
Пользователи.Комментарий КАК Комментарий
ИЗ
Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
ПО ГруппыДоступаПользователи.Пользователь = Пользователи.Ссылка
Показать
(7) чудес не бывает, бывает неучтенки.
В данном запросе сколько у вас строк появляется? если не 2978 то значит не у всех пользователей есть группы.
Как и ранее советовали, соедините по полному соединение и где null там у пользователя группы нет.
ВЫБРАТЬ
ГруппыДоступаПользователи.Ссылка КАК Ссылка
ИЗ
Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
В данном запросе сколько у вас строк появляется? если не 2978 то значит не у всех пользователей есть группы.
Как и ранее советовали, соедините по полному соединение и где null там у пользователя группы нет.
зачем для выбора пользователей обходить спр. группы доступа?
если надо узнать в какой группе пользователь, тогда
если надо узнать в какой группе пользователь, тогда
ВЫБРАТЬ
ГруппыДоступаПользователи.Ссылка КАК Ссылка, ГруппыДоступаПользователи. Пользователь
ИЗ
Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
ВЫБРАТЬ
ГруппыДоступаПользователи.Ссылка КАК Ссылка,
ГруппыДоступаПользователи.Ссылка.Родитель КАК Родитель,
ГруппыДоступаПользователи.Ссылка.Наименование КАК Наименование,
ГруппыДоступаПользователи.Ссылка.Профиль КАК Профиль,
Пользователи.Ссылка КАК Ссылка1,
Пользователи.Комментарий КАК Комментарий
ИЗ
Справочник.Пользователи КАК Пользователи
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
ПО Пользователи.Ссылка = ГруппыДоступаПользователи.Пользователь
ПоказатьПопробуй потом посмотри что возвращается в качесвенны ссылки на группу пользователей, скорее всего передаётся NULL поэтому при твоей связи он берёт только тех юзеров у которых указаны группы....
Запрос из Справочник.ГруппыДоступа.Пользователи. В этой таблице 430 строк. Если нужны 2978 строк из Справочник.Пользователи, то нужно писать как в (9).
(11)
если делать так то наоборот возвращаются пустые строки из ГруппыДоступа...
то есть если от одной к другой делаешь соединение то в той нет и так по кругу...
+
вместо 3-х тысяч там только 1000 строк , то есть что то не добирается
Если нужны 2978 строк из Справочник.Пользователи, то нужно писать как в (9).
если делать так то наоборот возвращаются пустые строки из ГруппыДоступа...
то есть если от одной к другой делаешь соединение то в той нет и так по кругу...
+
вместо 3-х тысяч там только 1000 строк , то есть что то не добирается
Может отбор какой нибудь стоит в скд? Или программно при компоновки что нибудь изменяется либо запрос либо отбор. Может вариант отчета еще нет тот открывается.
ВЫБРАТЬ
Пользователи.Ссылка КАК Ссылка
ИЗ
Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
ПО (ГруппыДоступаПользователи.Пользователь = Пользователи.Ссылка)
Может вы так хотели?
(15) Нужно сделать что бы было так:
То есть нужна информация из трёх справочников: Пользователи, ГруппыДоступа и ПрфилиГруппДоступа...
Я попробовал сделать объединением, так как совершенно не знаю да и не получается сделать левым соединением даже две таблицы (не говоря уже о третьей) но теперь не знаю как схлопнуть поля и можно ли это...
Вот такой запрос получился:
То есть нужна информация из трёх справочников: Пользователи, ГруппыДоступа и ПрфилиГруппДоступа...
Я попробовал сделать объединением, так как совершенно не знаю да и не получается сделать левым соединением даже две таблицы (не говоря уже о третьей) но теперь не знаю как схлопнуть поля и можно ли это...
Вот такой запрос получился:
ВЫБРАТЬ
ПрофилиГруппДоступа.Ссылка КАК Профиль,
0 КАК Пользователь,
NULL КАК Комментарий,
0 КАК Группа
ИЗ
Справочник.ПрофилиГруппДоступа КАК ПрофилиГруппДоступа
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
0,
Пользователи.Ссылка,
Пользователи.Комментарий,
NULL
ИЗ
Справочник.Пользователи КАК Пользователи
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
0,
0,
NULL,
ГруппыДоступа.Родитель
ИЗ
Справочник.ГруппыДоступа КАК ГруппыДоступа
СГРУППИРОВАТЬ ПО
ГруппыДоступа.Родитель
ПоказатьПрикрепленные файлы:
Возможно у вас в табличной части Справочника ГруппыПользователя Пользователи пустые строки, поэтому они и не могут быть найдены в Справочники Пользователи.
Если нужно получить группу пользователя и пользователя можно сделать так:
Результат таблица:
№ Наименование Код ПользовательНаименование ПользовательФизЛицо ПользовательКод ПользовательСсылка
сгруппировать можно и по пользователю
ВЫБРАТЬ
ГруппыПользователейПользователиГруппы.Ссылка.Наименование,
ГруппыПользователейПользователиГруппы.Ссылка.Код,
ГруппыПользователейПользователиГруппы.Пользователь.Наименование,
ГруппыПользователейПользователиГруппы.Пользователь.ФизЛицо,
ГруппыПользователейПользователиГруппы.Пользователь.Код,
ГруппыПользователейПользователиГруппы.Пользователь.Ссылка
ИЗ
Справочник.ГруппыПользователей.ПользователиГруппы КАК ГруппыПользователейПользователиГруппы
ПоказатьРезультат таблица:
№ Наименование Код ПользовательНаименование ПользовательФизЛицо ПользовательКод ПользовательСсылка
сгруппировать можно и по пользователю
Дополнительно пользователи могут быть сгруппированы в группу пользователей, как итог пользователей в группе на порядок больше!
Я, возможно, не совсем понимаю суть... какая исходная задача стоит?
"из справочника Пользователи попадает только 430 строк из 2978"... откуда вы взяли число 430? и 2978?
Сколько элементов в справочнике Пользователи? Сколько в справочнике ГруппыДоступа?
Просто все выглядит для меня как-то так:
"из справочника Пользователи попадает только 430 строк из 2978"... откуда вы взяли число 430? и 2978?
Сколько элементов в справочнике Пользователи? Сколько в справочнике ГруппыДоступа?
Просто все выглядит для меня как-то так:
ВЫБРАТЬ
Пользователь,
Ссылка КАК ГруппаДоступа
ИЗ
Справочник.ГруппыДоступа.Пользователи
УПОРЯДОЧИТЬ ПО Пользователь
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот