Имя: Пароль:
1C
 
Выразить строку как число и обратно
0 программистище
 
11.03.09
20:18
ВЫБРАТЬ
   "00000" + ВЫБОР
       КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) = 1
           ТОГДА "1"
       ИНАЧЕ ВЫБОР
               КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) = 2
                   ТОГДА "2"
               ИНАЧЕ ВЫБОР
                       КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) = 3
                           ТОГДА "3"
                       ИНАЧЕ ВЫБОР
                               КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) = 4
                                   ТОГДА "4"
                               ИНАЧЕ ВЫБОР
                                       КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) = 5
                                           ТОГДА "5"
                                       ИНАЧЕ ВЫБОР
                                               КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) = 6
                                                   ТОГДА "6"
                                               ИНАЧЕ ВЫБОР
                                                       КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) = 7
                                                           ТОГДА "7"
                                                       ИНАЧЕ ВЫБОР
                                                               КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) = 8
                                                                   ТОГДА "8"
                                                               ИНАЧЕ ВЫБОР
                                                                       КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) = 9
                                                                           ТОГДА "9"
                                                                       ИНАЧЕ "0"
                                                                   КОНЕЦ
                                                           КОНЕЦ
                                                   КОНЕЦ
                                           КОНЕЦ
                                   КОНЕЦ
                           КОНЕЦ
                   КОНЕЦ
           КОНЕЦ
   КОНЕЦ + ВЫБОР
       КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) * 1000) / 100 - 0.5 КАК ЧИСЛО(1, 0))) = 1
           ТОГДА "1"
       ИНАЧЕ ВЫБОР
               КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) * 1000) / 100 - 0.5 КАК ЧИСЛО(1, 0))) = 2
                   ТОГДА "2"
               ИНАЧЕ ВЫБОР
                       КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) * 1000) / 100 - 0.5 КАК ЧИСЛО(1, 0))) = 3
                           ТОГДА "3"
                       ИНАЧЕ ВЫБОР
                               КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) * 1000) / 100 - 0.5 КАК ЧИСЛО(1, 0))) = 4
                                   ТОГДА "4"
                               ИНАЧЕ ВЫБОР
                                       КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) * 1000) / 100 - 0.5 КАК ЧИСЛО(1, 0))) = 5
                                           ТОГДА "5"
                                       ИНАЧЕ ВЫБОР
                                               КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) * 1000) / 100 - 0.5 КАК ЧИСЛО(1, 0))) = 6
                                                   ТОГДА "6"
                                               ИНАЧЕ ВЫБОР
                                                       КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) * 1000) / 100 - 0.5 КАК ЧИСЛО(1, 0))) = 7
                                                           ТОГДА "7"
                                                       ИНАЧЕ ВЫБОР
                                                               КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) * 1000) / 100 - 0.5 КАК ЧИСЛО(1, 0))) = 8
                                                                   ТОГДА "8"
                                                               ИНАЧЕ ВЫБОР
                                                                       КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 1000 - 0.5 КАК ЧИСЛО(1, 0))) * 1000) / 100 - 0.5 КАК ЧИСЛО(1, 0))) = 9
                                                                           ТОГДА "9"
                                                                       ИНАЧЕ "0"
                                                                   КОНЕЦ
                                                           КОНЕЦ
                                                   КОНЕЦ
                                           КОНЕЦ
                                   КОНЕЦ
                           КОНЕЦ
                   КОНЕЦ
           КОНЕЦ
   КОНЕЦ + ВЫБОР
       КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 100 - 0.5 КАК ЧИСЛО(2, 0))) * 100) / 10 - 0.5 КАК ЧИСЛО(1, 0))) = 1
           ТОГДА "1"
       ИНАЧЕ ВЫБОР
               КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 100 - 0.5 КАК ЧИСЛО(2, 0))) * 100) / 10 - 0.5 КАК ЧИСЛО(1, 0))) = 2
                   ТОГДА "2"
               ИНАЧЕ ВЫБОР
                       КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 100 - 0.5 КАК ЧИСЛО(2, 0))) * 100) / 10 - 0.5 КАК ЧИСЛО(1, 0))) = 3
                           ТОГДА "3"
                       ИНАЧЕ ВЫБОР
                               КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 100 - 0.5 КАК ЧИСЛО(2, 0))) * 100) / 10 - 0.5 КАК ЧИСЛО(1, 0))) = 4
                                   ТОГДА "4"
                               ИНАЧЕ ВЫБОР
                                       КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 100 - 0.5 КАК ЧИСЛО(2, 0))) * 100) / 10 - 0.5 КАК ЧИСЛО(1, 0))) = 5
                                           ТОГДА "5"
                                       ИНАЧЕ ВЫБОР
                                               КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 100 - 0.5 КАК ЧИСЛО(2, 0))) * 100) / 10 - 0.5 КАК ЧИСЛО(1, 0))) = 6
                                                   ТОГДА "6"
                                               ИНАЧЕ ВЫБОР
                                                       КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 100 - 0.5 КАК ЧИСЛО(2, 0))) * 100) / 10 - 0.5 КАК ЧИСЛО(1, 0))) = 7
                                                           ТОГДА "7"
                                                       ИНАЧЕ ВЫБОР
                                                               КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 100 - 0.5 КАК ЧИСЛО(2, 0))) * 100) / 10 - 0.5 КАК ЧИСЛО(1, 0))) = 8
                                                                   ТОГДА "8"
                                                               ИНАЧЕ ВЫБОР
                                                                       КОГДА (ВЫРАЗИТЬ((ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 100 - 0.5 КАК ЧИСЛО(2, 0))) * 100) / 10 - 0.5 КАК ЧИСЛО(1, 0))) = 9
                                                                           ТОГДА "9"
                                                                       ИНАЧЕ "0"
                                                                   КОНЕЦ
                                                           КОНЕЦ
                                                   КОНЕЦ
                                           КОНЕЦ
                                   КОНЕЦ
                           КОНЕЦ
                   КОНЕЦ
           КОНЕЦ
   КОНЕЦ + ВЫБОР
       КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 10 - 0.5 КАК ЧИСЛО(3, 0))) * 10 - 0.5 КАК ЧИСЛО(1, 0))) = 1
           ТОГДА "1"
       ИНАЧЕ ВЫБОР
               КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 10 - 0.5 КАК ЧИСЛО(3, 0))) * 10 - 0.5 КАК ЧИСЛО(1, 0))) = 2
                   ТОГДА "2"
               ИНАЧЕ ВЫБОР
                       КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 10 - 0.5 КАК ЧИСЛО(3, 0))) * 10 - 0.5 КАК ЧИСЛО(1, 0))) = 3
                           ТОГДА "3"
                       ИНАЧЕ ВЫБОР
                               КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 10 - 0.5 КАК ЧИСЛО(3, 0))) * 10 - 0.5 КАК ЧИСЛО(1, 0))) = 4
                                   ТОГДА "4"
                               ИНАЧЕ ВЫБОР
                                       КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 10 - 0.5 КАК ЧИСЛО(3, 0))) * 10 - 0.5 КАК ЧИСЛО(1, 0))) = 5
                                           ТОГДА "5"
                                       ИНАЧЕ ВЫБОР
                                               КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 10 - 0.5 КАК ЧИСЛО(3, 0))) * 10 - 0.5 КАК ЧИСЛО(1, 0))) = 6
                                                   ТОГДА "6"
                                               ИНАЧЕ ВЫБОР
                                                       КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 10 - 0.5 КАК ЧИСЛО(3, 0))) * 10 - 0.5 КАК ЧИСЛО(1, 0))) = 7
                                                           ТОГДА "7"
                                                       ИНАЧЕ ВЫБОР
                                                               КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 10 - 0.5 КАК ЧИСЛО(3, 0))) * 10 - 0.5 КАК ЧИСЛО(1, 0))) = 8
                                                                   ТОГДА "8"
                                                               ИНАЧЕ ВЫБОР
                                                                       КОГДА (ВЫРАЗИТЬ(ВложенныйЗапрос.Код - (ВЫРАЗИТЬ(ВложенныйЗапрос.Код / 10 - 0.5 КАК ЧИСЛО(3, 0))) * 10 - 0.5 КАК ЧИСЛО(1, 0))) = 9
                                                                           ТОГДА "9"
                                                                       ИНАЧЕ "0"
                                                                   КОНЕЦ
                                                           КОНЕЦ
                                                   КОНЕЦ
                                           КОНЕЦ
                                   КОНЕЦ
                           КОНЕЦ
                   КОНЕЦ
           КОНЕЦ
   КОНЕЦ КАК Поле1,
   ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Код)
ИЗ
   (ВЫБРАТЬ
       ВЫБОР
           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 6, 1) = "1"
               ТОГДА 1000
           ИНАЧЕ ВЫБОР
                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 6, 1) = "2"
                       ТОГДА 2000
                   ИНАЧЕ ВЫБОР
                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 6, 1) = "3"
                               ТОГДА 3000
                           ИНАЧЕ ВЫБОР
                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 6, 1) = "4"
                                       ТОГДА 4000
                                   ИНАЧЕ ВЫБОР
                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 6, 1) = "5"
                                               ТОГДА 5000
                                           ИНАЧЕ ВЫБОР
                                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 6, 1) = "6"
                                                       ТОГДА 6000
                                                   ИНАЧЕ ВЫБОР
                                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 6, 1) = "7"
                                                               ТОГДА 7000
                                                           ИНАЧЕ ВЫБОР
                                                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 6, 1) = "8"
                                                                       ТОГДА 8000
                                                                   ИНАЧЕ ВЫБОР
                                                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 6, 1) = "9"
                                                                               ТОГДА 9000
                                                                           ИНАЧЕ 0
                                                                       КОНЕЦ
                                                               КОНЕЦ
                                                       КОНЕЦ
                                               КОНЕЦ
                                       КОНЕЦ
                               КОНЕЦ
                       КОНЕЦ
               КОНЕЦ
       КОНЕЦ + ВЫБОР
           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 7, 1) = "1"
               ТОГДА 100
           ИНАЧЕ ВЫБОР
                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 7, 1) = "2"
                       ТОГДА 200
                   ИНАЧЕ ВЫБОР
                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 7, 1) = "3"
                               ТОГДА 300
                           ИНАЧЕ ВЫБОР
                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 7, 1) = "4"
                                       ТОГДА 400
                                   ИНАЧЕ ВЫБОР
                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 7, 1) = "5"
                                               ТОГДА 500
                                           ИНАЧЕ ВЫБОР
                                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 7, 1) = "6"
                                                       ТОГДА 600
                                                   ИНАЧЕ ВЫБОР
                                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 7, 1) = "7"
                                                               ТОГДА 700
                                                           ИНАЧЕ ВЫБОР
                                                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 7, 1) = "8"
                                                                       ТОГДА 800
                                                                   ИНАЧЕ ВЫБОР
                                                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 7, 1) = "9"
                                                                               ТОГДА 900
                                                                           ИНАЧЕ 0
                                                                       КОНЕЦ
                                                               КОНЕЦ
                                                       КОНЕЦ
                                               КОНЕЦ
                                       КОНЕЦ
                               КОНЕЦ
                       КОНЕЦ
               КОНЕЦ
       КОНЕЦ + ВЫБОР
           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 8, 1) = "1"
               ТОГДА 10
           ИНАЧЕ ВЫБОР
                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 8, 1) = "2"
                       ТОГДА 20
                   ИНАЧЕ ВЫБОР
                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 8, 1) = "3"
                               ТОГДА 30
                           ИНАЧЕ ВЫБОР
                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 8, 1) = "4"
                                       ТОГДА 40
                                   ИНАЧЕ ВЫБОР
                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 8, 1) = "5"
                                               ТОГДА 50
                                           ИНАЧЕ ВЫБОР
                                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 8, 1) = "6"
                                                       ТОГДА 60
                                                   ИНАЧЕ ВЫБОР
                                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 8, 1) = "7"
                                                               ТОГДА 70
                                                           ИНАЧЕ ВЫБОР
                                                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 8, 1) = "8"
                                                                       ТОГДА 80
                                                                   ИНАЧЕ ВЫБОР
                                                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 8, 1) = "9"
                                                                               ТОГДА 90
                                                                           ИНАЧЕ 0
                                                                       КОНЕЦ
                                                               КОНЕЦ
                                                       КОНЕЦ
                                               КОНЕЦ
                                       КОНЕЦ
                               КОНЕЦ
                       КОНЕЦ
               КОНЕЦ
       КОНЕЦ + ВЫБОР
           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 9, 1) = "1"
               ТОГДА 1
           ИНАЧЕ ВЫБОР
                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 9, 1) = "2"
                       ТОГДА 2
                   ИНАЧЕ ВЫБОР
                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 9, 1) = "3"
                               ТОГДА 3
                           ИНАЧЕ ВЫБОР
                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 9, 1) = "4"
                                       ТОГДА 4
                                   ИНАЧЕ ВЫБОР
                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 9, 1) = "5"
                                               ТОГДА 5
                                           ИНАЧЕ ВЫБОР
                                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 9, 1) = "6"
                                                       ТОГДА 6
                                                   ИНАЧЕ ВЫБОР
                                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 9, 1) = "7"
                                                               ТОГДА 7
                                                           ИНАЧЕ ВЫБОР
                                                                   КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 9, 1) = "8"
                                                                       ТОГДА 8
                                                                   ИНАЧЕ ВЫБОР
                                                                           КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 9, 1) = "9"
                                                                               ТОГДА 9
                                                                           ИНАЧЕ 0
                                                                       КОНЕЦ
                                                               КОНЕЦ
                                                       КОНЕЦ
                                               КОНЕЦ
                                       КОНЕЦ
                               КОНЕЦ
                       КОНЕЦ
               КОНЕЦ
       КОНЕЦ + 1 КАК Код
   ИЗ
       Справочник.ОсновныеСредства КАК ОС
   ГДЕ
       ПОДСТРОКА(ОС.Код, 1, 5) = "00000"
       И ОС.Код <> "000009999"
       И ПОДСТРОКА(ОС.Код, 9, 1) <> "а"
       И ПОДСТРОКА(ОС.Код, 9, 1) <> "a") КАК ВложенныйЗапрос

Вот такой вот тупой запрос
Порадуйтесь люди
1 wertyu
 
11.03.09
20:20
а если бы у тебя длина кода справочника была 50?
2 программистище
 
11.03.09
20:23
тогда я бы сделал формирование запроса через цикл
3 73
 
11.03.09
20:23
(1) Есть варианты?
4 Mikeware
 
11.03.09
20:25
"Количество разума на земле - вещь постоянная. А население растет..."©
5 wertyu
 
11.03.09
20:27
(3) в поля запроса код и ссылку, условие запроса оставить
6 Immortal
 
11.03.09
20:29
баян=)
7 73
 
11.03.09
20:29
(5) и где будет <Выразить строку как число и обратно>
8 wertyu
 
11.03.09
20:40
(7) в выборке запроса
9 ShoGUN
 
11.03.09
20:46
А нахрена это запросом делать? О_о Не в скуле, чай, надобности нету такой.
10 ShoGUN
 
11.03.09
20:50
А вообще запрос зачетный - в лучших традициях китайского кода - тупо и прямолинейно, как не знаю что, но - 100% работает :)
11 Immortal
 
11.03.09
20:53
мысля в голову пришла, в мс скл триггер есть на селект интересно или нет..
а то бы в запросе:
select CastAsStringFieldName as StringFieldName,FieldName from master, а в MS SQL подменить "CastAsStringFieldName" на то, что нужно
12 NcSteel
 
11.03.09
20:56
(0) Убиться веником. Проще надо быть!
13 Долорес И
 
11.03.09
21:18
красссиво!
14 программистище
 
11.03.09
21:21
(13) спасибо!!!
15 Иду
 
11.03.09
21:27
(14) а таки восьморошный дебил.
16 Serg_1960
 
11.03.09
21:29
(13) Окасссел от такой красссоты :(
(0) Через часик выскажусь конкретнее... как только смогу подобрать адекватную замену тем словам, что приходят на ум...
17 Иду
 
11.03.09
21:33
Никакой замены для дебилов
Val, CLng, CInt, CSng
не будет.
они, восьмерошники, любое регулярное через жОпу выполняют.
дебилы, еще раз.
18 Долорес И
 
11.03.09
21:33
(16)взгляни на это незамутненным взглядом, оно само по себе и ничего никому не должно. вообще, шедевр.
19 Stim
 
11.03.09
21:44
(0) >> КОГДА ПОДСТРОКА(МАКСИМУМ(ОС.Код), 7, 1) = "1"
               ТОГДА 100

а не легче было бы без запроса, обойтись несколькими функциями?

Используя переменные и функции форматирования строки?
что-то типа

Сотни = Число(ПОДСТРОКА(МАКСИМУМ(ОС.Код), 7, 1)*100

??
20 Mitriy
 
11.03.09
22:20
(0) а слабо текстом запроса пейзаж какой-нибудь нарисовать?
21 NcSteel
 
11.03.09
22:32
(20) Или мультик нарисовать.
22 программистище
 
11.03.09
23:15
(20) НАДО ПОДУМАТЬ
23 КонецЦикла
 
11.03.09
23:35
86 год однако...
24 bvg
 
12.03.09
12:46
а не проще все таки использовать конструкцию типа (просто выдерну из своего отчета) вдруг натолкнет на мысль, а то тут дурдом какой то понаписан  :

ВЫБОР
КОГДА ВложенныйЗапрос.ДоговорНаименование ПОДОБНО ""[0-9]""
ТОГДА ""0000"" + ВложенныйЗапрос.ДоговорНаименование
КОГДА ВложенныйЗапрос.ДоговорНаименование ПОДОБНО ""[0-9][0-9]""
ТОГДА ""000"" + ВложенныйЗапрос.ДоговорНаименование
КОГДА ВложенныйЗапрос.ДоговорНаименование ПОДОБНО ""[0-9][0-9][0-9]""
ТОГДА ""00"" + ВложенныйЗапрос.ДоговорНаименование
КОГДА ВложенныйЗапрос.ДоговорНаименование ПОДОБНО ""[0-9][0-9][0-9][0-9]""
ТОГДА ""0"" + ВложенныйЗапрос.ДоговорНаименование
ИНАЧЕ ВложенныйЗапрос.ДоговорНаименование
КОНЕЦ КАК полеВладелец,
........
25 программистище
 
12.03.09
13:33
(24) интересно надо глянуть
26 Serg_1960
 
12.03.09
23:54
(16) * Удар по психике был более прожолжительный, чем ожидал :))

КТО не может прожить без преобразования в запросе строка-число, - ВАМ посвящается:
1) Добавляем в конфу регистр сведений/справочник:
- Код - число (от 0 до 99999999);
- Наименование (строка вида от "00000000" до "99999999").
2) ВСЁ.

PS: для тех кто не понял: хотите строкуХ преобразовать в числоХ? Запросом ищем в регистре/справочнике наименование=строкаХ - используем код... "и наоборот" :))
27 73
 
13.03.09
09:54
(26) А отрицательные или дробные? :)))