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

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

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

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

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

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

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

Код 1C v 8.х
 

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


	КонецЦикла;
	
КонецПроцедуры


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

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

Разместил:   Версии: | 8.x | 8.2 УП | 8.3 |  Дата:   Прочитано: 18320
 +3 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 53
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
Google maps, поиск оптимального маршрута 5
В данном посте хочу коснуться основных аспектов построения оптимального маршрута с использованием API Google maps. Исходные данные для построения маршрута: * Географические координаты объектов, которые хранятся в базе; * Координаты начальной и коне
Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 2
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: ... по причине: Ошибка компоновки данных по причине: Ошибка получени
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!