Сложное условие на СКД #779731


#0 by sinner_world
Добрый день. Есть Регистр сведений КомпетенцииСотрудников Измерение: Кандидат (Спр.ФизЛица); Компетенция (Спр.Навыки) Ресурс Оценка(число) Запрос: ВЫБРАТЬ     КомпетенцииКандидатовСрезПоследних.Кандидат,     КомпетенцииКандидатовСрезПоследних.Компетенция,     КомпетенцииКандидатовСрезПоследних.Оценка Получаем Кандидатов с оценками их навыком. Кандидат1    1С:Управление торговлей ред. 10.3    5 Кандидат1    1С:Управление торговлей ред. 11.x    2 Кандидат1    Бухгалтерия предприятия                    2     Кандидат2    1С:Управление торговлей ред. 10.3    4 Кандидат2    1С:Управление торговлей ред. 11.x    4 Кандидат2    Бухгалтерия предприятия                    3 Кандидат3    1С:Управление торговлей ред. 10.3    2 Кандидат3    1С:Управление торговлей ред. 11.x    5 Кандидат3    Бухгалтерия предприятия                    4 Используя группы в отборе хочу получить вот такое сочетание навыков Отбор:    "( ( Компетенция Равно ""1С:Управление торговлей ред. 10.3"" И         Оценка Больше или равно ""4"" ) ИЛИ         ( Компетенция Равно ""1С:Управление торговлей ред. 11.x"" И         Оценка Больше или равно ""4"" ) ) И          ( Компетенция Равно "" Бухгалтерия предприятия"" И     Оценка Больше или равно ""4"" )" В консоли СКД смотрю какой запрос мне сформировал компоновщик:     КомпетенцииКандидатовСрезПоследних.Компетенция КАК Компетенция, Вывод результат пустой т.к. условия И. Вопрос: Как получить список кандидатов которые знают УТ 10 ИЛИ УТ 11 больше чем на 4 И БП больше чем на 4 В приведенном примере это Кандидат3
#1 by Волшебник
сделай несколько левых соединений на каждую компетенцию
#2 by sinner_world
А как быть если пользователь в запросе будет выбирать их произвольно ??
#3 by Волшебник
динамически генери текст запроса
#4 by Лефмихалыч
>Вопрос: Как получить список кандидатов которые знают УТ 10 ИЛИ УТ 11 больше чем на 4 И БП больше чем на 4 надо сформировать таблицу с требуемыми компетенциями и баллами и потом эту таблицу содеинить с регистром внутренним соединением. И не едловать мозги компоновке и ее отборам
#5 by sinner_world
Ok Спасибо Буду пробовать.
#6 by Buster007
Вывод результат пустой т.к. условия И. а это где такое ты нашел? По-моему запрос нормальный, а косяк где-то в твоих параметрах.
#7 by sinner_world
Запрос нормальный, что бы ему быть не нормальным то. но если уберешь все условия кроме: ГДЕ П2 эде "УТ 10" а П5 это "БП"
#8 by Buster007
так ты на СКД не греши. То что ты указал в отборах, то он тебе и сформировал.
#9 by sinner_world
а с чего ты взял что я на него грешу. Если задача хочется решить ее на СКД, знаешь как подскажи.
#10 by sinner_world
Дошли руки сделать набросок решения задачи, может кому пригодится: На форме ТЗ СписокКомпетенция (Компетенция (Спр), Отбор (ТипОбластиОформленияВидСравнения), Оценка (Число)) И Отчет (ТабличныйДокумент) ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"Больше или равно",">="); ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"Меньше или равно","<=");
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С