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] Выражение в вычисляемом поле выглядит следующим образом СтроковыеФункцииКлиентСервер.тРазложитьСтрокуВМасс ивПодстрок(Номенклатура.Наименование, " ") | |
| Интернет-форум Краснодарского края и Краснодара |