Имя: Пароль:
1C
1С v8
ДеревоЗначений(помогите разобраться с плюсиком)))
0 serg-lom89
 
07.07.16
12:35
Добрый
Добавил на форму табличное поле.Указал тип значения - ДеревоЗначений
добавил 2 колонки с типом их.

заполнение по кнопке дерево ,выполняется следующий код

    запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Рейс.Ссылка КАК Рейс,
    |    РеализацияТоваровУслуг.Ссылка КАК Реализация
    |ПОМЕСТИТЬ t
    |ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаСклад КАК ЗаявкаНаСклад
    |            ЛЕВОЕ СОЕДИНЕНИЕ Документ.Рейс.Заявки КАК РейсЗаявки
    |                ЛЕВОЕ СОЕДИНЕНИЕ Документ.Рейс КАК Рейс
    |                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    |                    ПО Рейс.Ссылка = ЗначенияСвойствОбъектов.Объект
    |                ПО РейсЗаявки.Ссылка = Рейс.Ссылка
    |            ПО ЗаявкаНаСклад.Ссылка = РейсЗаявки.Заявка
    |        ПО РеализацияТоваровУслуг.Ссылка = ЗаявкаНаСклад.ДокументОснование
    |ГДЕ
    |    РеализацияТоваровУслуг.Проведен
    |    И РеализацияТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2
    |    И НЕ ЗаявкаНаСклад.Ссылка ЕСТЬ NULL
    |    И НЕ РейсЗаявки.Ссылка ЕСТЬ NULL
    |    И НЕ Рейс.Ссылка ЕСТЬ NULL
    |    И ЗначенияСвойствОбъектов.Свойство.Код = ""00213""
    |    И ЗначенияСвойствОбъектов.Значение = ЗНАЧЕНИЕ(перечисление.СтатусыРейса.впути)
    |    И РеализацияТоваровУслуг.Контрагент = &Контрагент
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    t.Рейс КАК Рейс,
    |    t.Реализация
    |ИЗ
    |    t КАК t
    |ИТОГИ ПО
    |    Рейс" ;
    
    запрос.УстановитьПараметр("Дата1",НачПериода);
    запрос.УстановитьПараметр("Дата2",КонПериода);
    запрос.УстановитьПараметр("Контрагент",ЭлементыФормы.Контрагент.значение);
    
    РезультатЗапроса = запрос.Выполнить();
    
    ТабличноеПоле1.Строки.Очистить();
    
    ВыборкаРейса = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"рейс");
    
    Пока ВыборкаРейса.Следующий() Цикл
        
        СтрокаРЕйс = ТабличноеПоле1.Строки.Добавить();
        СтрокаРЕйс.Рейс                    = ВыборкаРейса.Рейс;
        
        ВЫБОРКА_РЕАЛ = ВыборкаРейса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам );
        Пока ВЫБОРКА_РЕАЛ.Следующий() Цикл
            СтрокаРеализации = ТабличноеПоле1.Строки.Добавить();
            СтрокаРеализации.Реализация                    = ВЫБОРКА_РЕАЛ.Реализация;
        КонеЦЦикла;
    КонеЦЦикла;

дерево заполняется.Но вот где плюсик по которому разворачивается и сворачивается?не могу найти как его показать(((
1 Nuobu
 
07.07.16
12:36
Пока ВыборкаРейса.Следующий() Цикл
        
        СтрокаРЕйс = ТабличноеПоле1.Строки.Добавить();
        СтрокаРЕйс.Рейс                    = ВыборкаРейса.Рейс;
        
        ВЫБОРКА_РЕАЛ = ВыборкаРейса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам );
        Пока ВЫБОРКА_РЕАЛ.Следующий() Цикл
            СтрокаРеализации =СтрокаРЕйс.Рейс.Строки.Добавить();
            СтрокаРеализации.Реализация                    = ВЫБОРКА_РЕАЛ.Реализация;
        КонеЦЦикла;
    КонеЦЦикла;
2 Nuobu
 
07.07.16
12:37
СтрокаРеализации =СтрокаРЕйс.Рейс.Строки.Добавить();

Ошибка((

СтрокаРеализации =СтрокаРЕйс.Строки.Добавить();
3 serg-lom89
 
07.07.16
12:43
(2) что то ничего не взлетело
4 serg-lom89
 
07.07.16
12:44
(2) все ок))поставил в колонке рейс использовать иерархию
5 serg-lom89
 
07.07.16
12:44
+ появились)))
6 serg-lom89
 
07.07.16
12:46
спасибо