Поиск по произвольным частям текста

07.04.19

Задачи пользователя - Поиск данных

Часто мы точно не знаем точное и полное название элемента справочника. Но знаем примерно его части. Например, хотим найти валюту "Доллар США", но помним только что название точно содержит два слова "олл" и "ША".

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Поиск по произвольным частям текста, демо-база
.dt 273,95Kb ver:1
4 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Демо-база работает на платформе 1с.8.3.12 и выше.

Часто мы точно не знаем точное и полное название элемента справочника. Но знаем примерно его части. Например, хотим найти валюту "Доллар США", но помним только что название точно содержит два слова "олл" и "ША".

Паттерн получения запроса:

Функция ПолучитьЗапросНаПоискПоЛексемамВСправочнике(Текст,Справочник="Валюты",Тип="Справочник",Поле="Наименование") Экспорт
	
	// может будет медленно, когда ссылок будет много.
	// разделим строку поиска на лексемы через пробел
	МассивЛексем	= СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Текст," ");
	Для Счетчик = 0 По МассивЛексем.Количество()-1 Цикл
		МассивЛексем[Счетчик]	= "%"+МассивЛексем[Счетчик]+"%";
	КонецЦикла;
	//Если СтрокаМассива.Количество()>5 Тогда
	//	Сообщить("Поиск будет произведен только по первым пяти частям строки.",СтатусСообщения.Внимание);
	//КонецЕсли;
	
	Запрос	= Новый Запрос;
	Запрос.УстановитьПараметр("Лексема0",МассивЛексем[0]);
	Запрос.УстановитьПараметр("Лексема0Р",ВосстановитьРаскладку(МассивЛексем[0]));
	Запрос.Текст	= 
		"ВЫБРАТЬ различные
		|	Справочник.Ссылка,Справочник.ПометкаУдаления
		|ИЗ
		|	Справочник.Валюты КАК Справочник
		|ГДЕ
		|	(Справочник.Наименование ПОДОБНО &Лексема0
		|	ИЛИ Справочник.Наименование ПОДОБНО &Лексема0Р)"
		;
		
	Для Счетчик = 1 По МассивЛексем.Количество()-1 Цикл
		Запрос.УстановитьПараметр("Лексема"+Счетчик+"",МассивЛексем[Счетчик]);
		Запрос.УстановитьПараметр("Лексема"+Счетчик+"Р",ОбщегоНазначения.ВосстановитьРаскладку(МассивЛексем[Счетчик]));
		Запрос.Текст	= Запрос.Текст+"
			|И (Справочник.Наименование ПОДОБНО &Лексема"+Счетчик+"
			|	ИЛИ Справочник.Наименование ПОДОБНО &Лексема"+Счетчик+"Р)";
	КонецЦикла;
		
	Запрос.Текст	= СтрЗаменить(Запрос.Текст,"Валюты",Справочник);	
	Запрос.Текст	= СтрЗаменить(Запрос.Текст,"Справочник",Тип);	
	Запрос.Текст	= СтрЗаменить(Запрос.Текст,"Наименование",Поле);
		
	Возврат Запрос;	
	
КонецФункции

 

Использование запроса в управляемых формах - подключение к полю выбора:

Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
	
	СтандартнаяОбработка	= Ложь;

	Запрос			= ОбщегоНазначения.ПолучитьЗапросНаПоискПоЛексемамВСправочнике(Параметры.СтрокаПоиска,"Валюты");		
	//Запрос.Текст	= Запрос.Текст+" И НЕ Справочник.НеИспользоватьВВыборе";
	
	Результат				= Запрос.Выполнить();
	
	ДанныеВыбора			= Новый СписокЗначений;
	ВыборкаДетальныеЗаписи	= Результат.Выбрать();
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		
		Структура = Новый Структура("Значение,ПометкаУдаления",ВыборкаДетальныеЗаписи.Ссылка,ВыборкаДетальныеЗаписи.ПометкаУдаления);
		
		Элемент = ДанныеВыбора.Добавить();
		Элемент.Значение = Структура;
		
	КонецЦикла;
	
КонецПроцедуры

 

Вступайте в нашу телеграмм-группу Инфостарт

текст поиск вхождение слов

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    92451    69    44    

77

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5. Работает на возможностях платформы, внешние компоненты не используются.

6000 руб.

25.02.2026    6752    23    1    

25

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Разработчик 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    47919    33    15    

51

Поиск данных Закрытие периода Учет документов Аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Бухгалтерия 3.0 Россия Платные (руб)

Обработка предназначена для поиска дубликатов документов «Поступление» и «Реализация» в базе 1С. Поиск выполняется по номеру, дате и сумме документа как по всем организациям, так и в разрезе выбранной организации. Позволяет быстро выявить задвоенные документы, избежать ошибок в учете и сократить время на проверку данных.

6100 руб.

20.07.2026    569    1    0    

2

НДС 22% Поиск данных Регламентированный учет и отчетность Взаиморасчеты Учет доходов и расходов Анализ учета Учет документов Аналитик Бухгалтер Пользователь 1С 8.3 1С:Бухгалтерия 3.0 Россия Налоговый учет НДС Платные (руб)

🔍 Обработка предназначена для быстрого анализа входящего НДС по документам поступления. Она позволяет увидеть, какие ставки НДС применены в каждом документе, выявить ошибки в их использовании и проконтролировать корректность учета.

6100 руб.

06.07.2026    584    1    0    

2

Поиск данных Аналитик Бухгалтер Пользователь Руководитель проекта Стажер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Беларусь Россия Казахстан Платные (руб)

Встройте искусственный интеллект прямо в вашу 1С за один вечер. «Цифровой сотрудник» - это чат с нейросетью внутри привычного интерфейса 1С, который умеет отвечать не «в общем», а по вашим данным: обучите его на регламентах, инструкциях и прайсах компании, подключите к данным информационной базы - и получите ассистента, который консультирует бухгалтера по учёту, отвечает менеджеру по прайсу и достаёт цифры из базы по запросу на обычном русском языке. Поддерживаются OpenAI, DeepSeek, Qwen и локальные LLM - включая вариант, когда данные вообще не покидают ваш контур.

3660 руб.

03.08.2026    2009    1    0    

4

Учетные задачи Поиск данных Подбор и обработка объектов 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

1.обработка позволяет автоматически вычислить дубли и привести их к единому наименованию во всех документах. 2.так же есть возможность в документах поменять счета учета для номенклатуры. Например разные бухгалтера оформляют поступление одного и того же товара - один занес на 10.01, второй на 41.01 в результате в ОСВ у нас минусы. В обработке есть возможность наглядно увидеть такие ошибки и тут же их поправить не бегая по всем документам. Достаточно поставить галочку у номенклатуры и указать счет учета который надо найти и счет учета на который надо его заменить. Обработка сама вычислит документы в которых номенклатура с галочкой была задействована и заменит счета учета. Что бы не было излишнего изменения документов, в обработке указываются типы документов, где операция замены счета разрешена (например Поступление ТМЦ, Реализация, Отчет о розничных продажах, возврат покупателю итд.)

7320 руб.

05.06.2026    956    2    0    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 7394 07.04.19 20:12 Сейчас в теме
Чем не устроил стандартный механизм?
Прикрепленные файлы:
ixijixi; mefalcon; KolBbl4; +3 – Ответить
4. user635629_exter 39 09.04.19 16:33 Сейчас в теме
(1) спасибо, не знал про это.
(3) спасибо, перед публикацией честно искал дубли, не нашел. По ссылке хорошая вещь, но мне бы по-проще.
2. RustIG 1990 07.04.19 20:30 Сейчас в теме
(0) интересный способ!
(1) то, что обратили внимание на типовой механизм +
а так-то можно и порассуждать:
а) типовой механизм - работает только для справочников, а в статье универсально механизм - можно применить алгоритм для поиска всех документов с комментарием "Иванов" + "наличка"
б) типовой механизм работает только для поля ввода, а в статье универсально - для любого элемента формы можно запустить поиск - например, обход строк в ТабличномДокументе и поиск чего-либо
в) неизвестно как запрограммирован типовой алгоритм, а тут код открыт - можно свою функциональность довнести.
Для отправки сообщения требуется регистрация/авторизация