Norseman
30.10.2006, 20:15
Одно из полей табличной части документа задано типом СправочникСтатьиЗатрат. При выборе элемента в соответствующем поле ввода по умолчанию появляется форма выбора, где можно выбрать любой элемент из этого справочника. А необходимо наоборот, ограничить список выводимых для выбора значений, наложив определенные условия. Как можно это реализовать?
Я првильно понял, что тебе надо вывести тот же справочник, только установив на него
отбор по каким-либо условиям?
Norseman
31.10.2006, 14:42
Цитата(Pilgrim @ 31.10.2006, 11:47)

Я првильно понял, что тебе надо вывести тот же справочник, только установив на него
отбор по каким-либо условиям?
Совершенно верно!
Pilgrim
31.10.2006, 14:54
Ну тогда пожно например так. Допустим нам надо открыть список всех элементов, у которых значение некоторого поля (Пусть Поле1) равно некоторому значению (Пусть Значение1).
На событие ПриВыборе элемента, пишешь следующий код:
Процедура Поле1НачалоВыбора(Элемент,СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ФормаВыбора = Справочники.НашСправочник.ПолучитьФормуВыбора(,Элемент);
ФормаВыбора.СправочникСписок.Отбор.Поле1.ВидСравнения = ВидСравнения.Равно;
(тут СправочникСписок - это название твоего табличного поля на форме выбора справочника, так что оно может быть другим в твоём случае)
ФормаВыбора.СправочникСписок.Отбор.Поле1.Использование = Истина;
ФормаВыбора.СправочникСписок.Отбор.Поле1.Значение = Значение1;
ФормаВыбора.Открыть();
КонецПроцедуры;
Так должно получиться.
Norseman
31.10.2006, 14:58
Спасибо! Буду пробовать.
Norseman
31.10.2006, 17:50
Все получилось. Но теперь стоит другая задача: как запретить пользователям вручную удалять или менять установленный фильтр?
Pilgrim
31.10.2006, 18:28
А там есть свойство у отбора Доступность, попробуй его поставь в ложь.
Norseman
1.11.2006, 10:56
Да вот в том то вся и беда, что такого свойства нет. Я знаю, что для некоторых документов, при нажатии кнопки "Перейти" на панели, открывается справочник или журнал с установленным фильтром по этому документу-регистратору. И если там зайти в фильтр, то откроется форма "Отбор и сортировка", где элемент отбора Регистратор выделен серым цветом и не поддается редактированию.
Вот если бы поиграться с этой формой...
Но в списке объектов конфы я ее не нашел :(
То есть, если в предыдущем коде так сделать ФормаВыбора.СправочникСписок.Отбор.Поле1.Доступность = Ложь, то не получится?
Norseman
1.11.2006, 15:06
Цитата(Pilgrim @ 1.11.2006, 16:22)

То есть, если в предыдущем коде так сделать ФормаВыбора.СправочникСписок.Отбор.Поле1.Доступность = Ложь, то не получится?
Неа
Есть такая вещь, как НастройкаОтбора (момешь в хелпе посмотреть), у неё есть такая вещь, как УправлениеЭлементомОтбора, вот у него есть свойство Доступность и оно вроде как отвечает за интерактивное изменение отбора. Но признаюсь честно, я сам не пользовался эти никогда, может будет время, гляну. А так, можешь сам покопаться, может что интересное нароешь
Norseman
1.11.2006, 15:50
Отлично! Помогло.
В итоге получилось так:
ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Наименование.Доступность = Ложь;
Спасибо за советы!
Ок. Буду тоже знать, что так работает, а то знал только в теории
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.