![]() |
СКД: группировка по части наименования Добрый день, возможно ли средствами СКД сделать группировку по части наименования номенклатуры? Наименование выглядят следующим образом: F8 900 Плоский F8 900 Квадратный F8 800 Плоский F8 800 Плоский Группировку необходимо сделать по числу после первого пробела - 800,900 или же только обработкой это выносить в доп.реквизит? Конфигурация УНФ 1.3 |
Так не пойдёт? ВЫБРАТЬ ПОДСТРОКА(Банки.Наименование, 1, 6) КАК Поле1 ИЗ Справочник.Банки КАК Банки |
(1)Очень похоже на то что нужно, но есть одна загвоздка, не указанная в топике. Позиция первого пробела может изменяться :( F8 900 Плоский D39 900 Плоский А как выяснить позицию первого пробела в наименовании в запросе и подставить эту позицию в функцию (1) умения у меня не хватает |
2(2) [em]выяснить позицию первого пробела в наименовании в запросе и подставить эту позицию в функцию[/em] Так не получится, насколько я понимаю. |
(+2)Еще мысль, есть в общих модулях функция РазложитьСтрокуВМассивПодстрок(), передав в качестве разделителя пробелы получим во втором параметре массива нужное значение. Осталось понять можно ли это использовать внутри запроса, что получить по этому значению группировку |
2(4) [em]можно ли это использовать внутри запроса[/em] Насколько я понимаю - нет. |
Ура, получилось. Пришлось добавить в общие модули функцию дублирующую функцию РазложитьСтрокуВМассивПодстрок, которая возвращает не массив, а конкретное значение массива, данном случае [1] Выражение в вычисляемом поле выглядит следующим образом СтроковыеФункцииКлиентСервер.тРазложитьСтрокуВМассивПодстрок(Номенклатура.Наименование, " ") |
Текущее время: 04:31. Часовой пояс GMT +3. |