Имя: Пароль:
1C
1С v8
УФ дин список. программно добавить колонкус таб части документа
,
0 zladenuw
 
08.04.12
18:14
Можно ли в дин список добавить колонки с табличной части ?
Как привязать данные  ?
1 Drock
 
08.04.12
18:28
можно, разрешаю ))))

колонкус, ячейкуч и кнопкус пускс
2 zladenuw
 
08.04.12
18:34
В ТЧ данные хранятся так
Реквизиты Критерий,Значение.
Я хочу вывести все критерии, а путь к данным указать реквизиты Значение.
Как тогда поступить ?
3 zladenuw
 
08.04.12
18:35
Колонка это Реквизит Критерий.
4 zladenuw
 
08.04.12
18:41
ТЧ вид
Критерий   Значение
Недостаток   10
Цена         6


А я хочу вывести так
Недостаток Цена
10          6


Как указать путь к данным к строке ТЧ ?
5 Deniskind
 
08.04.12
19:32
Добавление реквизита на форму:

Поле = Элементы.Добавить("Комментарий", Тип("ПолеФормы"));
Поле.ПутьКДанным = "Объект.Комментарий";
Поле.Вид = ВидПоляФормы.ПолеВвода;

Думаю, что в случае колонкуса у поля, в качестве родителя (ТаблицаФормы), надо будет указать родителя.
Все это лучше делать в "ПриСозданииНаСервере"
6 zladenuw
 
08.04.12
19:39
(5) это получилось.
Проблема добавить Реквизит ТЧ.
пример в (4). как именно хочу сделать
7 Deniskind
 
08.04.12
19:42
Поле.Родитель = Элементы.Таблица, так не получится?
8 Deniskind
 
08.04.12
19:44
Ага, я вас неправильно понял.
Может, тогда через таблицу значений попробовать, но придеться обрабатывать ее при записи.
9 zladenuw
 
08.04.12
19:46
(8)
Получается что только так.
Жаль.
10 EvgeniuXP
 
08.04.12
20:18
наоборот не жаль, система и так навороченная :)
11 zladenuw
 
08.04.12
20:38
делаю так

КС = Новый КвалификаторыСтроки(50);
   Массив = Новый Массив;
   Массив.Добавить(Тип("Строка"));
   ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);

   Выборка = Документы.ОпросКлиента.Выбрать();    
   
   Таблица = РеквизитФормыВЗначение("ПротоколЗвонков");
   ВыборкаСпр = Справочники.Критерии.Выбрать();
   Пока ВыборкаСпр.Следующий() Цикл
        Если ВыборкаСпр.ПометкаУдаления или ВыборкаСпр.ЭтоГруппа Тогда
             Продолжить;          
        КонецЕсли;        
        Таблица.колонки.Добавить("_т"+ВыборкаСпр.Наименование,ОписаниеТиповС,ВыборкаСпр.Наименование);
        сообщить("_т"+ВыборкаСпр.Наименование);
        //ПолеФ = Элементы.Вставить("_т"+ВыборкаСпр.Наименование,Тип("ПолеФормы"),Элементы.Найти(ВыборкаСпр.Родитель));
        //Попытка
        //   ПолеФ.ПутьКДанным = "ПротоколЗвонков._т"+ВыборкаСпр.Наименование;    
        //Исключение
        //   сообщить(ОписаниеОшибки());
        //КонецПопытки;

    КонецЦикла;
   
   ЗначениеВРеквизитФормы(Таблица,"ПротоколЗвонков");
   Пока выборка.Следующий() Цикл
       новСТр = ПротоколЗвонков.Добавить();
       новСТр.ссылка = выборка.Ссылка;
       новСтр.ЗаявкаТО = выборка.ЗаявкаТО;
       новСтр._тНедостатки = "15";
   КонецЦикла;


Вылетает на ошибке что нет поля  новСтр._тНедостатки
ЧТо делаю не так
12 Кокос
 
08.04.12
20:43
(11) делается проще. в запросе динамического списка берется ЛЕВОЕ СОЕДИНЕНИЕ(ВЫБРАТЬ ПЕРВЫЕ 1 ссылка, нужные поля ИЗ таблицатабличной части) КАК ТЧДока ПО ОсновнаяТаблица.Ссылка = ТЧДока.Ссылка а основной таблица ТЧДока.НужноеПоле КАК названиеКолонки
13 zladenuw
 
08.04.12
20:44
(12) так у меня полей может быть 5 или же 25.
14 Кокос
 
08.04.12
20:53
(13) а какая хрень разница?
15 zladenuw
 
08.04.12
20:57
вроде понял. но где именно прописать условие ?
ВЫБРАТЬ ПЕРВЫЕ 1 ссылка, нужные поля ИЗ таблицатабличной части
16 zladenuw
 
08.04.12
21:05
в Связи писать это условие ?
ВЫБРАТЬ ПЕРВЫЕ 1 ссылка, нужные поля ИЗ таблицатабличной части
17 zladenuw
 
08.04.12
21:07
приведи пример как ты сделал. не получается :(
18 zladenuw
 
08.04.12
21:31
Получилось вот так
Но получаю только 1 значение ТЧ. а как все ?
ВЫБРАТЬ ПЕРВЫЕ 1
   Док.Ссылка,
   Док.ПометкаУдаления,
   Док.Номер,
   Док.Дата,
   Док.Проведен,
   Док.МоментВремени,
   ВложенныйЗапрос.Реквизит1
ИЗ
   Документ.Документ1 КАК Док
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1
           Документ1ТабличнаяЧасть1.Реквизит1 КАК Реквизит1,
           Документ1ТабличнаяЧасть1.Ссылка КАК Ссылка
       ИЗ
           Документ.Документ1.ТабличнаяЧасть1 КАК Документ1ТабличнаяЧасть1) КАК ВложенныйЗапрос
       ПО Док.Ссылка = ВложенныйЗапрос.Ссылка
19 zladenuw
 
08.04.12
21:39
какие еще есть варианты ?
20 zladenuw
 
08.04.12
21:52
должно выглядить так  http://dump.ru/file/5679640
Где результаты это Строки с ТЧ документа.
Так как их может быть больше чем на примере.
Нет не у кого идей ?
21 zladenuw
 
08.04.12
22:00
ап
22 zladenuw
 
08.04.12
22:06
ап!
23 zladenuw
 
08.04.12
22:37
что нет идей ?
24 acsent
 
08.04.12
22:48
(23) идей то дох..я но именно тебе влом помогать
25 zladenuw
 
09.04.12
10:52
(24) а в чем вызвана анти симпатия ?
26 Кокос
 
09.04.12
12:28
ну писать много надо. лень :)
27 zladenuw
 
09.04.12
12:31
пробую создать программно ТЗ. но не выходит.
МассивРеквизитов = Новый Массив;
   МассивТипаВыбора = Новый Массив;
   МассивТипаВыбора.Добавить(Тип("ТаблицаЗначений"));
   ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора);
   

   лТЗ =  Новый РеквизитФормы("МойРеквизит", ОписаниеТипаВыбора, "", "Моя таблица");
   МассивРеквизитов.Добавить(лТЗ);    
   ИзменитьРеквизиты(МассивРеквизитов);
   
   КС = Новый КвалификаторыСтроки(50);
   Массив = Новый Массив;
   Массив.Добавить(Тип("Строка"));
   ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
   
   лТЗ = РеквизитФормыВЗначение("МойРеквизит");
   лТЗ.Колонки.Добавить("_т",ОписаниеТиповС);
   лТЗ.Колонки.Добавить("_т1",ОписаниеТиповС);

   ЗначениеВРеквизитФормы(лТЗ,"МойРеквизит");

Но в ТЗ нет моих колонок. где ошибся ?
28 zladenuw
 
09.04.12
12:31
решил создать свою ТЗ и в нее вывести как мне надо
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.