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