|
Как запросом отобрать серийные номера заканчивающиеся на ... | ☑ | ||
---|---|---|---|---|
0
mvgfirst
06.02.13
✎
12:29
|
Конфигурация УТ 10.3.
Стоит задача написать простенький запрос который будет находить документы ПТиУ в которых есть серийные номера заканчивающиеся на n-ное количество цифр Несмотря на кажущуюся примитивность застрял. Использую конструкцию СерийныйНомер.Код Подобно "%123" и не получают результат, хотя визуально наблюдаю серийники заканчиваюищеся на такую компибнацию причина в том что в УТ 10.3 в справочнике СерийныеНомера сам номер указан в поле код, которое является строкой фиксированной длинны. Получается что пробелы которыми 1С дополняет серийный номер не дают выполнится такому запросу правильно. Использовать ПОДОБНО "%123%" не могу т.к. тогда выдает и другие серийники у которых эта комбинация встречается не в конце номера. Как выйти из положения, подскажите |
|||
1
Wobland
06.02.13
✎
12:30
|
подобно %[0-9][0-9][0-9]
не читал |
|||
2
mikecool
06.02.13
✎
12:31
|
||||
3
mvgfirst
06.02.13
✎
14:16
|
(2) прочитал тему, не нашел там ответа на свой вопрос.
Возможно я не умею читать, но там как-то все слишком запутанно. Можно в кратце, суть идеи? (1) как эта конуструкция отсечет "хвостовые" пробелы? |
|||
4
DrShad
06.02.13
✎
14:18
|
(3) а как то что в (0) их отсечет?
|
|||
5
DrShad
06.02.13
✎
14:19
|
для того чтоб выйти из положения видимо нужно отсечь пробелы
|
|||
6
НЕА123
06.02.13
✎
14:19
|
используя (1) тип так
СерийныйНомер.Код Подобно "%123" И НЕ СерийныйНомер.Код Подобно "%123[0-9]" ? |
|||
7
DrShad
06.02.13
✎
14:19
|
или в регулярку прописать что до конца строки пробелы идут
|
|||
8
НЕА123
06.02.13
✎
14:20
|
СерийныйНомер.Код Подобно "%123%" И НЕ СерийныйНомер.Код Подобно "%123[0-9]"
|
|||
9
DrShad
06.02.13
✎
14:21
|
(8) [0-9] пробелы сюда не входят :))))
|
|||
10
НЕА123
06.02.13
✎
14:21
|
(6)(8)
неа. похоже не то. |
|||
11
НЕА123
06.02.13
✎
14:22
|
(10)+
или же все-таки то? |
|||
12
НЕА123
06.02.13
✎
14:23
|
вот так должно прокатить
СерийныйНомер.Код Подобно "%123%" И НЕ СерийныйНомер.Код Подобно "%123[0-9]%" |
|||
13
НЕА123
06.02.13
✎
14:25
|
(9)
а нам ведь пох на пробелы. главное, чтобы цифири после 123 не было. |
|||
14
Wobland
06.02.13
✎
14:25
|
(11) "12345 " - истина и не истина = ложь
а "заканчивается" на три цифры |
|||
15
ZoRN
06.02.13
✎
14:27
|
trim(), сокрЛП()
|
|||
16
Wobland
06.02.13
✎
14:28
|
(15) это неспортивно
|
|||
17
mikecool
06.02.13
✎
14:28
|
Выразить() убирает концевые пробелы, емнип
|
|||
18
Шапокляк
06.02.13
✎
14:29
|
а если так
СерийныйНомер.Код Подобно "%123" Или СерийныйНомер.Код Подобно "%123 %" |
|||
19
ZoRN
06.02.13
✎
14:31
|
ВЫРАЗИТЬ()
|
|||
20
Wobland
06.02.13
✎
14:33
|
выбрать "#"+выразить("|123| " как строка(200))+"#"
#|123| # |
|||
21
Wobland
06.02.13
✎
14:51
|
вот три цифры в конце. с ограничением на длину строки
выбрать выбор когда &стр подобно "%[0-9][0-9][0-9]" или &стр подобно "%"+выразить(" " как строка(200)) тогда истина иначе ложь конец |
|||
22
НЕА123
06.02.13
✎
14:55
|
ВЫБРАТЬ
ВЫБОР КОГДА СерийныйНомер.Код +" " ПОДОБНО "%123[ ]%" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК Поле1 это для заканчивающихся на "123" если три цифры, то как Wobland ВЫБРАТЬ ВЫБОР КОГДА СерийныйНомер.Код +" " ПОДОБНО "%[0-9][0-9][0-9][ ]%" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК Поле1 ЗЫ что надо ТС, то пусть и выбирает |
|||
23
Wobland
06.02.13
✎
14:56
|
(21) ан нет
выбрать выбор когда &стр подобно "%[0-9][0-9][0-9]" или (&стр подобно "%"+выразить(" " как строка(200)) и &стр подобно "%[0-9][0-9][0-9]") тогда истина иначе ложь конец |
|||
24
Wobland
06.02.13
✎
14:56
|
(22) "123 " не прокатит
пля! что ТСу надо? |
|||
25
НЕА123
06.02.13
✎
14:58
|
ВЫРАЗИТЬ() пробелы не убирает.
|
|||
26
Wobland
06.02.13
✎
14:58
|
"123 морковка12" не прокатит
|
|||
27
НЕА123
06.02.13
✎
15:00
|
(24)
я думаю, все зависит от того, что он сейчас пьет. закуска дело такое... |
|||
28
НЕА123
06.02.13
✎
15:02
|
(26) да. страховки на пробелы внутри кода нет.
|
|||
29
Reset
06.02.13
✎
15:11
|
|
|||
30
mvgfirst
06.02.13
✎
16:00
|
Пробелов внутри кода нет
|
|||
31
Reset
06.02.13
✎
16:04
|
(30) Это не усложняет и не упрощает задачу
|
|||
32
Волесвет
06.02.13
✎
16:13
|
!серийные номера заканчивающиеся на n-ное количество цифр
в условия загнать, что больше 99 но меньше 1000 |
|||
33
666 Devil
06.02.13
✎
16:24
|
(0) ПОДСТРОКА(<Строка>, <НачальнаяПозиция>, <Длина>)
отлично работает ) |
|||
34
hhhh
06.02.13
✎
17:14
|
(33) отсекает пробелы?
|
|||
35
Шапокляк
06.02.13
✎
17:16
|
(30) Тогда почему (18) не подходит?
|
|||
36
mvgfirst
06.02.13
✎
17:21
|
(18) Именно подходит! Сейчас как раз проверяю на рабочих данных!
|
|||
37
Reset
06.02.13
✎
17:22
|
(35) Логично. Перец из (31) неправ. Это существнно упрощает, позволяя использовать запись вида (18). Снимаю шляпу.
|
|||
38
mvgfirst
06.02.13
✎
17:22
|
(33) длинна серийных номеров заранее неизвестноа и более того отличается от номера к номеру
|
|||
39
mvgfirst
06.02.13
✎
17:51
|
Методв (18) идеально подошел!
Всем спасибо за помощь! Прям удивительно - получилось и оперативно и даже без троллинга!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |