Почему не работает функция Выразить( .... как строка(3)) в запросе для числ.знач #761004


#0 by AlexandrV
Почему не правильно работает функция Выразить( .... как строка) в запросе для числового значения Выдает пустую строку Если поставить Представить то получаю значение, но негде его в группировке использовать не могу и не могу взять из него часть строки Как получить из числового параметра в запросе строку нужной длинны, так что бы его дальше можно было использовать?
#1 by ДенисЧ
В запросе - никак.
#2 by GROOVY
Никак.
#3 by itlikbez
В принципе - можно, но это будет изврат редкостный. Используешь остаток от деления и ПОДСТРОКА.
#4 by PCcomCat
Хорошо подумай, зачем тебе именно так. Соглашусь с мнением большинства, что подобного рода требования - это ошибка проектирования. Попробуй найти другой вариант, учитывая, что первый вариант не реализуем - он точно есть.
#5 by AlexandrV
сам запрос довольно большой и если не удастся получить этот кусок строки (его дальше надо сравнивать с другими строками и потом объединять, если не удастся придется переписывать весь алгоритм в модуль)
#6 by AlexandrV
единственный метод я сам вижу это выгрузить все в таблицу в программе обработать и потом в запрос по новой забросить
#7 by PCcomCat
Иногда проще переписать кусок запроса, чем вставлять костыли.
#8 by Посмотрим
Заполнить всевозможные числовые значения (если они конечны) в ТЗ (колонка1,колонка2 - 3,14,"3,14") и засунуть в запрос, ну и левым к ТЗ
#9 by PCcomCat
А для чего нужно число в строку, если не секрет?
#10 by itlikbez
Для трехзначных чисел будет работать что-то типа: [1C] ВЫБРАТЬ ПОДСТРОКА("0123456789",563/100+1,1)+ ПОДСТРОКА("0123456789",(563-(Выразить(563/100 - 0.5 как ЧИСЛО(3,0))*100)-563+(Выразить(563/10 - 0.5 как ЧИСЛО(3,0))*10))/10+1,1)+ ПОДСТРОКА("0123456789",563-(Выразить(563/10 - 0.5 как ЧИСЛО(3,0))*10)+1,1) [1C]
#11 by mikecool
а что такое Представить в языке запросов?
#12 by mikecool
+11 не нашел в списке функций
#13 by GROOVY
Ты даже не Представляешь Думаю ТС ошибся с Представление
#14 by mikecool
я уж подумал - может это 8.3.7 на лыжах дошла )
#15 by Ildarovich
Если очень хочется, то можно! Вот статья: Выразить число как строку и дату как строку в запросе . Для трехзначного числа выражение будет не слишком сложным:
#16 by AlexandrV
число может быть трехзначным, а этот вариант работает только для числа
#17 by AlexandrV
+ только для одной цифры
#18 by itlikbez
Для любого трехзначного числа работает.
#19 by AlexandrV
ВЫБРАТЬ
#20 by itlikbez
У тебя остаток от деления считается неправильно. Ты не учел, что ВЫРАЗИТЬ округляет по правилам округления, а не отбрасывает дробную часть.
#21 by itlikbez
+ Вариант из лучше.
#22 by AlexandrV
в системе настраивается как округлять
#23 by itlikbez
Каким образом?
#24 by AlexandrV
поправил запрос ВЫБРАТЬ
#25 by itlikbez
Должно работать.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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