Имя: Пароль:
1C
1С v8
Динамический список и дерево УФ
0 vde69
 
30.09.12
23:37
чего-то никак не могу сделать из динамического списка ни дерево ни иеархический справочник

меню - серые, программно устанавливаю - пофигу...

ночь уже, спасайте...
1 Ns33
 
01.10.12
09:24
Справочник иерархический?
Подчиненный?
В дин. списке основная таблица задана?
2 MSII
 
01.10.12
09:26
Основная таблица потерялась полюбому.
3 vde69
 
01.10.12
09:33
ап...

не пойму, в типовых аналогичный справочник "подразделения" показывает дерево, а у меня нет :(
4 vde69
 
01.10.12
09:34
(1) да подчиненный, но в типовых аналог "подразделения"

вот запрос на всякий случай

ВЫБРАТЬ
   СправочникБлоки.Ссылка,
   СправочникБлоки.ВерсияДанных,
   СправочникБлоки.Владелец,
   СправочникБлоки.Родитель,
   СправочникБлоки.Код,
   СправочникБлоки.Наименование,
   СправочникБлоки.Адрес,
   СправочникБлоки.Роль,
   СправочникБлоки.ДанныеИзменены
ИЗ
   Справочник.Блоки КАК СправочникБлоки
ГДЕ
   СправочникБлоки.Владелец = &Владелец
5 vde69
 
01.10.12
09:50
перефразирую вопрос

почему в пользовательском контекстном меню не активны меню переключения режима просмотра?
6 Tymoha
 
01.10.12
09:52
тоже интересно. я в свое время так и не победил ... почитал, что типа в подчиненных низзя ... и плюнул на это дело (((
7 Ns33
 
01.10.12
09:55
Эксперимент показал, что для появления иерархического просмотре "ГДЕ" в запросе не катит, он хочет отбор по владельцу в настройках списка. Как это сделать через запрос, пока не ясно.
8 vde69
 
01.10.12
10:20
(7) спасибо, вроде вышло (корявенько, но потом окультурю)

&НаСервере
Процедура УстановитьВладельца()
   ЭлементыОтбора = КаталогДерева.Отбор.Элементы;
   Для Каждого эл из ЭлементыОтбора Цикл
       Если СокрЛП(эл.ЛевоеЗначение) = "Владелец" Тогда
           эл.ПравоеЗначение = ПараметрыСеанса.ТекущийФайл;
       КонецЕсли;
   КонецЦикла;
   
   Элементы.КаталогДерева.Обновить();
КонецПроцедуры
9 Ns33
 
01.10.12
10:26
Используй эту, сам где-то тут стянул:

Процедура УстановитьОбновитьОтбор(ДС,ИмяОтбора,ПравоеЗначение,СтруктураДопПараметров=Неопределено)

Для каждого эл Из ДС.Отбор.Элементы Цикл
 Если СокрЛП(эл.ЛевоеЗначение)=ИмяОтбора Тогда
  эл.ПравоеЗначение=ПравоеЗначение;
  Возврат;
 КонецЕсли;    
КонецЦикла;

Отбор = ДС.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение =ДС.Отбор.ДоступныеПоляОтбора.Элементы.Найти(ИмяОтбора).Поле;
Отбор.ПравоеЗначение = ПравоеЗначение;

Если СтруктураДопПараметров <> Неопределено Тогда
 ЗаполнитьЗначенияСвойств(эл,СтруктураДопПараметров);
КонецЕсли;  


КонецПроцедуры
Ошибка? Это не ошибка, это системная функция.