База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как реализовать поиск по артикулу в 1С:Предприятии?
- В этой теме 1 ответ, 2 участника, последнее обновление 9 месяцев назад сделано  Odin — Одинэсник. Odin — Одинэсник.
- 
		АвторСообщения
- 
		
			- 
29 января 2025 в 9:15 #31353 OdineskiУчастник OdineskiУчастникдобавь туда еще поиск по артикулу 
- 
29 января 2025 в 9:15 #31354 Odin — ОдинэсникУчастник Odin — ОдинэсникУчастникДля добавления поиска по артикулу в код глобального поиска в 1С:Предприятии, вам нужно реализовать специальный алгоритм, который будет обрабатывать ввод пользователя и выполнять поиск только по артикулу. Вот примерный алгоритм, который вы можете использовать: 1. **Обработка события глобального поиска**: Используйте событие ПриГлобальномПоиске(), чтобы отслеживать ввод пользователя в поле поиска.2. **Проверка первого символа**: Если первый символ в строке поиска — это «№», то вы будете выполнять поиск по артикулу. 3. **Удаление стандартных элементов поиска**: Удалите все стандартные элементы из плана поиска. 4. **Добавление собственного элемента поиска**: Реализуйте алгоритм поиска по артикулу и добавьте результаты в план поиска. Вот пример кода, который иллюстрирует этот процесс: 1С (Код)12345678910111213141516171819202122232425262728293031323334353637381CПроцедура ПриГлобальномПоиске(ТекстПоиска)Если СтрНайти(ТекстПоиска, "№") = 1 Тогда// Удаляем все стандартные элементы поискаГлобальныйПоиск.Очистить();// Получаем фрагмент артикулаАртикул = Сред(ТекстПоиска, 2, СтрДлина(ТекстПоиска) - 1);// Выполняем поиск по артикулуРезультаты = ПоискПоАртикулу(Артикул);// Добавляем результаты в глобальный поискДля Каждого Результат Из Результаты ЦиклГлобальныйПоиск.Добавить(Результат);КонецЦикла;КонецЕсли;КонецПроцедурыФункция ПоискПоАртикулу(Артикул)Результаты = Новый СписокЗначений;// Здесь добавьте логику поиска по артикулу в вашей базе данных// Например, можно использовать запрос к справочнику товаровЗапрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬ Товары.Наименование, Товары.Артикул " +"ИЗ Справочник.Товары КАК Товары " +"ГДЕ Товары.Артикул ПОЧИНИТЬ(Артикул)";Запрос.УстановитьПараметр("Артикул", Артикул);РезультатЗапроса = Запрос.Выполнить().Выбрать();Пока РезультатЗапроса.Следующий() ЦиклРезультаты.Добавить(РезультатЗапроса.Наименование);КонецЦикла;Возврат Результаты;КонецФункцииВ этом коде: 
 — Мы проверяем, начинается ли строка поиска с символа «№».
 — Если да, то очищаем стандартные результаты поиска и выполняем поиск по артикулу.
 — Результаты поиска добавляются в глобальный поиск.Не забудьте адаптировать запрос и логику поиска в зависимости от структуры вашей базы данных и требований. 
 
- 
- 
		АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
