Проблема с параметрами MultiSelectData - как правильно принять в select_query

Для отчета создан Custom Filter. Помимо прочих полей там присутствует MultiselectData. На данный момент он не работает (не выводятся данные, это проблема решается параллельно), потому я хочу протестировать отчет, заполнив его жестко заданными данными.

Поскольку, как я знаю, результат MultiSelectData - это значения через запятую, то в select_query я поставила на WHERE тип включение (IN) :

Далее, если я в значение параметра ShopName вбиваю одно название магазина, то все работает. Но как только я пытаюсь добавить еще какое-то значение - вывода данных не производится.
Те. вариант
ааа
работает, а варианты
'aaa'
aaa, bbb
'aaa', 'bbb'
{aaa, bbb}
{'aaa', 'bbb}

не работают.

Точно такая же проблема, если я пытаюсь передать данные из скрипта :

var ShopName = 'aaa, bbb';
SetParameterValue(ShopDataset.SelectQuery.Parameters, 'ShopName', ShopName); //wndMultiShopChoise.Value);

Как надо правильно передать данные в этом случае?

Нравится

2 комментария

В скрипте так var ShopName = 'aaa, bbb'; вы получаете строку. Вам нужен массив. Попробуйте так,

var ShopName = ['aaa' , 'bbb']; 

Можно также пригодится push, если вы не знаете конкретных названий, а вбиваете из базы в цикле:

var ShopName = [];
ShopName.push('aaa');
ShopName.push('bbb');

Здравствуйте, Наталия!

В данном случае Александр прав, значения во множественный фильтр передаются в виде массива. Пример обращения к подобному фильтру из кода:

var List = [];
for (var i = 0; i < AdminUnitIDsList.Count; i++) {
	List.push(AdminUnitIDsList.Items(i));
}
ApplyDatasetIncludeFilter(Dataset, 'AdminUnitIDs', List, true);
Показать все комментарии