Имя: Пароль:
1C
1C 7.7
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)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.