|
|
|
Получение последних N символов в конце строки в запросе | ☑ | ||
|---|---|---|---|---|
|
0
webber
24.03.11
✎
12:28
|
как можно получить определенное количество последних символов из строки (например, из наименования товара)?
|
|||
|
1
Wobland
24.03.11
✎
12:30
|
ПОДСТРОКА(НекоеПоле, ДЛИНАСТРОКИ(НекоеПоле)-СколькоТамНужно, СколькоТамНужно)
|
|||
|
2
butterbean
24.03.11
✎
12:32
|
(1) ДЛИНАСТРОКИ() - реально есть такая функция??
|
|||
|
3
Wobland
24.03.11
✎
12:33
|
(2) так СП говорит, ни разу не юзал
|
|||
|
4
dimoff
24.03.11
✎
12:33
|
Только километровым выбором. При условии что слова в наименовании не будут разделены более чем 4-символьным пробелом, а длина наименования 80 символов выглядеть будет так
КОГДА ПОДСТРОКА(Наименование, 4, 4) = " " Тогда ПОДСТРОКА(Наименование, 1, 3) КОГДА ПОДСТРОКА(Наименование, 5, 4) = " " Тогда ПОДСТРОКА(Наименование, 2, 3) и т.д. Впроччем подобную строку можно сотавить программно |
|||
|
5
dimoff
24.03.11
✎
12:34
|
Если есть реально такая функция ДлинаСтроки то (4) не читать
|
|||
|
6
PetrVV
24.03.11
✎
12:35
|
Тебе надо добавить реквизит в справочник "Номенклатура", назвать его можно длина "Длина наименования".
Тогда в запросе ты можешь написать так: ПОДСТРОКА(Номенклатура.Наименование,Номенклатура.ДлинаНаименование-5,5) |
|||
|
7
butterbean
24.03.11
✎
12:35
|
(3) платформу не подскажешь, где СП такое говорит
|
|||
|
8
dimoff
24.03.11
✎
12:35
|
(6) Не проще тогда сразу в реквизит последние 3 символа записывать?
|
|||
|
9
webber
24.03.11
✎
12:36
|
(1) ДЛИНАСТРОКИ - такого нет, иначе было бы элементарно все)
(4) да, вариант рассматривал, но не стал извращаться (длина наименования 200 символов), проще кодом пройтись по табличке потом |
|||
|
10
PetrVV
24.03.11
✎
12:36
|
Функции ДлинаСтроки() никогда не встречал, если и правда есть, то (6) не читать.
|
|||
|
11
Wobland
24.03.11
✎
12:37
|
(7) 1С:Предприятие 8.1 (8.1.15.14)
|
|||
|
12
PetrVV
24.03.11
✎
12:38
|
(8) По условию задачи у него может быть разное количество символов, почему 3 ?
|
|||
|
13
Wobland
24.03.11
✎
12:38
|
Подстрока
Данная функция предназначена для выделения подстроки из строки. Параметры: Строка. Тип Строка. Строка, из которой выделяют подстроку; Позиция. Тип Число. Позиция символа, с которого начинается выделяемая из строки подстрока; Длина. Тип Число. Длина выделяемой подстроки. Пример: ПОДСТРОКА(Контрагенты.Адрес, 1, 4) ДлинаСтроки Функция предназначена для определения длины строки. Параметр: Строка. Тип Строка. Строка, длину которой определяют. Пример: ДлинаСтроки(Контрагенты.Адрес) |
|||
|
14
webber
24.03.11
✎
12:38
|
(6) тогда правильнее сделать реквизит под это значение, а не под количество символов :)
|
|||
|
15
Wobland
24.03.11
✎
12:40
|
чорт, не работает! а в СП написано
|
|||
|
16
dimoff
24.03.11
✎
12:40
|
(12) Сорри, торможу.
|
|||
|
17
webber
24.03.11
✎
12:41
|
(12) ну на самом деле количество символов статично в данном случае. конкретно, нужно 7. но важнее сам подход.
я так понимаю, что проще кодом обработать таблицу после формирования |
|||
|
18
Wobland
24.03.11
✎
12:44
|
кто-нибудь СП смотрел? у меня у одного такой интересный?
(17) действительно, кодом после лучше |
|||
|
19
hhhh
24.03.11
✎
12:45
|
(15) это функция выражений СКД.
|
|||
|
20
Wobland
24.03.11
✎
12:45
|
(19) точно! в заголовок не посмотрел
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |