К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

СКД: группировка по части наименования

Гость
0 - 21.07.2014 - 07:23
Добрый день, возможно ли средствами СКД сделать группировку по части наименования номенклатуры?
Наименование выглядят следующим образом:
F8 900 Плоский
F8 900 Квадратный
F8 800 Плоский
F8 800 Плоский
Группировку необходимо сделать по числу после первого пробела - 800,900 или же только обработкой это выносить в доп.реквизит? Конфигурация УНФ 1.3



1 - 21.07.2014 - 08:39
Так не пойдёт?

ВЫБРАТЬ
ПОДСТРОКА(Банки.Наименование, 1, 6) КАК Поле1
ИЗ
Справочник.Банки КАК Банки
Гость
2 - 21.07.2014 - 10:59
(1)Очень похоже на то что нужно, но есть одна загвоздка, не указанная в топике. Позиция первого пробела может изменяться :(
F8 900 Плоский
D39 900 Плоский
А как выяснить позицию первого пробела в наименовании в запросе и подставить эту позицию в функцию (1) умения у меня не хватает
3 - 21.07.2014 - 11:04
2(2) выяснить позицию первого пробела в наименовании в запросе и подставить эту позицию в функцию
Так не получится, насколько я понимаю.
Гость
4 - 21.07.2014 - 11:05
(+2)Еще мысль, есть в общих модулях функция РазложитьСтрокуВМассивПодстрок(), передав в качестве разделителя пробелы получим во втором параметре массива нужное значение. Осталось понять можно ли это использовать внутри запроса, что получить по этому значению группировку
5 - 21.07.2014 - 11:19
2(4) можно ли это использовать внутри запроса
Насколько я понимаю - нет.
Гость
6 - 21.07.2014 - 12:26
Ура, получилось. Пришлось добавить в общие модули функцию дублирующую функцию РазложитьСтрокуВМассивПодстрок, которая возвращает не массив, а конкретное значение массива, данном случае [1]
Выражение в вычисляемом поле выглядит следующим образом
СтроковыеФункцииКлиентСервер.тРазложитьСтрокуВМасс ивПодстрок(Номенклатура.Наименование, " ")


К списку вопросов






Copyright ©, Все права защищены