Как в СКД преобразовать строку в число? #674561


#0 by SherifSP
Пишу ВЫРАЗИТЬ(НомерДома, КАК Число) запрос отвечает: Не совместимые типы "ВЫРАЗИТЬ", как тогда можно преобразовать строку в число?
#1 by Капитан О
на зачем?
#2 by SherifSP
Для сортировки, по строке не правильно сортирует
#3 by cw014
А если номер дома = "29-а"???
#4 by SherifSP
Делема)
#5 by Капитан О
что это?
#6 by rinatru
дилемма
#7 by cw014
Не знаю, может тещю так зовут
#8 by SherifSP
Но дробная часть отдельным полем выводится
#9 by Капитан О
а ты насильно присвой туда ересь
#10 by Капитан О
+ тип поля же такое позволяет
#11 by SherifSP
В скд на закладке вычисления в поле значение выставил этому полю число, но сортировка не работает
#12 by Nexux
не в запросе не получится, в вычисляемых полях попробовать можно Число([ИмяПоля])
#13 by salvator
Напиши свою функцию и вызывай ее в вычисляемых полях
#14 by Serg_1960
Это пятница :) По теме: Чтобы сортировка имела хоть какой-то смысл - надо "стандартизировать" написание номера дома. А вот это в типовых нет. Можно предпологатьвстретить в адресе любое написание "29-а" ("29а", "29А" и т.д.) В СКД - только вызовом внешней функции решается
#15 by SherifSP
Дайте ссылку на эту функцию?)
#16 by cw014
Напишите сами
#17 by SherifSP
Там велосипед нужно придумывать, а хотелось бы к общему принципу свести
#18 by cw014
Никаких велосипедов, работы на 5 минут с перекурами
#19 by SherifSP
Через попытку попробовать сразу в число преобразовать в исключении перебрать каждый символ значения, откинуть не нужное и преобразовать в число?
#20 by cw014
Исключи попытку и первое преобразование
#21 by Капитан О
43/4 - > 434
#22 by cw014
+ Перебирай строку, проверяй, что у тебя код символа текущий между 48 и 57 (включительно). Если не так, прерывай цикл и то что получилось преобразовывай в число
#23 by SherifSP
К функции обращаться в поле выражение и передавать туда свое значение?
#25 by KAO111
В СКД: Будет нормально сортироваться за счет первых пробелов
#26 by KAO111
ПОДСТРОКА("       ",1,10-ДЛИНАСТРОКИ(НомерДома)) +  НомерДома
#27 by cw014
Математик, уважаю... Только вместо пробелов наверное лучше "0" поставить
#28 by Капитан О
опля! длина строки появилась? давно?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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