powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / 8.2 СКД передача в параметр пустого списка значений
14 сообщений из 14, страница 1 из 1
8.2 СКД передача в параметр пустого списка значений
    #37322624
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эхх было дело в 7ке передаешь в запрос пустой список значений и фильтр отключается

мне вот так же надо в СКД чтобы передать пустой список и фильтр соответственно не отработал

т.е. устанавливаешь в условиях "в" затем в параметрах ставишь что можно выбирать из списка

оно работает НО если в списке ничего нет то ничего и не выбирается хотя должно быть всё

причем если делаешь программный запрос с программной же передачей данных в параметр (массивом) то там работает :(

я чет не догоняю или логика у СКД немного другая... как-то или в массив надо преобразовать перед передачей или чего вообще делать
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37322671
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или как скажем повесить флаг перед выполнением запроса что переданный список пуст... по нему уже и отбирать в "ИЛИ"
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37323012
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо условие заключить в {} тогда компоновка будет их игнорировать, если пустые. Примерно так:
ВЫБРАТЬ
ПродажиОбороты.Номенклатура,
ПродажиОбороты.Поставщик,
ПродажиОбороты.ДоговорПоставщика,
ПродажиОбороты.КоличествоОборот,
ПродажиОбороты.СуммаОборот
ИЗ
РегистрНакопления.Продажи.Обороты(, , , {Поставщик В (&Поставщик)}) КАК ПродажиОбороты
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37323018
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmenили как скажем повесить флаг перед выполнением запроса что переданный список пуст... по нему уже и отбирать в "ИЛИ" Да, и еще вопрос, а чем стандартный отбор компоновки не подходит (т.е. если не задавать параметров, компоновка сама предложит отбор)?
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37323414
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyZНадо условие заключить в {} тогда компоновка будет их игнорировать, если пустые. Примерно так:
ВЫБРАТЬ
ПродажиОбороты.Номенклатура,
ПродажиОбороты.Поставщик,
ПродажиОбороты.ДоговорПоставщика,
ПродажиОбороты.КоличествоОборот,
ПродажиОбороты.СуммаОборот
ИЗ
РегистрНакопления.Продажи.Обороты(, , , {Поставщик В (&Поставщик)}) КАК ПродажиОбороты

мне в ГДЕ надо... а там ругается

Операция не разрешена в предложении "ГДЕ"
И ({ВидыИмущества.ТипИмущества В(&ТипИмущества)}<<?
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37323424
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyZLast1Cmenили как скажем повесить флаг перед выполнением запроса что переданный список пуст... по нему уже и отбирать в "ИЛИ" Да, и еще вопрос, а чем стандартный отбор компоновки не подходит (т.е. если не задавать параметров, компоновка сама предложит отбор)?

да ничего она не предлагает... просто не отбирает если список отбора не заполнен и всё

т.е. там если в параметр передаешь список значений процессор его приводит к массиву и отбор получается а если список пуст то никакого преобразования не происходит или как-то не так происходит (не так как положено отрабатывать оператору "В")

а вариант с комментариями не проходит... там не вирт. таблица регистров
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37323483
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот выгрузка тестовая
необходимо чтобы при переадаче пустого списка фильтр не работал

версия 14.460
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37323558
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно конечно навесить туда обыкновенный отбор (там можно выставть и в списке и не в списке) но это же идиотизм уже будет как в управлении небольшой фирмой сделали... условия на уровне таблиц только период есть а остальное уже просто отборами это верх конечно производительности :)
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37323581
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmenможно конечно навесить туда обыкновенный отбор (там можно выставть и в списке и не в списке) но это же идиотизм уже будет как в управлении небольшой фирмой сделали... условия на уровне таблиц только период есть а остальное уже просто отборами это верх конечно производительности :)
Да нормально все будет. Условие ведь накладывается в "ГДЕ" (это в запросе) поэтому в любом случае будет сначала сделана полная выборка, а потом отсечено ненужное. Обыкновенный отбор сработает так же.
P.S. Демо не качал. Нет у меня на работе 14.460, а качать неохота.
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37323605
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да по моему нет... отбор это ведь уже на уровне having(имеющие) а ГДЕ как раз на уровне таблиц до группировок и джойнов
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37323687
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmenда по моему нет... отбор это ведь уже на уровне having(имеющие) а ГДЕ как раз на уровне таблиц до группировок и джойнов
Ну, может быть. Нас рассудит только трэйс запроса. А по теме если уж не хочется использовать обычный отбор, тогда делать через код. Можно еще извратиться через доп. параметр типа:
И ВЫБОР КОГДА &ОтборПоСписку (это доп. параметр)
ТОГДА (ВидыИмущества.ТипИмущества В(&ТипИмущества))
ИНАЧЕ
ИСТИНА
КОНЕЦ
но, в этом случае еще придется этот доп. параметр указывать. Мое мнение - делать через стандартный отбор :)
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37324082
SLab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmen,

Так?
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37324161
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да... как вариант да, т.е. если передаем не пустой список а вообще список не передаем то фильтр должен отключаться

только вот смущает то что внутри запроса без конструктора обходиться приходиться ну да ладно

спасибо :)

предложенное решение кому интересно

Код: plaintext
1.
2.
3.
4.
5.
6.
ВЫБРАТЬ
	Справочник1.Ссылка,
	Справочник1.Реквизит1
ИЗ
	Справочник.Справочник1 КАК Справочник1
{ГДЕ
	Справочник1.Реквизит1 В (&спОтбора)}

где спОтбора есть праметр который используется в виде списка но если он отключается в настройках параметров то условие не валиться с ошибкой на отсутствие значения этого параметра в запросе
...
Рейтинг: 0 / 0
8.2 СКД передача в параметр пустого списка значений
    #37324655
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот и вариант с множественным отбором

различные варианты передачи отключенных параметров
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / 8.2 СКД передача в параметр пустого списка значений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]