|
v7: Позиционирование на элементе справочника |
☑ |
0
BAPPKAH
26.03.14
✎
13:17
|
Здравствуйте!
Справочник "Улицы" владелец справочника "Дома", справочник "Дома" владелец справочника "БЛС". На основной форме справочника "БЛС" расположил 3 элемента типа "поле ввода", задал тип справочник "Улицы", справочник "Дома", и справочник "БЛС" соответственно. Проставил зависимости.
То есть, в теории, мы выбираем улицу, подчиненный дом и следом подчиненный лицевой счет. Но при выборе дома, справочник "Дома" сразу позиционируется на первом подчиненном элементе справочника "Улицы" и как следствие сразу позиционируется весь справочник "БЛС" и даже после выбора значения в поле "Дом" повторное позиционирование не проходит. Но если попытаться выбрать дом снова, он позиционируется на предыдущем значении.
Вопрос, как при выборе элемента справочника, пере позиционировать его?
В отладчике "Владелец" меняется только при выборе из формы, но изменить программно его не получается:
"Объект не может быть перепозиционирован!"
Вписывание в элемент диалога "спр.Дома" процедуры, которая бы выбирала владельца для справочника "БЛС" не получается.
|
|
1
eshtrey
26.03.14
✎
13:23
|
на форме, в свойствах реквизита на закладке Дополнительно заполнить "Связан с" - указать реквизит владелец.
ПриНачалеВыбораЗначения можно указать Конт.ИспользоватьВладельца()
|
|
2
Ёпрст
гуру
26.03.14
✎
13:34
|
(0) Штатно, из открытой формы элемента БЛС изменить его владельца можно только извратом.
Самое красивое решение, на синьёре, через открытие копии объекта.
|
|
3
Torquader
26.03.14
✎
14:15
|
Если делать красиво, то нужно писать свою форму выбора, чтобы всё выбиралось без всяких танцев с бубнами и можно было управлять выбором как угодно, а также избежать открытия дочерних форм выбора - то есть выбирать просто таблицей на форме.
|
|
4
BAPPKAH
26.03.14
✎
16:55
|
Поиск сделал, через списки значений, но сделал. Вопрос в другом, как установить определенный уровень иерархии (отображать только подчиненные или все)? Как запретить менять ясно:
Процедура ПриСменеИерархии(ВыбСпособ)
СтатусВозврата(0);
КонецПроцедуры
А установить не понятно :-(
|
|
5
Ёпрст
гуру
26.03.14
✎
16:59
|
ИспользоватьВладельца(Нужный,0) + ИерархическийПросмотр(1,0)
|
|
6
BAPPKAH
27.03.14
✎
10:00
|
(5) ИерархическийПросмотр(1,0) - такого нет. Но есть ИерархическийСписок(0,0), спасибо.
БЛС.ИспользоватьВладельца(СпрДома.ТекущийЭлемент());
или
ИспользоватьВладельца(СпрДома.ТекущийЭлемент(),0);
не работает :(
...
Заработало! Спасибо :-)
|
|
7
BAPPKAH
27.03.14
✎
11:12
|
Новая проблема:
Справочник "БЛС", Форма Списка. Не отрабатывает процедуры:
Процедура ПриНачалеРедактированияСтроки()
Предупреждение("при начале редактирования");
СтатусВозврата(0);
КонецПроцедуры
Процедура ПриВыбореСтроки()
Предупреждение("при выборе");
КонецПроцедуры
Посмотрел документацию, они предопределенные, выполнятся обязаны. По отладчику, на них даже не становится. Как быть?
|
|
8
Ёпрст
гуру
27.03.14
✎
11:15
|
1.Выставить редактирование в списке или обеими способами
2. для реализации ПриВыбореСтроки нужно включить Форма.ОбработкаВыбораСтроки(1)
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший