Имя: Пароль:
1C
1С v8
как отделить триады чисел в запросе
,
0 svchernova
 
20.02.13
15:13
Здравствуйте,

вопрос вроде простой, но не получается реализовать. Есть число (цена без  копеек). Например, 49990. Как в запросе получить отдельно 49 и отдельно 990?

Спасибо.
1 mikecool
 
20.02.13
15:15
выразить(Сумма/1000 как число (15,0)
Сумма - выразить(Сумма/1000 как число (15,0)
и поработать над округлением
2 svchernova
 
20.02.13
15:16
Если поделить на 1000, то 49 округляется до 50. Может быть, можно как-то не округлять.. Или это вообще невозможно?
3 svchernova
 
20.02.13
15:17
(1) поработать над округлением - ого.. как же над ним поработать.. 48 тоже до 50 округлится.
4 mikecool
 
20.02.13
15:18
(3) а вот над этим думать лень )
5 mikecool
 
20.02.13
15:20
+4 а нет, не лень )
выбрать выразить((Сумма - 500)/1000  как число(15))
6 svchernova
 
20.02.13
15:20
(4) Да не лень.. просто получится вообще не зпрос, а черт те что..
7 samozvanec
 
20.02.13
15:21
(5) 49450 была сумма, че получишь?
8 svchernova
 
20.02.13
15:21
(5) сейчас попробую.. не уходи с ветки пожалуйста
9 samozvanec
 
20.02.13
15:21
(7) че надо, то и получит
10 mikecool
 
20.02.13
15:21
(6) есть вариант - делать это после запроса
но - если есть возможность сделать запросом - надо делать запросом
11 GANR
 
20.02.13
15:21
(3) См. сообщение (14) в ветке v8: Запрос - может получится выцепить идеи из запроса.
12 mikecool
 
20.02.13
15:21
(9) ты уж договорись сам с собой )))
13 mikecool
 
20.02.13
15:22
(11) это из пушки по воробьям, имхо
14 svchernova
 
20.02.13
15:22
(10) надо в запросе
15 samozvanec
 
20.02.13
15:23
(12) да тут сложный внутренний диалог)

вот еще сумма может не десятками тысяч исчисляться, а сотнями, или наоборот
16 GANR
 
20.02.13
15:23
(13) ну да, в (0) задача проще
17 mikecool
 
20.02.13
15:24
(15) пофик ) это как отцепить целую часть в запросе, только коэффициент 1000 )
18 svchernova
 
20.02.13
15:27
Получилось отделить 49. сейчас покумекаю, и 990 отделю :)
19 XLife
 
20.02.13
15:27
ВЫБРАТЬ
   ВЫРАЗИТЬ((Сумма - 500) / 1000 КАК ЧИСЛО(15, 0)) КАК Ч1,
   Сумма - (ВЫРАЗИТЬ((Сумма - 500) / 1000 КАК ЧИСЛО(15, 0))) * 1000 КАК Ч2
20 svchernova
 
20.02.13
15:27
Спасибо :)
21 svchernova
 
20.02.13
15:27
(19) Ого.. сейчас сделаю..
22 GANR
 
20.02.13
15:28
Соединить каждое число с таким подзапросом

ВЫБРАТЬ
   1 КАК Делитель

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   10

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   100

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   1000

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   10000

и можно получить выборку цифр каждого числа
23 svchernova
 
20.02.13
15:29
(19) Получилось!! Пою песенки, спасибо вам большое!
24 svchernova
 
20.02.13
15:30
Спасибо всем :)
25 Genius
 
20.02.13
15:33
Ну или вот что-то подобное доработать можно


ВЫБРАТЬ
   &Сумма КАК Сумма
ПОМЕСТИТЬ ЗначениеЧисла
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   х.Сумма КАК ИтоговыйРезультат,
   ВЫРАЗИТЬ(х.Сумма / 1000000 КАК ЧИСЛО(10, 0)) КАК Миллион,
   ВЫРАЗИТЬ(х.Сумма / 1000 КАК ЧИСЛО(10, 0)) КАК Тысяча
ИЗ
   ЗначениеЧисла КАК х
Основная теорема систематики: Новые системы плодят новые проблемы.