|
Передача ДереваЗначений с сервера на клиент! |
☑ |
0
Ispanec
12.01.12
✎
16:50
|
Доброго всем времени суток!
В управляемом приложении пытаюсь реализовать стандартный механизм "структура подчиненности документа"
в процедуре ПриСозданииНаСервере получаю реквизит формы тип ДеревоЗначений потом заполняю его и отравляю опять на клиент. Выдает следующую ошибку Ошибка отображения типов:
Отсутствует отображение для типа 'СтрокаДереваЗначений'. Подскажите как можно имея ссылку на строку дерева значения получить ссылку на само дерво чтобы её в дальнейшем передать на клиент! За ранее благодарю
|
|
1
a_alenkin
12.01.12
✎
16:51
|
ЗначениеВРеквизитФормы()
|
|
2
Ispanec
12.01.12
✎
16:53
|
&НаСервере
Перем мДерево;
&НаСервере
Перем мУжеВСписке;
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Дерево = ДанныеФормыВЗначение(ДеревоЗависимостей, Тип("ДеревоЗначений"));
мУжеВСписке = Новый Соответствие;
ВывестиДеревоДокументов(Дерево, Параметры.ТекущийДокумент);
ЗначениеВДанныеФормы(Дерево, ДеревоЗависимостей);
КонецПроцедуры
&НаСервере
Процедура ВывестиДеревоДокументов(ДеревоДокументов, ДокументСсылка)
Попытка
ДеревоДокументов.Строки.Очистить();
мДерево = ДеревоДокументов;
мУжеВСписке.Очистить();
ВывестиРодительскиеДокументы(ДокументСсылка);
Элементы.ДеревоДокументов.ТекущаяСтрока = мДерево;
ВывестиПодчиненныеДокументы(мДерево);
Исключение
КонецПопытки;
КонецПроцедуры
|
|
3
aleks-id
12.01.12
✎
16:53
|
чо ж всех через анус то тянет делать... используй не реквизит формы а ТЧ обработки
|
|
4
aleks-id
12.01.12
✎
16:55
|
а еще лучше глянь как в УТ11 сделали
|
|
5
a_alenkin
12.01.12
✎
16:58
|
Не все прочитал - посмотри БиблиотекуСтандартныхПодсистем - как там реализовано
|
|
6
Ispanec
12.01.12
✎
17:00
|
спасибо большое посмотрю!
|
|
7
vmv
12.01.12
✎
17:04
|
Бесплатный савет:
если все чики-пуки с кодом и логикой при создании/заполнени/передачи дерева между деревом и клиентом, то советую взять на вооружение одно простое правило, сформулированное мной, которое гласит
"Если вы в серверной процедуре создаете ПЕРЕМЕННУЮ типа деревозначений, то при выходе из этой процедуры терминируйте ее примитивным способом, например так
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Дерево = ДанныеФормыВЗначение(ДеревоЗависимостей, Тип("ДеревоЗначений"));
// .... чето-то там мутим
// терминируем слонов методом топора:)
Дерево = 0;
КонецПроцедуры
"
Именно такой сспособ мне позволял избавиться именно от описанной автором ошибки, хотя вся логика платформы была соблюдена. особенно для деревьем с глубокой вложенностью это актуально
Я сделал вывод, что деструктроры платформы для объектов глубой структурируемости работают еще криво, разработчики уже проснулись и стали закрывать баги, но еще много тырок в деструктивах.
Не советую пренебрегать саветом)
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой