Имя: Пароль:
1C
1С v8
Добавить колонку дерево значений
0 Patrio_
O_Muerte
 
30.03.14
22:42
Добрый вечер.
Не могу разобраться как добавить колонку в дерево значений на форме. Вроде в отладчике все ровно а на форме не вижу.
Где я неправ?
1 Фокусник
 
30.03.14
22:48
(0) правой кнопкой мыши ;)
Или нужно программно?
2 WildSery
 
31.03.14
10:00
(0) На форме - табличное поле. Разберитесь, что куда вы добавляете.
Могу попробовать телепатировать, что нужно СоздатьКолонки()
3 Леша1с
 
31.03.14
12:15
(2) может, он ТП еще в ДЗ не переключил даже....
4 Patrio_
O_Muerte
 
10.04.14
20:56
У меня таблица значений является реквизитом обработки, на форме лежит дерево значений, я туда справочник Номенклатуру выгружаю (только группы).
5 Patrio_
O_Muerte
 
10.04.14
20:56
&НаКлиенте
Процедура КомандаТаблицуВДерево(Команда)
    КомандаТаблицуВДеревоНаСервере();      
КонецПроцедуры


&НаСервере
Процедура КомандаТаблицуВДеревоНаСервере()
    Дерево = ТаблицаВДерево(РеквизитФормыВЗначение("Объект"), "ДеревоГрупп");
    ЗначениеВРеквизитФормы(Дерево, "ДеревоГрупп");
КонецПроцедуры


&НаСервере
Функция ТаблицаВДерево(ДокОбъект, НаименованиеТабличнойЧастиДокумента, КлючСвязи = NULL, ЭлементРодитель = NULL) Экспорт
    
    //ПОДГОТОВКА КОЛОНОК ДЕРЕВА    
    КолонкиТаблицы = ДокОбъект.Метаданные().ТабличныеЧасти[НаименованиеТабличнойЧастиДокумента].Реквизиты;
        
    ДеревоЗначений2 = Новый ДеревоЗначений;
    Для каждого Кол из КолонкиТаблицы Цикл
        Если Кол.Имя = "НомерСтроки" ИЛИ Кол.Имя = "КлючСвязи" Тогда
            Продолжить;
        Иначе
            ДеревоЗначений2.Колонки.Добавить(Кол.Имя, Новый ОписаниеТипов(Кол.Тип));  
        КонецЕсли;    
    КонецЦикла;
        
    //ДеревоЗначений.Строки.Очистить();
    
    Если КлючСвязи = NULL И ЭлементРодитель = NULL Тогда
        //ПЕРВЫЙ ВЫЗОВ ПРОЦЕДУРЫ (КОРНЕВЫЕ ЭЛЕМЕНТЫ)
        ИсточникВыборки = ДеревоЗначений2.Строки;
        КлючСвязи = "           ";    // ЭЛЕМЕНТ ВЕРХНЕГО УРОВНЯ ИМЕЕТ НОМЕР СТРОКИ РОДИТЕЛЯ 0 (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    Иначе
        //ВНУТРЕННИЙ ВЫЗОВ ПРОЦЕДУРЫ (ПОДЧИНЕННЫЕ ЭЛЕМЕНТЫ)
        ИсточникВыборки = ЭлементРодитель.Строки;
    КонецЕсли;    
    
    Фильтр = Новый Структура("КлючСвязи", КлючСвязи);
    М = ДокОбъект[НаименованиеТабличнойЧастиДокумента].НайтиСтроки(Фильтр);
    Если М.Количество() = 0 Тогда
        Возврат ДеревоЗначений2;
    КонецЕсли;
    Для каждого Стр из М Цикл
        Элемент = ИсточникВыборки.Добавить();
        Для каждого Кол из КолонкиТаблицы Цикл
            Если Кол.Имя = "НомерСтроки" ИЛИ Кол.Имя = "КлючСвязи" Тогда
                Продолжить;
            Иначе
                Элемент[Кол.Имя] = Стр[Кол.Имя];
            КонецЕсли;    
        КонецЦикла;
        ТаблицаВДерево(ДокОбъект, НаименованиеТабличнойЧастиДокумента, Стр.Группа.Код, Элемент);    //ДОБАВЛЕНИЕ ПОДЧИНЁННЫХ ЭЛЕМЕНТОВ В ДЕРЕВО
    КонецЦикла;
        
    Возврат ДеревоЗначений2;
КонецФункции
6 Patrio_
O_Muerte
 
10.04.14
20:58
Где тут надо воткнуть кусок который создаст доп колонку с типом булево, которая будет признаком - выгружаются товары данной группы или нет.
7 Patrio_
O_Muerte
 
10.04.14
21:33
Спасибо сделал
AdBlock убивает бесплатный контент. 1Сергей