![]() |
|
Разбить строку на подстроки запросом. | ☑ | ||
---|---|---|---|---|
0
Lama12
18.10.24
✎
17:07
|
Нашел старую тему
Разбить строку запросом В ней запросВЫБРАТЬ 0 КАК Номер ПОМЕСТИТЬ Цифры ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Н1.Номер * 100 + Н2.Номер * 10 + Н3.Номер КАК Номер ПОМЕСТИТЬ Номера ИЗ Цифры КАК Н1 ЛЕВОЕ СОЕДИНЕНИЕ Цифры КАК Н2 ПО (ИСТИНА) ЛЕВОЕ СОЕДИНЕНИЕ Цифры КАК Н3 ПО (ИСТИНА) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ &ИсходнаяСтрока + &Разделитель КАК Текст ПОМЕСТИТЬ Строка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПОДСТРОКА(ВЗ.Текст, ВЗ.Н + 1, ВЗ.К - ВЗ.Н - 1) КАК Поле1 ИЗ (ВЫБРАТЬ Номера.Номер КАК Н, МИНИМУМ(Н.Номер) КАК К, МАКСИМУМ(Н.Номер) КАК Макс, Строка.Текст КАК Текст ИЗ Номера КАК Номера ВНУТРЕННЕЕ СОЕДИНЕНИЕ Строка КАК Строка ПО (ПОДСТРОКА(Строка.Текст, Номера.Номер, 1) ПОДОБНО "[" + &Разделитель + "]" ИЛИ Номера.Номер = 0) ВНУТРЕННЕЕ СОЕДИНЕНИЕ Номера КАК Н ПО (ПОДСТРОКА(Строка.Текст, Н.Номер, 1) ПОДОБНО "[" + &Разделитель + "]") И (Н.Номер > Номера.Номер) СГРУППИРОВАТЬ ПО Номера.Номер, Строка.Текст) КАК ВЗ Далее пишут что запрос рабочий, и строку разбивает. По смыслу вроде должен разбивать, но не разбивает. Ошибку не вижу. Неужели за 12 лет ПОДОБНО стало работать по другому? |
|||
1
Галахад
гуру
18.10.24
✎
17:05
|
А параметр-то норм?
|
|||
2
Lama12
18.10.24
✎
17:10
|
(1) Да. Пробовал даже из исходной ветки.
|
|||
3
osa1C
18.10.24
✎
17:10
|
(0) Что не работает? Проверил на 1С:Предприятие 8.3 (8.3.25.1286) работает!
|
|||
4
osa1C
18.10.24
✎
17:13
|
(0) Что не так?
|
|||
5
Lama12
18.10.24
✎
17:12
|
(3) Платформа 8.3.25.1394
Исходная строка "а,аа,ааа" Разделитель ",". Результат пустой. |
|||
6
Волшебник
18.10.24
✎
17:14
|
(5) Да ты гонишь...
![]() |
|||
7
Lama12
18.10.24
✎
18:22
|
(6) Да ну нафиг. Консоль с ИТС.
Текст файла сохраненного запроса из консоли. Подробности<?xml version="1.0" encoding="UTF-8"?> <querylist> <query name="0 Номер ПОМЕСТИТЬ Цифры ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕД"> <text>ВЫБРАТЬ 0 КАК Номер ПОМЕСТИТЬ Цифры ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Н1.Номер * 100 + Н2.Номер * 10 + Н3.Номер КАК Номер ПОМЕСТИТЬ Номера ИЗ Цифры КАК Н1 ЛЕВОЕ СОЕДИНЕНИЕ Цифры КАК Н2 ПО (ИСТИНА) ЛЕВОЕ СОЕДИНЕНИЕ Цифры КАК Н3 ПО (ИСТИНА) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ &ИсходнаяСтрока + &Разделитель КАК Текст ПОМЕСТИТЬ Строка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПОДСТРОКА(ВЗ.Текст, ВЗ.Н + 1, ВЗ.К - ВЗ.Н - 1) КАК Поле1 ИЗ (ВЫБРАТЬ Номера.Номер КАК Н, МИНИМУМ(Н.Номер) КАК К, МАКСИМУМ(Н.Номер) КАК Макс, Строка.Текст КАК Текст ИЗ Номера КАК Номера ВНУТРЕННЕЕ СОЕДИНЕНИЕ Строка КАК Строка ПО (ПОДСТРОКА(Строка.Текст, Номера.Номер, 1) ПОДОБНО "[" + &Разделитель + "]" ИЛИ Номера.Номер = 0) ВНУТРЕННЕЕ СОЕДИНЕНИЕ Номера КАК Н ПО (ПОДСТРОКА(Строка.Текст, Н.Номер, 1) ПОДОБНО "[" + &Разделитель + "]") И (Н.Номер > Номера.Номер) СГРУППИРОВАТЬ ПО Номера.Номер, Строка.Текст) КАК ВЗ </text> <textSQL> </textSQL> <planSQL> </planSQL> <typeSQL> </typeSQL> <parameters> <parameter name="ИсходнаяСтрока" type="Строка" value="а,аа,ааа"/> <parameter name="Разделитель" type="Строка" value=","/> </parameters> </query> </querylist> |
|||
8
osa1C
18.10.24
✎
17:19
|
(5) Может разделитель ты так и ставишь в кавычках?
|
|||
9
Волшебник
18.10.24
✎
17:19
|
(7) Да ну нафиг. У меня консоль ИР
|
|||
10
Lama12
18.10.24
✎
17:20
|
Проверил на платформе 8.3.25.1286
Все работает. Проблема в платформе. Спасибо! |
|||
11
osa1C
18.10.24
✎
17:25
|
(10) Что-то про платформу 8.3.25.1394 слишком много гадостей собралось
|
|||
12
osa1C
18.10.24
✎
17:26
|
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |