Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 00:19

Откуда идут данные

Автор Nosferatu112, 18 апр 2024, 15:33

0 Пользователей и 1 гость просматривают эту тему.

Nosferatu112

Всем привет, такой вопрос, не могу понять как устанавливается отбор динамического списка, То есть мы получаем строку поиска с ней в коде проводятся манипуляции и мы получаем Дин список с отбором, но откуда идут данные запросов я не вижу в самом списке этой информации нет не могу понять как отрабатывает этот код может кто сможет объяснить
КИСодержит = Поиск;

RegExp = Новый COMОбъект("VBScript.RegExp");
RegExp.Global = Истина;
RegExp.IgnoreCase = Истина;
RegExp.Multiline = Истина;
RegExp.Pattern = "((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}";

Совпадения = RegExp.Execute(КИСодержит);

  Для Инд = 0 По Совпадения.Count() - 1 Цикл

НайденныйТелефон = Совпадения.Item(Инд).Value;
НайденныйТелефонКодИНомер =  вд_ОбщийСервер.ТолькоКодИНомер(НайденныйТелефон);
КИСодержит = СтрЗаменить(КИСодержит, НайденныйТелефон, НайденныйТелефонКодИНомер);

КонецЦикла;

Если СтрНайти(КИСодержит, " ") Тогда

Пока Найти(КИСодержит, "  ") > 0 Цикл
  КИСодержит = СтрЗаменить(КИСодержит, "  ", " ");
КонецЦикла;

КИСодержит = СтрЗаменить(КИСодержит, " ", "%");

КонецЕсли;

ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(СписокАдресов, "КИСодержит", "%" + КИСодержит + "%", Истина);

Если Элементы.СписокАдресов.ТекущиеДанные = Неопределено Тогда

ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(СписокАдресов, "КИСодержит", "", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Лид, "КИСодержит", "%" + КИСодержит + "%", Истина);

ЭтаФорма.ТекущийЭлемент = Элементы.Лид;
Элементы.Лид.Обновить();

Если Элементы.Лид.ТекущиеДанные <> Неопределено И ЗначениеЗаполнено(Элементы.Лид.ТекущиеДанные.Ссылка) Тогда

ПоискТелефонаЛид = Поиск;
ПоказатьЗначение(, Элементы.Лид.ТекущиеДанные.Ссылка);

Иначе

ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Лид, "КИСодержит", "", Ложь);
ЭтаФорма.ТекущийЭлемент = Элементы.ПоискТелефон;

ПоказатьПредупреждение(, "Ничего не найдено");

КонецЕсли;

КонецЕсли;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск