Проблема с параметрами MultiSelectData - как правильно принять в select_query
Для отчета создан Custom Filter. Помимо прочих полей там присутствует MultiselectData. На данный момент он не работает (не выводятся данные, это проблема решается параллельно), потому я хочу протестировать отчет, заполнив его жестко заданными данными.
Поскольку, как я знаю, результат MultiSelectData - это значения через запятую, то в select_query я поставила на WHERE тип включение (IN) :
Далее, если я в значение параметра ShopName вбиваю одно название магазина, то все работает. Но как только я пытаюсь добавить еще какое-то значение - вывода данных не производится.
Те. вариант
ааа
работает, а варианты
'aaa'
aaa, bbb
'aaa', 'bbb'
{aaa, bbb}
{'aaa', 'bbb}
не работают.
Точно такая же проблема, если я пытаюсь передать данные из скрипта :
SetParameterValue(ShopDataset.SelectQuery.Parameters, 'ShopName', ShopName); //wndMultiShopChoise.Value);
Как надо правильно передать данные в этом случае?
Нравится
В скрипте так 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);