Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 12:11

СКД не формируется выборка по всем без предварительно формирования по условию

Автор Алексей2014, 27 сен 2016, 07:57

0 Пользователей и 1 гость просматривают эту тему.

Алексей2014

Подскажите пож. След. пример - простая конф. Отчет на СКД. Так вот, если параметр Группа не заполнен не начинает выбирать по всем, пока не выбрать первый раз по какому-либо значению.

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

LexaK

так условий для СКД необходимо использовать фигурные скобки
попробуйте вале ГДЕ заменить на такую конструкцию

{ГДЕ
ВыходыСрезПоследних.ФИО.Группа = &Группа
}


в этом случае, если задан параметр Группа, сработает условие, если не задан - будет выбрано все.
если помогло нажмите: Спасибо!

Алексей2014

Цитата: LexaK от 27 сен 2016, 10:02
так условий для СКД необходимо использовать фигурные скобки
попробуйте вале ГДЕ заменить на такую конструкцию

{ГДЕ
ВыходыСрезПоследних.ФИО.Группа = &Группа
}


в этом случае, если задан параметр Группа, сработает условие, если не задан - будет выбрано все.
Этот вариант работает если выбран параметр Группа. Если он не заполнен данные не  выводятся, т.к. нет проверки на пустую ссылку. А так, по моему коду, что условие задано на закладке условий, что на закладке компоновка-условия у меня отрабатывает одинаково - первое открытие "по-всем" не выбирает, а только после выбора к-л значения параметра, и затем установки в пустое поле. Правда это происходит только при первом выборе. Все последующие открытия и выборы формы корректны.

LexaK

Все правильно! У параметра есть галочка Использовать!
Если вам не надо искать по параметру, снимите эту галочку.
А если стоит галочка а параметр не заполнен (пустая ссылка) то отчет СКД искренне считает что вы хотите найти данные с пустой группой в вашем случае.
если помогло нажмите: Спасибо!

Алексей2014

Цитата: LexaK от 27 сен 2016, 12:11
Все правильно! У параметра есть галочка Использовать!
Если вам не надо искать по параметру, снимите эту галочку.
А если стоит галочка а параметр не заполнен (пустая ссылка) то отчет СКД искренне считает что вы хотите найти данные с пустой группой в вашем случае.
Ну это другое дело. Я-то, ставлю у параметра свойство Использование "Всегда", поэтому на форме никакой галочки нет. Поэтому, чтобы работал ваш вариант нужно перевести Использование в "Авто". Тогда это условие будет работать, если оно будет прописано именно на закладке "Компоновка данных"-"Условия", и выводиться будут все данные при снятой галке.
При этом возникает другая проблема - создан макет и параметры указаны в заголовке, если мы снимаем галочку, то параметра и нет вовсе, поэтому появляется сообщение "Не установлено значение параметра"
Добавлено: 27 сен 2016, 14:26


отчет
Добавлено: 27 сен 2016, 14:30


причем ошибка видимо как раз из-за обращения в макете к параметру у которого сброшена галка выбора.
Добавлено: 28 сен 2016, 09:19


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


Вариант настроек без макета при отключенной галке "Гр работ" выбирает по всем, что хорошо:

Добавлено: 28 сен 2016, 09:28


Но с макетом выдает ошибку "Не установлено значение параметра "Гр работ".
Ни значение Представление(ПараметрыДанных.ГрРабот)
ни ВЫБОР
КОГДА ЗначениеЗаполнено(ПараметрыДанных.ГрРабот)
ТОГДА Представление(ПараметрыДанных.ГрРабот)
ИНАЧЕ  "По всем"
КОНЕЦ

не могут прописать корректно не выбранный параметр макета. Есть у кого варианты решения?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск