helpf.pro
Регистрация
 +3 
Распечатать

1С 8.3 : Полнотекстовый Поиск - пример поиска контрагентов в базе

У клиента огромная база клиентов и соответственно огромный штат менеджеров. Дошло до того, что менеджеры в поисках новых клиентов( знакомство, интернет, реклама и т.д.) очень часто звонят одним и тем же клиентам по несколько раз. Стали вести базу звонков... Но в базе одного и того же клиента могли назвать по разному - как-только вздумается... 

Понадобился поиск по нечеткому названию и для этого решено было использовать полнотекстовый поиск 1С:

Механизм полнотекстового поиска в 1С позволяет быстро находить необходимую для пользователя информацию. Данный вид поиска особенно эффективен, если информационная база располагает большим объемом информации, а также точно не известно, где находятся интересующие пользователя данные или как часто бывает, их точное название не известно.

Смысл обработки в том, что менеджер копирует названия клиентов в список слева, нажимает Выполнить поиск и справа видит найденных в базе контрагентов (подходящих по нечеткости). Порог нечеткости менеджеры могут устанавливать сами.

Приведу краткий пример реализации данного поиска, код:

Код 1C v 8.х
 

Процедура КнопкаВыполнитьНажатие(Кнопка)
Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() <> РежимПолнотекстовогоПоиска.Разрешить Тогда
Отказ = Истина;
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = НСтр("ru = 'Использование полнотекстового поиска не разрешено. Вы можете включить его в диалоге ""Управление полнотекстовым поиском""'", "ru");
Сообщение.Сообщить();
Возврат;
КонецЕсли;

тчРезультата.Очистить();
текдок = Новый ТекстовыйДокумент;
текдок.УстановитьТекст(ТестПоиска);
Для Ном=1 по текдок.КоличествоСтрок() цикл
Стр = СокрЛП(текдок.ПолучитьСтроку(Ном));
СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(Стр);
СписокПоиска.ПолучатьОписание = Истина;
СписокПоиска.РазмерПорции = 5;

СписокПоиска.ПорогНечеткости = ПорогНечеткости;

МассивОтбор = Новый Массив();
МассивОтбор.Добавить(Метаданные.Справочники.Контрагенты);
//МассивОтбор.Добавить(Метаданные.Документы.КассовыйЧек);
СписокПоиска.ОбластьПоиска = МассивОтбор;
СписокПоиска.ПерваяЧасть(); // Выдает по 5 результатов - РазмерПорции
// Если нужно листать
// СписокПоиска.ПредыдущаяЧасть(ТекущаяПозиция);      
// СписокПоиска.СледующаяЧасть(ТекущаяПозиция);      

Для каждого Результат Из СписокПоиска Цикл
нСтр=тчРезультата.Добавить();
нСтр.ТекстПоиска=Стр;
нСтр.Контрагент=Результат.Значение;
КонецЦикла;


КонецЦикла;

КонецПроцедуры


Процедура ПриОткрытии()
ПорогНечеткости=15;
КонецПроцедуры

Результат обработки:

Разместил:   Версии: | 8.x | 8.2 УП | 8.3 |  Дата:   Прочитано: 17743
 +3 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 52
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 2
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: ... по причине: Ошибка компоновки данных по причине: Ошибка получени
rphost занимает память и грузит процессор 22
У многих возникают проблемы с rphost.exe, разного вида: rphost занимает всю память rphost грузит процессор rphost жрет память причем 1С даже на запущена, а в диспетчере следующее: ежеминутно расчет на 2-3 мегабайта. Как быть и что делат
Битая ссылка, , Уникальный Идентификатор, GUID - Управляемые формы 5
Переделал обработки из статей Битая ссылка, Объект не найден, Уникальный Идентификатор, GUID и Поиск в базе битых ссылок - объект не найден под Управляемые формы. Скачать
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.