Имя: Пароль:
1C
1С v8
Строковые функции в запросе
,
0 maxt
 
29.03.12
14:06
Собственно, вопрос в том, какие кроме ПОДСТРОКА  еще можно использовать?
1 maxt
 
29.03.12
14:11
Нужны функции или аналоги: Найти, СтрДлина, СтрЗаменить
2 Ненавижу 1С
 
гуру
29.03.12
14:11
(0) нет таких, есть ПОДОБНО
огласи задачу
3 maxt
 
29.03.12
14:14
(2) есть такие коды справочников: ОС_0000905123/0001, ОС_0000905123/0002, ОС_0000905123/0003 и т.д.
Нужно получить 905123 и свернуть по коду

проблема в том, что может быть ОС_0000905123/0001, а может и ОС_0000905123/001...
4 Ненавижу 1С
 
гуру
29.03.12
14:16
(3) что это даст?
5 Maxus43
 
29.03.12
14:16
>>ОС_0000905123/0001, а может и ОС_0000905123/001
где разница?
6 Maxus43
 
29.03.12
14:16
(5) а, нолик)
7 Maxus43
 
29.03.12
14:17
подобное можно тока в СКД организовать, запрос не поможет
8 Reset
 
29.03.12
14:17
(3) Для приведенного примера ПОДСТРОКА достаточно
9 maxt
 
29.03.12
14:18
(4) 0001, 0002, 0003 - это одинаковые ОС. Нужно получать общий итог по сумме и количеству
10 maxt
 
29.03.12
14:18
(8) можно по-подробнее, как?
11 maxt
 
29.03.12
14:18
(6) "Бинго!" :)
12 Maxus43
 
29.03.12
14:19
ОС_0000905123 - постоянная длинна? тогда Подстроки хватит, да
13 Ненавижу 1С
 
гуру
29.03.12
14:19
если дробь стоит на фиксированном месте, достаточно взять подстроку до нее и сгруппировать
14 maxt
 
29.03.12
14:21
(13) дробь не стоит на фикс.месте. Может, 4 с конца, может и 5-й, может дроби вообще не быть (для уникальных ОС).
15 maxt
 
29.03.12
14:22
(12) каким образом, если код может быть ОС_0000905123/001, ОС_0000905123/0001, а может и ОС_0001005123?
16 vicof
 
29.03.12
14:24
перенумеруй ОС по-нормальному
17 Reset
 
29.03.12
14:25
(15)
Везде в твоих примерах одинаковая длина значимой части (как ты ее описал)

ПОДСТРОКА(Код,1,13)
18 maxt
 
29.03.12
14:25
(16) супер совет!
19 Reset
 
29.03.12
14:26
(14) С конца - это по арабски :)
20 maxt
 
29.03.12
14:28
(19) ну типа того ;) Не я это придумал
(17) надо без "ОС_" и ведущих нулей
21 Maxus43
 
29.03.12
14:29
для отчета или куда?
22 vicof
 
29.03.12
14:30
(20) Попробуй не запросом, а руками собирать в таблицу значений свои ОС, тока узнай у буха все правила, по которым он эти ОС нумерует.
23 ILM
 
гуру
29.03.12
14:31
Сделай
ВЫБОР
КОГДА Подстрока (5-я с Конца) "/" ТОГДА "Бла-бла"
КОГДА Подстрока (4-я с Конца) "/" ТОГДА "Бла-бла"
КОГДА Подстрока (3-я с Конца) "/" ТОГДА "Бла-бла"
КОГДА Подстрока (2-я с Конца) "/" ТОГДА "Бла-бла"
КОГДА Подстрока (1-я с Конца) "/" ТОГДА "Бла-бла"
ИНАЧЕ "Бла-бла"
КОНЕЦ КАК БлаБлаКодТакойИдитеВОпу
24 maxt
 
29.03.12
14:34
(21) да

(22) (ага) порядка 58.000 Ос, с группировками и разными итогами

(23) не пойдет. Префикс может быть "ОС_", а может "АЛМ" или еще что-то...
видимо придется выгружать в ТЗ и там построчно перебирать...
25 Reset
 
29.03.12
14:35
(20) Для Без ОС_ измени значения параметров. На какие, сам догадайся.

Без нулей просто в запросе не получится (т.к. их переменное количество).
Некрасиво - через много ВЫБОР (когда сразу после ОС_ не ноль, тогда, когда второй после ОС не ноль, тогда и тд)

Выбирай с нулями, отрезать их можно позже.
26 Maxus43
 
29.03.12
14:36
(24) ну для отчета - СКД юзай, говорил уже, там можно вызывать общие функции из модулей, и доступно будет тебе ненаглядные "Найти, СтрДлина, СтрЗаменить"
27 ILM
 
гуру
29.03.12
14:39
(25) А в условии проверку сделай и вообще попинай своего буха
28 ILM
 
гуру
29.03.12
14:40
(24) "Газпром"  - 58 тыс ОС?
29 maxt
 
29.03.12
14:41
(27) боюсь, это они меня запинают :)

ок, всем спасибо! подтвердилось, что других строковых функций нет в запросе...

(26) надо разобраться с СКД. Раньше не использовал
30 maxt
 
29.03.12
14:41
(28) хуже! ;)
31 Maxus43
 
29.03.12
14:43
(29) для такого отчета - тоже самое всё практически, только в вычисляемых полях вызывай общую функцию и передавай туда код, а там уже встроенным языком просто пишеш преобразорвания. потом группируеш в СКД по вычисляемому полю
32 maxt
 
29.03.12
14:44
(31) спасибо, посмотрю! (тем более банер висит на бесплатный курс)
33 ILM
 
гуру
29.03.12
14:45
(30) Возьмите меня на работу и у вас будет с учетом ОС всё ОКай... Я умею уговаривать людей, что им это нахненадо )))
34 ILM
 
гуру
29.03.12
14:46
(31) НА 58 тыс ОС в отчете (даже СКД) будет группировка делаться часов 10. Запросы ваше всё!
35 maxt
 
29.03.12
14:46
(33) ок, уже ждем!
36 Maxus43
 
29.03.12
14:48
(34) да щас...
37 maxt
 
29.03.12
14:48
(34) 3:45, если быть точным
38 ILM
 
гуру
29.03.12
14:51
(37) Это в днях?