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