|
Найти документ по номеру | ☑ | ||
---|---|---|---|---|
0
tatoshka0403
01.11.16
✎
09:49
|
Добрый день! Помогите реализовать поиск документа по номеру
номер в файле: "44106" номер в базе: "44 106 " |
|||
1
polosov
01.11.16
✎
09:52
|
(0) Формат
|
|||
2
tatoshka0403
01.11.16
✎
09:55
|
(1) Ну как я понял найтипономеру не прокатит. В запросе формат писать?
|
|||
3
polosov
01.11.16
✎
09:56
|
(2) Получи таблицу номеров, преобразуй, скорми запросу полученный массив.
|
|||
4
tatoshka0403
01.11.16
✎
09:57
|
(3) Ну это же будет ппц как долго, а сразу нельзя искать по формат(номер)?
|
|||
5
Naf_kultura
01.11.16
✎
09:58
|
(0) а откуда такие номера в базе оказались?
|
|||
6
Альбатрос
01.11.16
✎
09:58
|
(4) Прям устанешь ждать?
|
|||
7
tatoshka0403
01.11.16
✎
10:02
|
(5) кто то поменял в начале года
|
|||
8
shadow_sw
01.11.16
✎
10:04
|
НовыйНомер = Лев(Номер, 2)+" "+Прав(Номер,4);
|
|||
9
Serg_1960
01.11.16
✎
10:14
|
Не свести, денег не будет. Судя по всему число было записано в номер документа напрямую, с преобразованием "по умолчанию" и сейчас у автора там сидит так называемый "неразрывный пробел".
Поздравляю, Вы - "1 024-ая жертва неразрывного пробела"(я) По журналу регистрации теоретически возможно найти кто именно это сделал и оторвать ему руки. |
|||
10
shadow_sw
01.11.16
✎
10:24
|
(9) сдал контору :)
|
|||
11
tatoshka0403
01.11.16
✎
11:08
|
(3) Спасибо
|
|||
12
Serg_1960
01.11.16
✎
11:18
|
Можно никого не кормить таблицей номеров :) , а прямо в запросе вырезать лишний символ - ПОДСТРОКА().
|
|||
13
tatoshka0403
01.11.16
✎
13:43
|
(12)
КОГДА ПОДСТРОКА(РеализацияТоваровУслуг.Номер, 2, 1) = " " ТОГДА ПОДСТРОКА(РеализацияТоваровУслуг.Номер, 1, 1) + ПОДСТРОКА(РеализацияТоваровУслуг.Номер, 3, 9) КОГДА ПОДСТРОКА(РеализацияТоваровУслуг.Номер, 3, 1) = " " ТОГДА ПОДСТРОКА(РеализацияТоваровУслуг.Номер, 1, 2) + ПОДСТРОКА(РеализацияТоваровУслуг.Номер, 4, 8) вот так вот? |
|||
14
h-sp
01.11.16
✎
13:47
|
(13) просто один раз пройдите по журналу и замените обработкой все номера на нормальные. Желательно уже сегодня. А завтра уже нормально займетесь поиском.
|
|||
15
Serg_1960
01.11.16
✎
13:49
|
(13) Вот как-то вот так :)
НомерИзФайла = "44106"; НомерИзБазы = "" + Число(НомерИзФайла) + " "; Запрос = Новый Запрос("ВЫБРАТЬ &НомерИзФайла = ПОДСТРОКА(&НомерИзБазы, 1, 2) + ПОДСТРОКА(&НомерИзБазы, 4, 3) КАК Проверка"); Запрос.УстановитьПараметр("НомерИзФайла", НомерИзФайла); Запрос.УстановитьПараметр("НомерИзБазы", НомерИзБазы); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); Сообщить(Выборка.Проверка); Возврат; |
|||
16
tatoshka0403
01.11.16
✎
13:52
|
(15) А если длинна не 5, писать еще функцию которая будет добивать до нужной длинны.
|
|||
17
Serg_1960
01.11.16
✎
13:59
|
Числа 1,2,3,4 в запросе могут быть производные от длины текущего номера.
Вы таки хотите иметь универсальный алгоритм? Вы не много хотите ли? |
|||
18
tatoshka0403
01.11.16
✎
14:05
|
(17) Таки нет, но наверно реально проще убрать из номеров эти пробелы и проблем не будет.
|
|||
19
Adilgeriy
01.11.16
✎
14:19
|
а номера в порядок привести не проще будет?
|
|||
20
ELEA26
01.11.16
✎
14:21
|
СтрЗаменить пробелы на ничего.
|
|||
21
Serg_1960
01.11.16
✎
14:31
|
Шалим немного :)
НомерИзФайла = "44106"; Пустышка = Документы.ТребованиеНакладная.СоздатьДокумент(); Пустышка.Номер = Число(НомерИзФайла); НомерИзБазы = Пустышка.Номер; Пустышка = Неопределено; Результат = Документы.ТребованиеНакладная.НайтиПоНомеру(НомерИзБазы, ТекущаяДата()); Сообщить(?(ЗначениеЗаполнено(Результат), Результат, "Неопределено")); Возврат; |
|||
22
LeReve
01.11.16
✎
14:31
|
НомерВБазе = СтрЗаменить(НомерВБазе , Символы.НПП, "")
|
|||
23
Serg_1960
01.11.16
✎
14:37
|
Эээ... пришел LeReve и всё испортил :( "Ну, я так не играю"(цы)
|
|||
24
tatoshka0403
01.11.16
✎
15:21
|
(22) это подойдет для(3)
|
|||
25
LeReve
01.11.16
✎
15:24
|
(24) Так приведи номера в базе в нормальный вид. в (21) отличная идея тогда для тебя))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |