|
Обычное приложение, выбор? | ☑ | ||
---|---|---|---|---|
0
Demetres
29.03.15
✎
18:56
|
Всем привет! Есть задача в табличной части обычной формы, сделать выбор в реквизите "ВидыЗначений" в зависимости от реквизита "Контрагент". Если Контрагент.НеРизидент = Истина, то брать выбирать из предопределенной группы "НеРизидент" если наоборот то "Резидент". Как сделать это ГРАМОТНО? Нужно будет запилить обработчики на события "ВидЗакрытияНачалоВыбора", "ВидЗакрытияОбработкаВыбора", "ВидЗакрытияАвтоПодборТекста", или можно как-то без кода это сделать в обычном приложении?
|
|||
1
Demetres
29.03.15
✎
18:56
|
Реквизит "ВидЗакрытия"
|
|||
2
ДенисЧ
29.03.15
✎
18:58
|
Без кода нельзя.
|
|||
3
ShoGUN
29.03.15
✎
18:59
|
(0) В обычном приложении без кода не реализуется. Единственное что можно - владельца задать другим реквизитом на форме, если справочник подчинённый.
|
|||
4
Demetres
29.03.15
✎
19:01
|
А есть что-то на подобии как в управляемом приложении "Связи параметров выбора"
|
|||
5
Demetres
29.03.15
✎
19:02
|
(4) Не, у меня связь по родителю.
|
|||
6
Demetres
29.03.15
✎
19:06
|
И форму выбора нужно задать для Справочники.ВидыЗакрытия автоматом ничего не сгенерируется?
|
|||
7
Demetres
29.03.15
✎
19:19
|
Почему для Справочники.ВидыЗакрытия.ФормыВыбора нельзя добавить отбор по родителю?
{Документ.ВыборВТабличнуюЧасть.Форма.ФормаДокумента.Форма(14)}: Ошибка при вызове метода контекста (Добавить) ТекОтборПоРодителю = ФормаВыбора.СправочникСписок.Отбор.Добавить("Родитель"); по причине: Метод не доступен для данного объекта |
|||
8
Demetres
29.03.15
✎
19:27
|
Кто в теме, ответьте почему может недоступно поле родитель для отбора?
|
|||
9
ShoGUN
29.03.15
✎
19:33
|
(8) Его не надо добавлять, он там уже есть :)))
ФормаВыбора.СправочникСписок.Отбор.Родитель |
|||
10
Demetres
29.03.15
✎
19:35
|
(9) Сейчас попробую, но так тоже ошибка, В списке элементов отбора его не было
|
|||
11
ShoGUN
29.03.15
✎
19:36
|
(10) В справочнике иерархия-то есть?
|
|||
12
Demetres
29.03.15
✎
19:36
|
(9) Поле не обнаружено, в отладке посмотрел?
|
|||
13
Demetres
29.03.15
✎
19:36
|
Да, групп и элементов
|
|||
14
Demetres
29.03.15
✎
19:37
|
Не понимаю почему нет родителя
|
|||
15
Demetres
29.03.15
✎
20:09
|
У меня так получилось, если видите что-то лишнее скажите
|
|||
16
Demetres
29.03.15
✎
20:09
|
Процедура ДанныеКонтагентовВидЗакрытияНачалоВыбора(Элемент, СтандартнаяОбработка)
ТекКонтрагент = ЭлементыФормы.ДанныеКонтагентов.ТекущаяСтрока.Контрагент; Если ЗначениеЗаполнено(ТекКонтрагент) Тогда ТекРодитель = ?(ТекКонтрагент.НеРезидент, Справочники.ВидыЗакрытия.НеРезидент, Справочники.ВидыЗакрытия.Резидент); НаборЭлементов = ПолучитьНаборЭлементовПоРодителю(ТекРодитель); Если НаборЭлементов.Количество() = 0 Тогда Возврат; Иначе Если НаборЭлементов.Найти(Элемент.Значение) <> Неопределено Тогда ТекЗначниеЭлемента = Элемент.Значение; Иначе ТекЗначниеЭлемента = НаборЭлементов[0]; КонецЕсли; КонецЕсли; СтандартнаяОбработка = Ложь; ФормаВыбора = Справочники.ВидыЗакрытия.ПолучитьФормуВыбора("ФормаВыбора", Элемент); ФормаВыбора.СправочникСписок.Отбор.Ссылка.Установить(ТекРодитель); ФормаВыбора.СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВИерархии; ФормаВыбора.СправочникСписок.Отбор.ПометкаУдаления.Установить(Ложь); ФормаВыбора.ЭлементыФормы.СправочникСписок.ТекущаяСтрока = ТекЗначниеЭлемента; ФормаВыбора.ПараметрВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы; ФормаВыбора.Открыть(); КонецЕсли; КонецПроцедуры Функция ПолучитьНаборЭлементовПоРодителю(ТекРодитель) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВидыЗакрытия.Ссылка КАК Ссылка |ИЗ | Справочник.ВидыЗакрытия КАК ВидыЗакрытия |ГДЕ | ВидыЗакрытия.Родитель В ИЕРАРХИИ(&Родитель) | И НЕ ВидыЗакрытия.ПометкаУдаления | И НЕ ВидыЗакрытия.ЭтоГруппа"; Запрос.УстановитьПараметр("Родитель", ТекРодитель); РезультатЗапроса = Запрос.Выполнить(); Возврат РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("Ссылка"); КонецФункции |
|||
17
Demetres
29.03.15
✎
20:10
|
Нашел это лишнее
ФормаВыбора.СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВИерархии; |
|||
18
Demetres
29.03.15
✎
20:12
|
Нет это не лишнее, к вечеру уже не очень соображается
|
|||
19
hhhh
29.03.15
✎
23:30
|
может просто колонку Родитель добавить в список. Тогда и отбор появится сам.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |