Имя: Пароль:
1C
 
Разбить строку на подстроки запросом.
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
Независимо от того, куда вы едете — это в гору и против ветра!