Разделить один столбец на несколько (СКД). #663588


#0 by AndrewM
Возможно ли в СКД такое разделение? Пример, результат запроса: Хеллоу1 | Хай1 Хеллоу1 | Хай2 Хеллоу2 | Хай1 Хеллоу2 | Хай2 Хеллоу3 | Хай1 Хеллоу3 | Хай2 Нужно получить следующее: Хеллоу1 Хеллоу2 Хеллоу3 ------- ------- -------  Хай1    Хай1    Хай1  Хай2    Хай2    Хай2 Умеет ли СКД такое? Если да, то подскажите, как.
#1 by Wobland
подстрокой можно поделить любую строку
#2 by AndrewM
а можно поподробнее )
#3 by Wobland
Данная функция предназначена для выделения подстроки из строки. В функцию передается три параметра. Первый параметр – строка, из которой необходимо выделить подстроку. Выражение, имеющее тип СТРОКА. Второй параметр – позиция символа, с которого начинается выделяемая из строки подстрока. Значение типа ЧИСЛО. Третий параметр – длина выделяемой подстроки. Значение типа ЧИСЛО. Если в качестве первого параметра фигурирует строка, то результатом функции будет строка (возможно нулевой длины). Если в качестве первого параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки.
#4 by AndrewM
Ну, просвети, как с помощью этой функции из одной колонки сделать несколько колонок. Я не врубаюсь. Вообще правильно я понимаю, что ты предлагаешь делить колонку на несколько ещё на этапе запроса, а не средствами СКД? Это мне было бы тоже интересно, но я не понял, как это сделать с помощью функции выделения подстроки.
#5 by Wobland
подстрока(поле1, 1, 2) как раз, подстрока(поле1, 3, 4) как два вот тебе два поля из одного
#6 by AndrewM
Наверное, я не удачно выразился. В моём примере: Хеллоу1 | Хай1 Хеллоу1 | Хай2 Хеллоу2 | Хай1 Хеллоу2 | Хай2 Хеллоу3 | Хай1 Хеллоу3 | Хай2 это два столбца, не один. Т.е. имеется уже два столбца, из которых: - правый нужно разделить на отдельные колонки; - а левый является ориентиром для этого разделения (группировкой). Проблема в том, что если я пытаюсь ставить группировку в колонки таблицы (в настройках СКД), получается что-то типа такого: Хеллоу1 Хеллоу1 Хеллоу2 Хеллоу2 Хеллоу3 Хеллоу3 ------- ------- ------- ------- ------- -------
#7 by Wobland
ну и зачем ты тогда мне мозг любил всё это время? по всей видимости ты хочешь группировку по первому полю, имея ресурсом второе и только
#8 by AndrewM
да, но второе поле, даже будучи ресурсом, никак не хочет вставать в столбец, оно располагается в строку, и получается длиннющая таблица.
#9 by Wobland
таблица тут зачем?
#10 by AndrewM
если делать списком с помощью группировки, то получается так: Хеллоу1          Хай1          Хай2 Хеллоу2          Хай1          Хай2 Хеллоу3          Хай1          Хай2 так ведь? Но мне нужно, чтобы выглядело именно так, как я нарисовал: Хеллоу1 Хеллоу2 Хеллоу3 ------- ------- -------  Хай1    Хай1    Хай1  Хай2    Хай2    Хай2
#11 by AndrewM
Нашёл решение. Нужно добавить ещё одну колонку в запросе, чтобы получились примерно такие три колонки: 1 | Хеллоу1 | Хай1 2 | Хеллоу1 | Хай2 1 | Хеллоу2 | Хай1 2 | Хеллоу2 | Хай2 1 | Хеллоу3 | Хай1 2 | Хеллоу3 | Хай2 Теперь если в настройках СКД выбрать таблицу, в строках указать первый столбец запроса, в колонках - второй столбец запроса, а третий столбец сделать ресурсом, тогда получается то, что я и хотел. :)
#12 by mistеr
Хорошо что сам дошел
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С