Имя: Пароль:
1C
1С v8
Выгрузка результата запроса в дерево, проблема с типом.
0 Maximysis
 
17.10.13
10:42
При выгрузки в дерево изменяется тип значения колонки, с "СправочникСсылка" на "СправочникСсылка.ГруппыОбъектов". Как можно выгрузить не меня тип?
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ГруппыОбъектов.Ссылка КАК Объект,
        |   0 КАК Пометка
        |ИЗ
        |    Справочник.ГруппыОбъектов КАК ГруппыОбъектов
        |ГДЕ
        |    ГруппыОбъектов.ВидГруппировкиОбъекта = &ВидГруппировкиОбъекта
        |
        |УПОРЯДОЧИТЬ ПО
        |    Объект ИЕРАРХИЯ
        |АВТОУПОРЯДОЧИВАНИЕ";
    Запрос.УстановитьПараметр("ВидГруппировкиОбъекта", ВидОтбора);
    ДеревоОбъектов = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
1 Maximysis
 
17.10.13
10:47
ДеревоОбъектов.Колонки.Объект.ТипЗначения  на запись не доступна.
2 andreymongol82
 
17.10.13
11:03
ДеревоОбъектов.Колонки.Объект.ОграничениеТипа = <Нужный тип>
3 Maximysis
 
17.10.13
12:03
(2) у дерева на форме нет ОграничениеТипа
4 Maximysis
 
17.10.13
13:32
Обходом не получиться. Идей нет(
5 andreymongol82
 
17.10.13
13:34
(3) Как нет? Куда делось? Может все-таки у колонки дерева?
6 Defender aka LINN
 
17.10.13
13:36
(0) Выгружать в другое дерево, копировать обходом
7 Defender aka LINN
 
17.10.13
13:37
(2) Феерично
8 Maximysis
 
17.10.13
13:39
(6)да вариант. а пример не подскажите копирование дерева...
9 Defender aka LINN
 
17.10.13
13:41
(8) рекурсия. Ну и добавить() / ЗаполнитьЗначенияСвойств, все ж просто.
10 andreymongol82
 
17.10.13
13:45
(7) Абсолюно согласен, что абсолютная глупость
11 andreymongol82
 
17.10.13
13:46
(10) Ваще перепутал с полем формы. Заработался уже вконец.
12 hhhh
 
17.10.13
13:54
(8) у тебя же написано

ВЫБРАТЬ
        |    ГруппыОбъектов.Ссылка

тип Группы объектов
13 Maximysis
 
17.10.13
14:12
(8)и?
14 Maximysis
 
17.10.13
14:12
(12)?
15 Maximysis
 
17.10.13
14:37
(9)не могу понять как использовать ЗаполнитьЗначенияСвойств() в рекурсии...
16 Maximysis
 
17.10.13
14:54
(9)Спасибо! сделал копированим дерева.
так
Процедура КопироватьСтрокиДерева(ДеревоПриемник,ДеревоИсточник)
    Для каждого Строка из ДеревоИсточник Цикл
        НоваяСтрокаДерева = ДеревоПриемник.Добавить();    
        НоваяСтрокаДерева.Объект = Строка.Объект;
        КопироватьСтрокиДерева(НоваяСтрокаДерева.Строки,Строка.Строки);
    КонецЦикла;
КонецПроцедуры
17 Maximysis
 
17.10.13
14:54
Все ок!