|
Получение длины строки в запросе | ☑ | ||
|---|---|---|---|---|
|
0
mzelensky
06.01.11
✎
13:09
|
Доброго времени суток!
Собственно в запросе имеется реквизит строковый. Можно ли как-то определить длину строки функциями запроса??? ну что-то на подобие "СтрДлина()" ??? Если ДА, то как? |
|||
|
1
Amiralnar
06.01.11
✎
13:10
|
Нет, наверное. Для зачем?
|
|||
|
2
zladenuw
06.01.11
✎
13:10
|
а зачем тебе длину строки в запросе ?
|
|||
|
3
mzelensky
06.01.11
✎
13:11
|
(1) ну я там хитрый номер формирую для иерархии и хочу группировку делать на основании длины этого самого номера. Было бы красиво, если можно было бы прям в запросе определить длину....а так через задницу прийдется...
|
|||
|
4
Живой Ископаемый
06.01.11
✎
13:12
|
v8: Где можно прочитать про функции в 1C SQL?
2(3) вы собираетесь делать фигню... и она останется на вашей совести |
|||
|
5
Amiralnar
06.01.11
✎
13:13
|
Это понятно. А зачем такая иерархия?
|
|||
|
6
mzelensky
06.01.11
✎
13:14
|
(4) похожая проблема, но не то...
|
|||
|
7
mzelensky
06.01.11
✎
13:15
|
(5) ну вот НАДО чтобы была именно такая иерархия. Что-то типа "Структура связанных документов" в УТ.
|
|||
|
8
Живой Ископаемый
06.01.11
✎
13:16
|
В смысле "не то"?
У вас в в этом строковом реквизите какие символы(и каких точно не бывает), и какая его длина? |
|||
|
9
Живой Ископаемый
06.01.11
✎
13:17
|
2(7) вы неправильно спроектировали данные. Не воспользовались всем арсеналом объектов, предоставляемых платформой. Не учли ограничения языка запросов.
|
|||
|
10
mzelensky
06.01.11
✎
13:18
|
(8) символы - числа и пробелы. Длина от нуля до 200 символов. Делятся на "разряды" по 6 символов отделенные пробелами.
|
|||
|
11
mzelensky
06.01.11
✎
13:18
|
(9) жесть....во лоханул :(
|
|||
|
12
mzelensky
06.01.11
✎
13:19
|
(9) а каким арсеналом объектов платформы нужно было воспользоваться?
|
|||
|
13
Живой Ископаемый
06.01.11
✎
13:24
|
2(12) без понятия. вы ведь не рассказываете про свою сложную иерархию, и если честно, то даже и не хочется про нее узнавать.
2(10) не от нуля до 200, а видимо всегда 200. Но начальные и конечные пробелы в длину видимо не включаются... ок. Еще вопрос какая длина у такой строки: " 345568 386102 " ? |
|||
|
14
Amiralnar
06.01.11
✎
13:24
|
Строковый реквизит - это примитив. Слово, название, комментарий, и т.д.
Какой смысл из перечисленных заложен в ваш реквизит? |
|||
|
15
Murzz
06.01.11
✎
13:26
|
выбор когда выразить(реквизит как строка(1)) = реквизит тогда 1
когда выразить(реквизит как строка(2)) = реквизит тогда 2 иначе "хз" конец как ДлинаСтроки |
|||
|
16
mzelensky
06.01.11
✎
13:28
|
(13) длина предоставленной строки = 19 символам (вместе с незначащими пробелами). у меня такого нет. У меня выглядит строка вот так (пример): "000001 000001 000002" или вот так "000012" или вот так "000012 000005" :) ну т.е. несколько разрядов по 6 чисел (число разрядов зависит от уровня иерархии)
|
|||
|
17
Новиков
06.01.11
✎
13:29
|
(16) "нарекаю тебя Сизифом" (с) ;)
|
|||
|
18
mzelensky
06.01.11
✎
13:30
|
(15) КРУТО!!!!Именно так и предлагали в (4) вот только что же делать если длина строки динамическая (т.е. максимум то 200 символов, но может быть от 0 до 200) ?
|
|||
|
19
mzelensky
06.01.11
✎
13:31
|
Ладно, люди - спасибо за внимание!!! Тема закрыта...пойду сделаю старым проверенным методом :)
|
|||
|
20
MaxFoxxy
06.01.11
✎
13:32
|
как вариант
Выборка = Справочники.ВАШСправочник.Выбрать(); И потом Пока Выборка.Следующий() Цикл посчитать функцией СтрДлинна() кол сиволов в нужном поле, и записать в ВТ КонецЦикла Потом привентить левым соединением это ВТ к осн запросу Тупо но вариант... |
|||
|
21
mzelensky
06.01.11
✎
13:33
|
(17) зря глумитесь, сударь - все будет работать замечательно...просто прийдется сделать чуток сложнее, чем хотелось бы!
|
|||
|
22
Живой Ископаемый
06.01.11
✎
13:33
|
||||
|
23
mzelensky
06.01.11
✎
13:34
|
(20) ну что-то похожее я и сделаю, только никуда во ВТ записывать не нужно...сразу буду определять уровень иерархии и выводить в отчет.
|
|||
|
24
Amiralnar
06.01.11
✎
13:34
|
та не.. он просто не знает, зачем справочнику иерархия..
|
|||
|
25
mzelensky
06.01.11
✎
13:36
|
(22) идею полнял ,спасибо! Вот ток мне тогда нужно 33 поля таких прописать
|
|||
|
26
mzelensky
06.01.11
✎
13:37
|
||||
|
27
MaxFoxxy
06.01.11
✎
13:37
|
(23) я думал осн сложность получить длинну строкового поля в ОСНОВНОМ запросе
|
|||
|
28
mzelensky
06.01.11
✎
13:37
|
(26) + я решил обойтись без справочника!
|
|||
|
29
Новиков
06.01.11
✎
13:39
|
(28) >>я решил обойтись без справочника!
"нарекаю тебя Сизифом еще раз" (с) P.s.: правильный ответ кроется в (21) v8: Подскажите алгоритм! |
|||
|
30
Живой Ископаемый
06.01.11
✎
13:40
|
а, ну там же была и годная идея - записывать в справочник с иерархией элементов... И тогда ничего не нужно было бы выдумывать
|
|||
|
31
Новиков
06.01.11
✎
13:40
|
и иногда еще желательно хотя бы одним глазиком подглядывать в типовые. Можно через узкую щелку ;)
|
|||
|
32
Amiralnar
06.01.11
✎
13:42
|
(26)
1. Открываешь демо базу типовой УТ 2. Открываешь произвольный заказ 3. Нажимаешь кнопку "Структура подчиненности" 4. ???? 5. PROFIT!!! |
|||
|
33
Живой Ископаемый
06.01.11
✎
13:44
|
2(32) он хочет запросом... критерий отбора в запросе юзать можно, но иерархию вроде не даёт
|
|||
|
34
Amiralnar
06.01.11
✎
13:44
|
(31) Собсно зачем? Представь, у человека жизнь наполнена открытиями! Ему приходят озарения, и он чувствует себя героем!
Не то, что мы.... |
|||
|
35
mzelensky
06.01.11
✎
13:46
|
(32) критерий отбора используется, но сам попробуй реализовать отчет по примеру (0) в v8: Подскажите алгоритм! и ты сам поймешь почему использовать "структуру подчиненности" не вариант.
|
|||
|
36
mzelensky
06.01.11
✎
13:47
|
(29) (30) то ,что вы предлагаете гораздо сложнее того ,что я сделал! У меня уже полностью работает система формирования иерархии...и обошелся я всего навсего 2 маленькими запросами и одной рикурсивной процедурой!!! Так что извращаться со справочником не стал!
|
|||
|
37
mzelensky
06.01.11
✎
13:48
|
Как доделаю отчет - покажу что у меня получилось...вместе с формированием иерархии в документе! Чтобы вы просто понимали чего я хотел и чего добился своими действиями.
|
|||
|
38
Новиков
06.01.11
✎
13:56
|
(36) >>! У меня уже полностью работает система формирования иерархии
В иерархическом справочнике она по умолчанию работает. >>Так что извращаться со справочником не стал! У тебя в процессе кодинга произошла подмена понятий. То что ты делаешь сейчас - вот это - самое форменное извращение. Иногда его называют - костыль. Иногда - выкакашь. Иногда - просто гениальный код. Но смысл от этого не меняется. Это извращение. Вместо того, чтобы заюзать стандартную иерархию со всеми вытекающими в запросе, ты городишь свою иерархию, - опять же со всеми вытекающими. Не, дело твое конечно ;) |
|||
|
39
Живой Ископаемый
06.01.11
✎
14:05
|
да чего, отличный способ попрактиковаться...
|
|||
|
40
Живой Ископаемый
06.01.11
✎
14:07
|
просто если практикуешься, нужно решить задачу обоими способами... и только тогда уже какие-то суждения выносить.. А так - тебя прет твой способ и несет по нему, и ты уже не контролируешь это движение.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |