СокрЛП в Запросе #585176


#0 by neo1109
Собственно сабж. Можно ли как то "откусить" в строковом реквизите пробелы справа? Вдогонку задача 2: а потом получить после этого самый правый символ...
#1 by zak555
зачем строки в запросе ?
#2 by neo1109
Нууу, например то же наименование - чем не строка?
#3 by Aleksey
ВЫРАЗИТЬ ?
#4 by zak555
выводить куда будешь ? в макет ? там и откусывай =)
#5 by Aleksey
Начиная с 8.2.9 Операция языка запросов ВЫРАЗИТЬ возвращает строку переменной длины (без концевых пробелов) при приведении к типу СТРОКА. В режиме совместимости с версией 8.1 поведение не изменилось.
#6 by neo1109
Идем дальше ;) А как быть с задачей 2?
#7 by Паучог
А разве ВЫРАЗИТЬ применимо не только к полям составных типов?
#8 by mirosh
чой-то?
#9 by Wobland
истина обрабатывай уже после. зачем тебе это в запросе?
#10 by neo1109
см. задачу 2. нужен самый правый символ далее в запросе причем не пробел.
#11 by Wobland
посмотрел. ответь на
#12 by mirosh
да вы чего, парни? с помощью ВЫРАЗИТЬ, я, например, могу округлить число до целой части. И это не составной тип :).
#13 by Wobland
я не против, чего ты на меня "вы чего"? ;)
#14 by neo1109
самый правый символ нужен далее в запросе
#15 by Wobland
не верю ;)
#16 by neo1109
а если на секунду поверить? ;)
#17 by dk
меня тож бесит, что таких простых функций по работе с текстом в запросах 8-ки нету
#18 by Wobland
запроса не вижу, верить не стану. строки - вообще ветреная штука. сегодня один символ справа, завтра другой. имхо проблема в пути решения, которым ты пришёл к правому символу
#19 by dk
хотя часть задач можно через "подобно" решить
#20 by neo1109
вопрос то не в этом - оптимально или нет я решил ;) вопрос всего лишь - возможно или нет получить правый символ?..
#21 by andrewks
возможно. через изврат
#22 by Ненавижу 1С
зачем?
#23 by Evil-Wisp
Предварительно убрать в строке пробел сзади. Ну и выборов 20-30. В зависимости от того, какой длинны максимум у тебя будет строка
#24 by Evil-Wisp
Скобку потерял, после "КАК СТРОКА". Ну вот он, собстно изврат:)
#25 by luckyluke
только вот на кой вот эти все иначе, потом еще вылезет ошибка об ограничении вложенности оператора ВЫБОР.
#26 by Ненавижу 1С
на кой этот изврат я не в курсе, но я также не в курсе зачем делать вложенные ВЫБОР, если он нормально раскладывается в один длинный ВЫБОР
#27 by andrewks
не, настоящий изврат не так, и для произвольной длины строки
#28 by mirosh
извращенцы 80-го уровня))
#29 by andrewks
сделал для произвольной строки. страшно показывать :) кстати, вопрос: почему условие подстрока(стр,n,1)>"" ложно не тольуо для пустых строк, но и пробелов? как и подстрока(стр,n,1)<>""?
#30 by neo1109
будем считать что нельзя ;)
#31 by Anita_Rost
Потому что в "" - 0 символов. Если будет " ", то будет истина
#32 by Ненавижу 1С
потому что конечные пробелы срезаются
#33 by Max1986
нафига в запросе вырезать крайний правый символ. Была такая задача - можно и запросом - через временную ТЗ, только работает МЕДЛЕННО. Через ТЗ быстрее намного
#34 by andrewks
проблема не только в конечных пробелах. при расщеплении строки на символы с таким условием вылетают ВСЕ пробелы из строки, т.к. условие для пробела не выполняется. но, если выбрать без условия, то в результате правильно стоит символ пробела, а не пустая строка. где собака порылась?
#35 by vovus
Делай два запроса, а не один. Сформировал таблицу, откуда "поткусывать надо", выгрузил в ТЗ, обработал функцией СокрЛП, потом обратился к этой таблице из нового запроса
#36 by andrewks
это некошерно :) я делаю одним. да собственно, в применении к сабжу он и работает корректно. просто интересно, почему пробелы выпадают
#37 by vovus
Мне кажется, некошерно будет потом в таком извратном запросе работать, но наверное дело вкуса
#38 by andrewks
зри в сабж, мопед не мой :) я просто сделал решение извращённой проблемы ТС настолько же извращённым методом, и наткнулся на . стало интересно выяснить причину
#39 by andrewks
ап к
#40 by Ненавижу 1С
потому что если там пробел, то он как конечный (единственный вообще) обрезается и считается, что " "=""
#41 by andrewks
а почему тогда в результат запроса идёт не "", а " " получается, тут в уме держу, а тут нет? какое-то странное поведение, имхо
#42 by Ненавижу 1С
странное, сам не согласен, но тем не менее это даже стандарт SQL, которого придерживаются большинство СУБД просто хотел сделать движок, который бы единообразно работал всюду: на клиенте и в запросах, а тут такой замес ((
#43 by andrewks
ясно. ну, нет - так нет. просто раньше не сталкивался, а щас столкнулся - удивился
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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