Имя: Пароль:
1C
1С v8
поиск номера телефона в контрагентах
0 Папай
 
10.10.19
17:39
Добрый день.Простой запрос а почему то не отрабатывает.УНФ.не ищет кароче номер.хотя номера есть

   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
   |    Контрагенты.НомерТелефона КАК НомерТелефона,
   |    Контрагенты.Ссылка КАК Ссылка
   |ИЗ
   |    Справочник.Контрагенты КАК Контрагенты
   |ГДЕ
   |    Контрагенты.НомерТелефона = &Телефон";

   Запрос.УстановитьПараметр("Телефон", Строка(Объект.Телефон));
   Запрос.УстановитьПараметр("Телефон1", ЗначениеЗаполнено(Объект.Телефон1));

    выб=Запрос.Выполнить().Выбрать();
    Пока выб.Следующий() Цикл
1 vicof
 
10.10.19
17:44
Открой для себя консоль запросов
2 mikecool
 
10.10.19
17:46
(0) если не понимаешь, почему твое условие не работает - убери его, посмотри что в данных и подумай
3 VenSaitto
 
10.10.19
18:16
Дак он истина/ложь пытается найти
4 shuhard
 
10.10.19
18:20
(3)
5 shuhard
 
10.10.19
18:20
(3) не а
Контрагенты.НомерТелефона = &Телефон";
Запрос.УстановитьПараметр("Телефон", Строка(Объект.Телефон));
6 Glavkomnn
 
10.10.19
18:38
Попробуй ПОДОБНО &Телефон

а сам телефон сделай "%"+Телефон+"&"

или ты не по тем полям телефон ищешь. У тебя он с кодами и скобочками а записан без кодов и т.п.
7 Папай
 
10.10.19
18:40
(3)какая истина ложь. отладчик показывает НомерТелефона содержит номер.а сам реквизит строковый в справочнике
8 Chameleon1980
 
10.10.19
18:42
Подобно делай. Пробелы там лишние скорее всего.
9 VenSaitto
 
10.10.19
18:54
ЗначениеЗаполнено - вот такие
10 Папай
 
10.10.19
19:04
(9)поясните
11 Папай
 
10.10.19
19:05
(5)да просто он был числовой.это же реквизит в документ а не справочнике уже
12 VenSaitto
 
10.10.19
19:06
Ты устанавливаешь параметр для телефона, но используешь значениезаполнено(), зачем?
13 Папай
 
10.10.19
19:11
|ГДЕ
   |    Контрагенты.НомерТелефона Подобно &Телефон";
(6) спасибо добрый человек а поясни проблему
14 Папай
 
10.10.19
19:21
(6)а как усложнить:
   |    Контрагенты.НомерТелефона КАК НомерТелефона,
   |    Контрагенты.КонтактнаяИнформация.(
   |        НомерТелефона КАК НомерТелефона
   |    ) КАК КонтактнаяИнформация,
   |    Контрагенты.Ссылка КАК Ссылка
   |ИЗ
   |    Справочник.Контрагенты КАК Контрагенты
   |ГДЕ
   |    Контрагенты.НомерТелефона Подобно &Телефон
   |    ИЛИ Контрагенты.НомерТелефона Подобно &Телефон1
   |    ИЛИ Контрагенты.КонтактнаяИнформация.НомерТелефона Подобно &Телефон
   |    ИЛИ Контрагенты.КонтактнаяИнформация.НомерТелефона Подобно &Телефон1";

понятно что ошибку дает на Подобно
15 Папай
 
10.10.19
19:21
чтоб по двум значениям искало
16 Папай
 
10.10.19
19:25
(12)чтобы пустые не брал
17 H A D G E H O G s
 
10.10.19
19:27
НПП
18 H A D G E H O G s
 
10.10.19
19:29
Если по европейски - то : non-breaking space
19 Папай
 
10.10.19
19:35
(17) а подробнее
20 Папай
 
10.10.19
19:48
(19)искомый телефон в базе без разрывных пробелов.введен для тестов.но даже его не находит
21 H A D G E H O G s
 
10.10.19
19:49
(19) У тебя 1С добавляет НПП, когда делает Строка(Объект.Телефон)

Пользуй Формат(Объект.Телефон, "ЧГ="), це справжнэ.
22 Папай
 
10.10.19
21:05
Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    КонтактнаяИнформация.Ссылка КАК Ссылка,
    |    КонтактнаяИнформация.НомерТелефона
    |ИЗ
    |    Справочник.Контрагенты.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |    КонтактнаяИнформация.НомерТелефона = &Телефон
    |    ИЛИ КонтактнаяИнформация.НомерТелефона = &Телефон1";
    Запрос.УстановитьПараметр("Телефон", ЗначениеЗаполнено(Объект.Телефон));
    Запрос.УстановитьПараметр("Телефон1", ЗначениеЗаполнено(Объект.Телефон1));

сделал так все равно не находит
23 H A D G E H O G s
 
10.10.19
21:12
(22) 1С просто плохо работает.
24 Папай
 
10.10.19
21:20
сорян туплю.тяжелая неделя была.А как отсеить пустые значения?по параметру телефон1 например пустой а телефон заполнен
25 unbred
 
10.10.19
21:48
где КИ.НТ<> "" etc..
26 VenSaitto
 
10.10.19
23:09
Я тебе третий раз пишу, зачем ты используешь ЗначениеЗаполнено()? У тебя в параметр запроса подставляется истина/ложь, а не значение переменной. Создай массив из номеров телефона и проверяй на вхождение через где ... В &МассивНомеров