Имя: Пароль:
1C
 
Как в запросе строку преобразовать в число?
0 Tazuya
 
28.09.09
15:57
типа
выбрать выразить("1" как число(15,0))
ругается
1 Ненавижу 1С
 
гуру
28.09.09
15:58
пляяяяяяяяяяяя!
2 Ненавижу 1С
 
гуру
28.09.09
15:58
где кстати ТелепатБот?
3 НЕА123
 
28.09.09
16:00
(0) красненькая буквочка "Я" в правом верхнем углу. нажми ее.
4 Tazuya
 
28.09.09
16:03
нажал ответа не нашел потому и спрашиваю
5 НЕА123
 
28.09.09
16:04
(4)
тогда
(1)+1.
6 Ненавижу 1С
 
гуру
28.09.09
16:05
(4) потому что ответ "никак" в запросе
7 Tazuya
 
28.09.09
16:06
(6)эт. и сам понял надеялся на чудо.
А хотя бы выбрать самые длинные
например 6 символьные строки а потом среди них уже не в запросе определить макс. число?
8 NewNick
 
28.09.09
16:11
Функция ТекстЗапросаИзСтрокиВЧисло(ИмяПоля, ДлинаСтроки, СимволРазделитель=".")
   текст = "";
   текст2 = "";
   Для позиция = 1 по ДлинаСтроки цикл
       текст = "("+?(текст="","",текст+ Символы.ПС + "     *ВЫБОР КОГДА ПОДСТРОКА("+имяПоля+","+позиция+",1)="""+СимволРазделитель+""" ТОГДА 1 ИНАЧЕ 10 КОНЕЦ +")+Символы.ПС+"ВЫБОР ";
       Для цифирка = 0 по 9 цикл
           текст = текст + Символы.ПС + " КОГДА ПОДСТРОКА("+имяПоля+","+позиция+",1)="""+цифирка+""" ТОГДА "+цифирка;
       КонецЦикла;
       текст = текст + Символы.ПС + " ИНАЧЕ 0 КОНЕЦ)";
       текст2 = текст2 + Символы.ПС + " КОГДА ПОДСТРОКА("+имяПоля+","+позиция+",1)="""+СимволРазделитель+""" ТОГДА "+формат(pow(10,ДлинаСтроки-позиция),"ЧГ=");
   КонецЦикла;
   возврат текст + Символы.ПС + "/ ВЫБОР " + текст2+Символы.ПС + " ИНАЧЕ 1 КОНЕЦ " + СИмволы.ПС +" * ВЫБОР КОГДА "+ИмяПоля+" ПОДОБНО ""%-%"" ТОГДА -1 ИНАЧЕ 1 КОНЕЦ";
КонецФункции
9 NewNick
 
28.09.09
16:13
10 Tazuya
 
28.09.09
16:20
там вроде один параметр строкаЧисло передается
а мне надо по всем кодам справочника выбрать макс. число
или что передать в ИмяПоля ?
11 NewNick
 
28.09.09
16:26
(10)совсем лень замучала ?  в темке (11) был пример использования
например так

"ВЫБРАТЬ
|    МАКСИМУМ("+ТекстЗапросаИзСтрокиВЧисло("Номенклатура.Код",12)+") КАК Код
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура"
12 NewNick
 
28.09.09
16:29
правда я б на твоем месте серьезно подумал если ты решил таким образом реализовать нумератор для справочника у которого код строка))
13 Tazuya
 
28.09.09
16:33
не получается возвращает 999 900 000 000
хотя есть 10000
так вот я и думаю
14 NewNick
 
28.09.09
16:52
(13) возми функцию из (9) я в своей мог и перемудрить где то когда то ) приводить ее в чувства сейчас нет ни времени ни сил
15 Tazuya
 
28.09.09
17:10
написал свою около 10000элементов 1-2 сек. отрабатывает