24 июля 2024 в 10:56:35
(17 недель 5 дней 5 часов назад)
78300
15.06.2013 17:37:51
Текст задания
Конфигурация УТ10. Надо реализовать функцию Автоподбора Номенклатуры в табличных частях документа по Артикулу. Таким образом: Например, если Артикул А1245/Б1576 и пользователь вводит "Б1576", то номенклатура должна быть найдена.
Т.е. надо сделать аналог вот этой функции, только в Обычном приложении -
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
//Если это рекурсивный вызов, тогда ничего не делать
Если НЕ Параметры.Свойство("Рекурсия") Тогда
СтандартнаяОбработка = Ложь;
//ПолучитьСтандартный список
Параметры.Вставить("Рекурсия");
СтандартныйСписок = ПолучитьДанныеВыбора(Параметры);
//Добавим свой вариант поиска по Артикулу
Если СтандартныйСписок.Количество() < 1 Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка,
| Номенклатура.ПометкаУдаления
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ЛОЖЬ
| И Номенклатура.Артикул ПОДОБНО &СтрокаПоиска";
Результат = Запрос.Выполнить().Выгрузить();
Если Результат.Количество()<50 Тогда
Для Каждого стр Из Результат Цикл
Структура = Новый Структура;
Структура.Вставить("Значение", Результат.Ссылка);
Структура.Вставить("ПометкаУдаления",Результат.ПометкаУдаления);
СтандартныйСписок.Добавить(Структура);
КонецЦикла;
КОнецЕсли;
КонецЕсли;
ДанныеВыбора = СтандартныйСписок;
КонецЕсли;