Как избавиться от "быстрого выбора"

1. user790607 27.03.19 10:25 Сейчас в теме
Доброго времени суток всем читающим!

Есть документ, в нём табличная часть, в табличной части выбирается в одной из колонок номенклатура.
Сделана специальная форма выбора, задающая отбор по необходимым параметрам, из формы выбора всё прекрасно.
Но быстрый выбор непосредственно из строки табличной части ведёт "предательски диверсионную" работу по вываливанию все номенклатуры существующей в списке.

Подскажите как реализовать подбор только из формы выбора или в "быстром выборе" задать отбор по остаткам из регистра...

В общем суть выбора номенклатуры не с нулевым остатком и видеть ещё статью финансирования(по которой оприходовали номенклатурную позицию).
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. independ 1520 27.03.19 10:30 Сейчас в теме
(1) Свойства: ИсторияВыбораПриВводе, БыстрыйВыбор: не использовать, нет
Событие НачалоВыбора, создать к примеру Список значений с нужной номенклатурой и использовать в качестве отбора
&НаКлиенте
Процедура НоменклатураНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	СтандартнаяОбработка=Ложь;
	фиксНастройки = Новый НастройкиКомпоновкиДанных;
	Отбор = фиксНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
	Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
	Отбор.ПравоеЗначение = СписокНужнойНоменклатуры;
	Отбор.Использование = Истина;
	Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
	ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("ФиксированныеНастройки", фиксНастройки);
	ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыФормы, Элемент);
КонецПроцедуры
Показать
Прикрепленные файлы:
simgo83; AndKovalchuk; +2 Ответить
3. user790607 27.03.19 10:37 Сейчас в теме
(2) в свойствах справочника?
стоит вот так и ему всё равно фиолетово...
Прикрепленные файлы:
4. dhurricane 27.03.19 10:53 Сейчас в теме
(1) А у Вас каким образом передаются параметры в форму выбора? Используются параметры выбора и связи параметров выбора для реквизита "Номенклатура" ТЧ? Если так, то дополнительно реализуйте нестандартную обработку события "ОбработкаПолученияДанныхВыбора" в модуле менеджера номенклатуры, опираясь на те же параметры выбора. В этом случае диверсий не должно быть. :)
5. user790607 27.03.19 11:01 Сейчас в теме
(4) через ссылку на форму выбор справочника, только не ту, что по умолчанию, а через дополнительную с заданными параметрами отбора...
6. dhurricane 27.03.19 11:08 Сейчас в теме
(5) Это Вы указываете в свойствах реквизита, какую форму использовать для выбора, верно? А как параметры-то в эту форму передаются?
11. user790607 27.03.19 11:15 Сейчас в теме
(6) отбором в динамическом списке(если я правильно понял вопрос)
21. dhurricane 27.03.19 11:45 Сейчас в теме
(11) А, сообразил. Данные из формы документа в форму выбора не передаются, верно? В форме выбора всегда актуальные остатки?

Если так, то все совсем легко должно быть. Добавьте реквизиту номенклатуры произвольный параметр выбора, например "ТолькоАктуальныеОстатки" = Истина. Далее в обработчике номенклатуры "ОбработкаПолученияДанныхВыбора" проверьте наличие этого ключа в параметрах, и если он присутствует, отключите стандартную обработку, запросом выберите только ту номенклатуру, для которой есть актуальные остатки и заполните ею список выбора.

Должно получиться.
22. user790607 27.03.19 11:57 Сейчас в теме
(21) не совсем так, в форму выбора передаются все данные, с формой выбора всё хорошо.
а вот если "быстрый выбор", он выдаёт любую позицию без отбора.

да и он на фиг не нужен этот "быстрый выбор", в форме выбора формируются ещё и дополнительные поля поддягиваемые из справочника и необходимые для выбора.
23. dhurricane 27.03.19 12:00 Сейчас в теме
(22) Ну идея для решения не меняется. Нужно только повторить устанавливаемый отбор формы выбора в обработчике получения данных выбора.
24. user790607 27.03.19 12:03 Сейчас в теме
(23) мне необходимо при активизации ячейки сразу открывать форму выбора, без "быстрого выбора", т.к. там будет ещё и фильтрация по полю кода(одному коду присвоено несколько элементов номенклатуры), при считывании штрихкода и естесственно с плюсовым остатком.
т.е. нужно выбрать препарат по международному наименованию из аналогов торгового(надеюсь не слишком запутал)
25. dhurricane 27.03.19 12:30 Сейчас в теме
(24) Ну я Вам и предложил реализовать механизм, благодаря которому номенклатуру можно будет корректно выбирать и в отдельной форме, и вводить вручную.

Но если Вам не нужные эти трудности, а следует запретить подбор непосредственным вводом, у поля номенклатура снимите флажок "РедактированиеТекста", установите "ИсторияВыбораПриВводе" = Не использовать, можно еще "КнопкаВыпадающегоСписка" = Нет.
user790607; +1 Ответить
26. user790607 27.03.19 12:33 Сейчас в теме
(25) сделал именно так, вводить текст не даёт, но вручную всё равно приходиться нажать "показать все", либо нажать "F4", что не очень удобно.
27. dhurricane 27.03.19 12:45 Сейчас в теме
(26) Я не уверен, что в 1С есть подходящее событие для обработки начала редактирования нужной в таблице колонки. В моем представлении платформа "заточена" именно под возможность ввода по строке, при этом предоставляя возможность открыть пользователем отдельную форму выбора. По инициативе самого же пользователя.

Возможно я ошибаюсь и кто-либо на форму подскажет что-то подходящее.
32. Sikh 16.11.20 13:00 Сейчас в теме
(26) Ну чтоб не надо было вручную нажимать "показать все " сделать кнопку выбора ДА, а быстрый список НЕТ и вообще все лишнее НЕТ вместо авто. Кнопка выбора сразу открывает форму выбора без быстрого списка если он отключен уже и без дополнительных телодвижений. Т.е. выпадающий список кнопка нет, а кнопка выбора да и она одна тогда есть и сразу откроется основная форма выбора.
7. Akuji 22 27.03.19 11:11 Сейчас в теме
Нужно еще и ввод по строке обработать или запретить.
ben19791010; +1 Ответить
10. user790607 27.03.19 11:14 Сейчас в теме
(7) ввод по строке нельзя запрещать, потому что в открываемой форме выбора он необходим...
13. Akuji 22 27.03.19 11:15 Сейчас в теме
(10) запрещать нужно только в нужной форме... в открываемой форме уже другое поле
15. user790607 27.03.19 11:19 Сейчас в теме
(13) у формы нет такого свойства...
16. Akuji 22 27.03.19 11:20 Сейчас в теме
18. user790607 27.03.19 11:23 Сейчас в теме
14. Akuji 22 27.03.19 11:17 Сейчас в теме
(10)и можно не запретить, а обработать с теми же фильтрами что и в открываемой форме.
Будут выпадать только нужные.
19. user790607 27.03.19 11:24 Сейчас в теме
(14) не удобен в принципе этот список быстрого выбора(номенклатурных позиций может быть много), требование открывать в отдельном окне от заказчика...
8. ben19791010 27.03.19 11:12 Сейчас в теме
суть именно по вводу по строке и истории выбора в документе а не в справочнике
9. user790607 27.03.19 11:13 Сейчас в теме
(8) и в поле и в справочнике всё запретил, по фигу...
как программно при активизации строки сразу открывать форму выбора?
12. ben19791010 27.03.19 11:15 Сейчас в теме
приначале выбора получайте форму выбора вашу
17. user790607 27.03.19 11:22 Сейчас в теме
20. user790607 27.03.19 11:38 Сейчас в теме
(12) "приНачалеВыбора" слишком поздно, позволяет начинать набор текста...
28. alalexmix 25 27.03.19 14:20 Сейчас в теме
А если отключить режим редактирования - сойдет?
30. alalexmix 25 27.03.19 14:20 Сейчас в теме
(28) Останется только возможность выбора
31. alalexmix 25 27.03.19 14:21 Сейчас в теме
(28) Точнее редактирование текста
Оставьте свое сообщение

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