Имя: Пароль:
1C
1С v8
Таблица значений в дереве значений
, , ,
0 ВежливаяТварь
 
18.03.13
11:23
Добрый день. Вопрос глупый, но никак не могу найти ответа. Как в дереве значений в одной из колонок создать таблицу значений?
1 Defender aka LINN
 
18.03.13
11:24
Ну, надо себя как-то заставить...
2 pessok
 
18.03.13
11:25
Колонка = Дерево.Колонки.Создать("Таблица", Новый ОписаниеТипов("ТаблицаЗначений"))

или гоню?
3 ВежливаяТварь
 
18.03.13
11:25
Черт. Как не догадался. Огромное спасибо.
4 ВежливаяТварь
 
18.03.13
11:46
Не получается. Создаю так вот таблицу значений но никак не могу туда добавить колонки и в отладчике пишет напротив этого реквизита тип неопределено.
5 НафНаф
 
18.03.13
11:49
(4) показывай
6 pessok
 
18.03.13
11:49
Дерево.Колонки.Таблица.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));

не работает?

значит низя
7 ВежливаяТварь
 
18.03.13
11:52
ДеревоДокументов = Новый ДеревоЗначений;
       
ДеревоДокументов.Колонки.Добавить("ТЗСвойств",,Новый ОписаниеТипов("ТаблицаЗначений"));
   //ДеревоДокументов.Колонки.ТЗСвойств.Колонки.Добавить("Наименование");
   //ДеревоДокументов.Колонки.ТЗСвойств.Колонки.Добавить("Значение");

На первой же закомментированной строке выдает ошибку

{Обработка.ОбменССайтом.МодульОбъекта(4745)}: Поле объекта не обнаружено (Колонки)
   ДеревоДокументов.Колонки.ТЗСвойств.Колонки.Добавить("Наименование");
8 pessok
 
18.03.13
11:53
(7) создавай ТЗ отдельно, а потом запихивай в колонку ДЗ, значит
9 pessok
 
18.03.13
11:55
ДеревоДокументов.Колонки.Добавить("ТЗСвойств",,Новый ОписаниеТипов("ТаблицаЗначений")); // тут точно ТРЕТИЙ параметр, лень в СП лезть
ТЗСвойств = Новый ТаблицаЗначений;
ТЗСвойств.Колонки.Добавить("Наименование");
ТЗСвойств.Колонки.Добавить("Значение");
ДеревоДокументов.Колонки.ТЗСвойств = ТЗСвойств.Скопировать();
10 ВежливаяТварь
 
18.03.13
11:55
(9)Тз=Новый Таблицазначений;
ДеревоДокументов.Колонки.ТЗСвойств=ТЗ;

так?
11 cw014
 
18.03.13
11:55
(7) оХГДЕЖ!!! > ДеревоДокументов.Колонки.ТЗСвойств.Колонки.Добавить("Наименование");

Ты у колонки пытаешься значение получить или все таки тебе нужно к элементу коллекции строк обратиться?
12 cw014
 
18.03.13
11:55
(10) Не так. см (11)
13 pessok
 
18.03.13
11:59
УМВР вот так:

   ДеревоДокументов = Новый ДеревоЗначений;
   
   ДеревоДокументов.Колонки.Добавить("ТЗСвойств",,Новый ОписаниеТипов("ТаблицаЗначений")); // тут точно ТРЕТИЙ параметр, лень в СП лезть
   
   ТЗСвойств = Новый ТаблицаЗначений;
   ТЗСвойств.Колонки.Добавить("Наименование");
   ТЗСвойств.Колонки.Добавить("Значение");
   
   НовСтр = ТЗСвойств.Добавить();
   НовСтр.Наименование = "ё111";
   НовСтр.Значение = "авав";
   
   Для А = 0 По 10 Цикл
       
       
       Строка = ДеревоДокументов.Строки.Добавить();
       
       Строка.ТЗСвойств = ТЗСвойств.Скопировать();
       
   КонецЦикла;
14 cw014
 
18.03.13
12:00
(13) За "Строка = ДеревоДокументов.Строки.Добавить();" руки бы оборвать
15 pessok
 
18.03.13
12:01
+(13) ну да, согласен, некрасиво :) но смысл от этого не меняется
16 pessok
 
18.03.13
12:02
+(13) кстати, если у ТС надо добавлять только Свойство и Значение, то для этого православнее использовать структуру таки, а не ТЗ
17 cw014
 
18.03.13
12:03
(16) Он атеист :)
18 Defender aka LINN
 
18.03.13
12:06
(6) Добавлять колонки надо в таблице, которая в СТРОКЕ дерева.
19 НафНаф
 
18.03.13
12:06
(16) я гугенот: за соответствие
20 pessok
 
18.03.13
12:07
(19) нафига, если он в ключе планирует хранить строку, а не ссылку на ПВХ?
21 ВежливаяТварь
 
18.03.13
12:08
(16) я тоже начал думать насчет структуры. А не поскажите как её тут использовать? Цель у меня такая мне передается с сайта XML в котором много атрибутов наименование и значение. Когда стандартный обработчик УТП его разбирает он сохраняет значения этих атрибутов в одно и тоже место при этом перезаписывая ранее записанный атрибут. Вот мне и надо что бы он не презаписывал а сохранял либо в структуру либо в ТЗ.
22 cw014
 
18.03.13
12:09
(21) Как ТЗ сохраняешь, так и структуру сохраняй
23 cw014
 
18.03.13
12:10
+(21) Даже больше, обзови в ТЗ колонки не "Свойство" и "Значение", а "Ключ" и "Значение", а саму ТЗ создавай не как таблицу значений, а как структуру. И строки с колонками добавлять не надо
24 НафНаф
 
18.03.13
12:11
(20) в ключе структуры могут только особенные строки "идентификаторы"
25 cw014
 
18.03.13
12:13
А, да, точно. (24) +1
26 cw014
 
18.03.13
12:14
Тогда соответствие храни
27 ВежливаяТварь
 
18.03.13
12:43
Получилось с таблицей значений    cw014 был прав нудно было работать со строками. Всем огромное спасибо.