Имя: Пароль:
1C
1С v8
Массив гиперссылок в управляемой форме.
, ,
0 ReaLg
 
13.04.13
10:03
Господа, никак не могу сообразить, как лучше сделать следующее:
Есть ТЧ документа, в ней хранятся ссылки на другие документы.
Хотелось бы на управляемой форме получить отображение ТЧ в виде списка гиперссылок на эти документы. Какими элементами управления это реализовывается? Сильно не пинайте, с УФ только начал разбираться :) Спасибо.
1 ИсчадиеADO
 
13.04.13
10:04
форматированный документ на 8.3
2 ИсчадиеADO
 
13.04.13
10:05
на 8.2 ФД отображает только одну гиперссылку, поэтому понадобится массив форматированных документов. Впринципе их можно программно создавать
3 ReaLg
 
13.04.13
10:06
Я не могу программно формировать, необходим пинок - в какую сторону копать. Буду читать про ФД. Спасибо :)
4 ИсчадиеADO
 
13.04.13
10:11
"Я не могу программно формировать, необходим пинок" - почему?
5 ReaLg
 
13.04.13
10:13
(4) Сорри не не могу, а могу :)
Имелось ввиду, что направление исследований уже получено из Вашего ответа :)
6 Юрий Лазаренко
 
13.04.13
11:37
(0) в ТЧ добавляешь колонку тип строка, для неё поле ввода с галкой "гиперссылка" , профит
7 ReaLg
 
13.04.13
11:53
(6) В Таблице на форме выставил тип строка, но профита нет. Или нужно в ТЧ документа лишнюю колонку со строковым представлением ссылки делать?

Пока пытаюсь сделать так в цикле:
НоваяГиперссылка = ЭтаФорма.Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), Элементы.ГруппаГиперссылкиНаЗаказыПокупателей);    
НоваяГиперссылка.Гиперссылка = Истина; НоваяГиперссылка.ПутьКДанным = "Объект.ЗаказПокупателя";
Так работает.
Но не могу правильно написать ПутьКДанным, если они в ТЧ.
НоваяГиперссылка.ПутьКДанным = "Объект.ТЧЗаказыПокупателей.Получить(Сч)"; не работает:)
8 ReaLg
 
13.04.13
12:00
Весь код:
Сч = 1;
 Для Каждого СтрокаТЧ Из Объект.ТЧОплаты Цикл
   ИмяЭлемента = "ДокументОплаты" + Сч;
   НоваяГиперссылка = ЭтаФорма.Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), Элементы.ГруппаГиперссылкиНаЗаказыПокупателей);    
   НоваяГиперссылка.Видимость = Истина;
   НоваяГиперссылка.Гиперссылка = Истина;
   НоваяГиперссылка.ПутьКДанным = "Объект.ЗаказПокупателя";
   //НоваяГиперссылка.ПутьКДанным = "Объект.ТЧОплаты.Получить(Сч).Документ";
   Сч = Сч + 1;
 КонецЦикла;

Если снимаю комментарий - недопустимое значение.  

Пусть не смущает ТЧОплаты - есть такая ТЧ в документе, у нее есть колонка Документ, там ссылки на документы оплаты. В панельку заказов вывожу в тестовом режиме.
9 ReaLg
 
13.04.13
12:51
Все, долго тупил, но разобрался. Помогла эта ссылка v8: 8.2 Как программно добавить на форму поле надписи?. Спасибо Dem1urg

Сначала создаем реквизиты формы, а потом в пути их указываем.

Сч = 1;
 Для Каждого СтрокаТЧ Из Объект.ТЧОплаты Цикл
   ДобавляемыеРеквизиты = Новый Массив();
   ИмяЭлемента = "ДокументОплаты" + Сч;
   НовыйРеквизит = Новый РеквизитФормы(ИмяЭлемента, Новый ОписаниеТипов("ДокументСсылка.ПоступлениеВКассу"), , ИмяЭлемента, Истина);
   ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
   ЭтаФорма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);    
   ЭтаФорма[ИмяЭлемента] = СтрокаТЧ.Документ;
   НоваяГиперссылка = ЭтаФорма.Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), Элементы.ГруппаГиперссылкиНаЗаказыПокупателей);    
   НоваяГиперссылка.Видимость = Истина;
   НоваяГиперссылка.Гиперссылка = Истина;
   НоваяГиперссылка.ПутьКДанным = ИмяЭлемента;
   Сч = Сч + 1;
 КонецЦикла;