Имя: Пароль:
1C
1С v8
Как объединить номенклатуру обрезав часть наименования в запросе
0 menone_777
 
15.03.22
22:33
есть таблица значения №1:

Количество          Номенклатура  
5                   Стул Оскар, эмаль
4                   Стул Оскар, морилка
3                   Стол обеденный Шейх-мини, МДФ, эмаль
4                   Стол обеденный Шейх-мини, МДФ, морилка
10                  Стол обеденный Шейх-мини, ЛДСП, эмаль

в итоге нужно получить таблицу №2(тип значения колонки "Номенклатура" здесь уже строка)

Количество          Номенклатура  
9                   Стул Оскар
17                  Стол обеденный Шейх-мини

Обрезать до первой запятой. Как можно это устроить?
1 hhhh
 
15.03.22
22:57
смотрите в справке и в синтакс помощнике финкции работы со строками.
2 menone_777
 
15.03.22
23:09
(1) мне бы хотелось узнать направление. В теории что преобразовать, куда поместить. В тех. вопросах уже разберусь. Просто для начала в голове пазл не складывается. Туплю
3 AlvlSpb
 
15.03.22
23:32
(2) Если все что после запятой это продолжение наименования, а не характеристики, то выводи запрос с Номенклатура.Наименование, выгружай результат в ТЗ и обрабатывай строки ТЗ в цикле (ну или без выгрузки в перебирая выборку)
4 AlvlSpb
 
15.03.22
23:39
(3) Забыл добавить: После цикла сверни таблицу
5 OldCondom
 
16.03.22
00:07
(3) да он сам пишет "здесь наименование уже строка"
6 OldCondom
 
16.03.22
00:08
ой, номенклатура
7 menone_777
 
16.03.22
05:48
(4) Спасибо. Заработало!)
8 Фрэнки
 
16.03.22
08:23
что за чушь?

В топике просили обработать строки наименования внутри запроса, а не в обработке результатов запроса.

Так-то понятно, что любой 1с-ник предложит обработать таблицу значений в цикле, но это же не запрос!
9 hhhh
 
16.03.22
08:48
(8) но тс же всё сделал. Значит, обсуждение натолкнуло его на правильную мысль.
10 Said_We
 
17.03.22
00:58
(8) Запросом тоже можно. Но не нужно. Если номенклатуры много, то...

Длина наименование номенклатуры пусть 150 символов. Параждающий запрос на 150 от 0 до 149.
Наименование всей номенклатуры разбиваете по символьно для каждой ссылки.
Находите позицию первой запятой для каждого ссылки номенклатуры - функция мин(). Все символы что более и равны позиции запятой для каждой ссылки номенклатуры забываете.
Далее опять собираете строку за несколько итераций. Первый символ со вторым, третий с четвертым и т.д. Полученную строку ещё раз. 2 в 8 степени = 256. Т.е. для 150 символов понадобиться максимум 8 итераций.
11 Said_We
 
17.03.22
01:13
Закон Брукера: Даже маленькая практика стоит большой теории.