Имя: Пароль:
1C
 
Очередной вопрос по управляемым формам (картинки в таблице)
0 EvgeniuXP
 
10.03.11
20:31
Есть справочник, у него есть форма списка. У списка есть "КартинкаСтрок" - можно ли программным путем присвоить некую какртинку полученную не из библиотеки картинок, а из файла - напрямую, либо через временное хранилище? никак не получается... получилось только через библиотеку картинок :(
1 aleks-id
 
10.03.11
20:36
а как пробовал то? код в студию
2 EvgeniuXP
 
10.03.11
20:51
Например, так:

Список.КартинкаСтрок=Новый Картинка(ДвоичныеДанныеКартинки);
3 EvgeniuXP
 
10.03.11
20:53
смысл заключается в следующем, чтобы пользователь сам мог менять иконки строк выбирая файлы картинок, а не программист в конфигураторе через библиотеку картинок...
4 aleks-id
 
10.03.11
20:55
гляди отладчиком что у тебя сидит в ДвоичныеДанныеКартинки и Новый Картинка(ДвоичныеДанныеКартинки)
5 aleks-id
 
10.03.11
20:56
щас под рукой 8.2 нет. завтра если дотерпишь погляжу на работе.
6 aleks-id
 
10.03.11
20:59
кстати вот что нагуглил.

У таблицы, отображающей динамический список, есть два свойства: ПутьКДаннымКартинкиСтроки и КартинкаСтрок. Они и отвечают за отображение картинки в строках.
Особенность в том, что если в свойстве ПутьКДаннымКартинкиСтроки указан путь к значению типа Картинка (а для стандартного динамического списка это так и есть Список.СтандартнаяКартинка), то значение поля КартинкаСтрок игнорируется.
Поэтому, если вы хотите показывать в строках собственные картинки, то в свойство КартинкаСтрок нужно поместить коллекцию таких картинок, а в свойстве ПутьКДаннымКартинкиСтроки указать путь к некоторому полю динамического списка типа Число, которое будет определять, какая именно картинка из коллекции будет показана. 0 - первая, 1 - вторая и т.д.
Если же вы хотите во всех строках показывать одну и ту же картинку, то все равно свойство ПутьКДаннымКартинкиСтроки должно быть указано. То есть в свойство КартинкаСтрок вы помещаете свою картинку, говорите что список будет содержат произвольный запрос, открываете настройку списка и в конец выбранных полей добавляете фиктивное поле, содержащее значение 0. После этого в свойстве ПутьКДаннымКартинкиСтроки указываете это фиктивное поле.
Запускаете приложение и в каждой строке видите свою картинку.
7 EvgeniuXP
 
10.03.11
21:10
(6) можно и так:

Элементы.Список.КартинкаСтрок=Новый Картинка("C:\Моя картика.png"); - но это тоже не проходит, пишет ошибка... не соответствие типов, хотя там и там тип "Картинка" - если смотреть в отладчике...

у свойства "КартинкаСтрок" тип "Картинка" - о какой коллекции идет речь, как эту коллекцию подсунуть? коллекция - это структура, массив?

Решение терпит - сегодня провозился целый день, выход не нашел... работает только:

Элементы.Список.КартинкаСтрок=БиблиотекаКартинок.АктивныеПользователи;

а из файла картинка не подсовывается :(
8 detec
 
10.03.11
21:14
9 EvgeniuXP
 
10.03.11
21:21
(8) то что нужно :) спасибо - завтра начну курить код :)