новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Владимир
Приватное сообщение

Реализовать функцию Автоподбора Номенклатуры УТ10

Краснодар(Россия )
docent2955
30 |  3
24 июля 2024 в 10:56:35 (17 недель 5 дней 5 часов назад)
78300
Текст задания
Конфигурация УТ10. Надо реализовать функцию Автоподбора Номенклатуры в табличных частях документа по Артикулу. Таким образом: Например, если Артикул А1245/Б1576 и пользователь вводит "Б1576", то номенклатура должна быть найдена.
Т.е. надо сделать аналог вот этой функции, только в Обычном приложении -

Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
//Если это рекурсивный вызов, тогда ничего не делать
Если НЕ Параметры.Свойство("Рекурсия") Тогда
СтандартнаяОбработка = Ложь;
//ПолучитьСтандартный список
Параметры.Вставить("Рекурсия");
СтандартныйСписок = ПолучитьДанныеВыбора(Параметры);
//Добавим свой вариант поиска по Артикулу

Если СтандартныйСписок.Количество() < 1 Тогда

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка,
| Номенклатура.ПометкаУдаления
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ЛОЖЬ
| И Номенклатура.Артикул ПОДОБНО &СтрокаПоиска";

Запрос.УстановитьПараметр("СтрокаПоиска", "%"+ Параметры.СтрокаПоиска+"%");

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

КонецПроцедуры
0
Выбранные исполнители
Отклики