|
Поиск документа по номеру в запросе | ☑ | ||
---|---|---|---|---|
0
Gera1t
19.02.21
✎
09:42
|
Нужно найти документ по номеру в запросе.
Но не по вхождению, а по полному совпадению. И нужно сделать так, что номер для поиска вводили без лидирующих 0. Т.е если нужно найти документ по вхождению, то пишу ПОДОБНО "%" + &НомерДок А здесь нужно в запросе в условии отбросить лидирующие 0 у Номера документа и найти просто по точному соответствию НомерДок |
|||
1
Галахад
гуру
19.02.21
✎
09:46
|
НомерДок = Нули + НомерДок;
|
|||
2
Lexey_
19.02.21
✎
09:46
|
(0) ПОДОБНО "&ЛидирующиеНули" + &НомерДок
ЛидирующиеНули считаешь в зависимости от длины введенного номера |
|||
3
butterbean
19.02.21
✎
09:47
|
обрабатывай номер перед передачей в запрос и проверяй на точное совпадение
|
|||
4
Gera1t
19.02.21
✎
09:47
|
А там номер вида 0000-0000001
|
|||
5
Gera1t
19.02.21
✎
09:48
|
(3) ну да, наверное так
|
|||
6
Serg_1960
19.02.21
✎
10:14
|
В запросе удалить лидирующие нули? А "лидирующие" префиксы в номере документа тоже "отбросить в запросе"? "Нет, сынок, это фантастика"(слоган из рекламы сыра)
|
|||
7
Gera1t
19.02.21
✎
10:18
|
Пока СтрДлина(НомерДокумента) < 6 Цикл
НомерДокумента = "0" + НомерДокумента; КонецЦикла; НомерДокумента = "0000-" + НомерДокумента; Возврат НомерДокумента; Вот так сделал, не универсально, зато быстро и работает |
|||
8
Serg_1960
19.02.21
✎
10:20
|
(7) Неспортивно - это не в запросе :)
|
|||
9
Serg_1960
19.02.21
✎
10:28
|
(7) Самый простой и тупой запрос, когда номер документа без префикса и когда заранее известна длина номера (например, 10 позиций):
ВЫБРАТЬ ВЫБОР КОГДА НЕ ПОДСТРОКА(&НомерДок, 1, 1) = "0" ТОГДА ПОДСТРОКА(&НомерДок, 1, 10) КОГДА НЕ ПОДСТРОКА(&НомерДок, 2, 1) = "0" ТОГДА ПОДСТРОКА(&НомерДок, 2, 9) КОГДА НЕ ПОДСТРОКА(&НомерДок, 3, 1) = "0" ТОГДА ПОДСТРОКА(&НомерДок, 3, 8) ... КОГДА НЕ ПОДСТРОКА(&НомерДок, 9, 1) = "0" ТОГДА ПОДСТРОКА(&НомерДок, 9, 2) Иначе ПОДСТРОКА(&НомерДок, 10, 1) КОНЕЦ КАК НомерБезЛидирующихНулей |
|||
10
Pro-tone
19.02.21
✎
10:31
|
(7) НомерДокументаСтрокой = "0000-" + Формат(НомерДокументаЧислом, "ЧЦ=6; ЧВН=; ЧГ=0") так красивее и быстрее работать будет
|
|||
11
Builder
19.02.21
✎
10:34
|
(10) Ну тогда уж еще проще
НомерДокументаСтрокой = "0000-" + Прав("000000"+НомерДокументаЧислом,6) |
|||
12
dka80
19.02.21
✎
10:43
|
а еще номера могут повторяться каждый год
|
|||
13
lodger
19.02.21
✎
10:43
|
(11) если НомерДокументаЧислом - строка, то ладно, если число больше 999, то не ладно.
|
|||
14
Builder
19.02.21
✎
10:43
|
(12) Это уже другое условие :)
|
|||
15
Serg_1960
19.02.21
✎
10:46
|
Детский сад, штаны на лямках :)
Формат(Число(Сред(НомерДок,Найти(НомерДок,"-")+1)),"ЧГ=") |
|||
16
Gera1t
19.02.21
✎
10:49
|
Всем большое спасибо!
(10), (11) Вообще красота! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |