Отбор в быстром выборе обычных форм

1. TopZlodey 13 27.02.23 11:09 Сейчас в теме
Доброго времени суток. Есть задача, выдавать в быстром выборе справочника номенклатура только определенную номенклатуру (из определенных папок/ с определенными родителями). В управляемых формах есть "Связи параметров выбора". Подскажите пожалуйста, как это можно реализовать в обычных формах.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VictorRGB2 14 27.02.23 11:39 Сейчас в теме
(1) как-то так

СписокНомеклатуры = ПолучитьСписокНужнойНоменклатуры();
ПараметрыОтбора = Новый Структура("Ссылка",СписокНомеклатуры); 
ПараметрыФормы = Новый Структура("Отбор",ПараметрыОтбора); 
ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора",ПараметрыФормы);


тут главная фишка в ПолучитьСписокНужнойНоменклатуры()
3. TopZlodey 13 27.02.23 11:51 Сейчас в теме
(2)Наверное я не правильно выразился. Я имел ввиду, когда начинаешь вбивать наименование номенклатуры или код, чтобы он предлагал строго определенную номенклатуру
4. VictorRGB2 14 27.02.23 13:45 Сейчас в теме
(3) для обычных форм такого не сделать

вернее можно, но через Ж...сначала выбрать, потом проверить входит ли выбранное значение в разрешенный список и если не входит отменить выбор

но это ИМХО сложнее и неудобно для пользователя, нежели открыть форму подбора с наложенным отбором и в ней тот же самый ввод по наименованию или коду сделать
TopZlodey; +1 Ответить
5. TopZlodey 13 27.02.23 14:08 Сейчас в теме
(4) Понимаю, но нужно именно это, отбор в форме списка/выбора знаю как сделать
6. glek 119 27.02.23 14:21 Сейчас в теме
(5) Попробуйте поиграться в автоподбортекста и окончаниевводатекста
TopZlodey; +1 Ответить
7. independ 1527 27.02.23 16:37 Сейчас в теме
(1)
Процедура СтрокаПоискаПриИзменении(Элемент)
	
	Если ПустаяСтрока(СтрокаПоиска) Тогда
		Отбор.Ссылка.Использование = Ложь;
		Возврат;
	КонецЕсли;	

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

	Если СписокКонтрагентов.Количество()<>0 Тогда
		Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
		Отбор.Ссылка.Значение = СписокКонтрагентов;
		Отбор.Ссылка.Использование = Истина;
	КонецЕсли;
КонецПроцедуры
Показать
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот