Имя: Пароль:
1C
 
Заполняю Дерево (ТЗ), как заполнить картинку?
0 чупа
 
04.07.08
06:18
В каждой строке дерева предполагается своя картинка.
Как это сделать не могу найти.

Пусть для примера это будет одна и таже стандартная картинка РегистрСведенийЗапись. Как ее вывести в отдельный столбец каждой строки таблицы значений?
1 чупа
 
04.07.08
09:19
Че такой сложный вопрос?

Как мне заполняя свою таблицу значений, не привязанной к справочнкам и регистрам, во внешней обработке, вывести в отдельный столбец картинку?
как здесь
http://img74.imageshack.us/img74/379/33956842ua8.jpg

картинка предполагается быть разной для каждой строки, в зависимости от содержимого другого столбца.
2 Ёпрст
 
гуру
04.07.08
09:42
(0) Переходи на клюшки - там это реализовано!
3 чупа
 
04.07.08
09:46
а?
4 Кураж
 
04.07.08
09:49
Не слушай дятлов )
Самый простой вариант устанавливать при выводе строки:
Процедура ПользователиПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
Если ДанныеСтроки.Колонка1=... Тогда
   ОформлениеСтроки.Ячейки.Колонка2.УстановитьКартинку(БиблиотекаКартинок.РегистрСведенийЗапись);    
Иначе
   ...
КонецЕсли;
КонецПроцедуры

Ещё можно свойству КартинкиСтрок нужного столбца присвоить коллекцию картинок, а при добавлении строки только устанавливать идекс нужной картинки, тогда ПриВыводеСтроки() ничего делать не нужно...
5 чупа
 
04.07.08
09:55
(4) большое тебе человеческое спасибо!
6 Кураж
 
04.07.08
09:56
(5) на здоровье, читай ИТС, там расписано всё подробно...
7 Stepa86
 
04.07.08
10:13
Нормальные перцы делают так: 1) создаем коллекцию картинок из которой будем брать необходимую
2) Задаем в понравившейся нам колонке свойство ДанныеКартинки имя индекса, например "ИндексКартинки"
3) В свойство КартинкаСтрок прописываем коллекцию
4) При заполнении строк дерева указываем че то вроде МоеДерево.ИндексКартинки = 5; (ИндексКартинки можно сказать отдельная колонка)
5) Радуемся результату без гимора с выводомстроки
8 Stepa86
 
04.07.08
10:13
или короче (4) +1  =)
9 чупа
 
04.07.08
19:39
господа, еще пара вопросов :)

1. Вы сказали
>> Ещё можно свойству КартинкиСтрок нужного столбца присвоить коллекцию картинок
Как сделать свою коллекцию картинок из нескольких стандартных?
Конфигурация-Общие картинки?
А как потом всю коллекцию присвоить свойству КартинкиСтрок?
Получается присваивать отлько одну картинку.

2. Задаю свойству КартинкиСтрок картинку РегистрСведенийЗапись.
Затем при выводе строки устанавливаю ИндексКартинки = 0, показывает синий рисунок (как надо). А ставлю ИндексКартинки = 1, показывает тот же рисунок но чернобелый! Он мне тоже нужен, но его выкусить никак не могу! Сохраняю и пр. получается только один синий.
Как достать чернобелый?
10 Кураж
 
04.07.08
19:49
(9) Блин, товарищ, ну почитай ИТС, там гораздо лучше написано чем я расскажу...
11 чупа
 
04.07.08
19:51
нету у меня щас
12 Кураж
 
04.07.08
20:04
(11) ЕСИС скачай, всему учить надо?... )
13 чупа
 
04.07.08
20:08
я не могу скачать, я хочу доделать небольшой участок и спать пойти, у меня 3 часа ночи

так сложно подсказать?
14 Кураж
 
04.07.08
20:12
(13) Ну вот тока потому что у тебя 3 часа ночи...
15 Кураж
 
04.07.08
20:12
Отображение картинок в табличном поле
Отображение картинок в колонках табличного поля имеет ряд особенностей.

Так, если табличное поле отображает таблицу значений или дерево значений, можно установить необходимой колонке табличного поля колонку картинки. Для этого необходимо в палитре свойств в свойстве "Данные картинки" колонки табличного поля указать имя колонки картинки(при этом соответствующая колонка автоматически добавится в таблицу или дерево значений), а в свойстве "Картинки строк" указать картинку - коллекцию, содержащую все необходимые картинки. Стоит отметить, что картинки, составляющие коллекцию, должны быть расположены горизонтально и иметь размер 16 x 16 точек. Далее, при заполнении таблицы значений или дерева значений необходимо в колонке картинки установить  индекс картинки в этой коллекции. Приведенный ниже пример показывает, как отобразить картинки в табличных полях, отображающих таблицу и дерево значений. В этом примере используется два табличных поля, каждое из табличных полей содержит по одной колонке - колонке картинки. Первое из них отображает таблицу значений (реквизит ТЗ) , а второе дерево значений (реквизит ДЗ).
16 Кураж
 
04.07.08
20:12
Заполнение источников данных происходит при обработке события ПередОткрытием() формы:

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
   Перем Стр, Стр1;

   // Заполнение таблицы значений
   Для Сч = 0 по 6 Цикл
       Стр = ТЗ.Добавить();
       Стр.Картинка = Сч;
   КонецЦикла;

   // Заполнение дерева значений
   Для Сч = 0 по 6 Цикл
       Стр = ДЗ.Строки.Добавить();
       Стр.Картинка = Сч;

       Для Сч1 = 0 по 2 Цикл
           Стр1 = Стр.Строки.Добавить();
           Стр1.Картинка = 1;
       КонецЦикла;

   КонецЦикла;

КонецПроцедуры


Также можно связать данные картинки колонки табличного поля с колонкой таблицы значений, содержащей собственно картинку. Для этого необходимо при заполнении таблицы значений присваивать картинки соответствующей колонке. Затем связать колонку таблицы значений с колонкой табличного поля, отображающей картинку. В приведенном ниже примере используется табличное поле ТабличноеПоле1 содержащее одну колонку (Колонка1), отображающую картинку.
17 Кураж
 
04.07.08
20:12
Заполнение таблицы значений происходит при обработке события формы ПередОткрытием(). Сначала в таблицу значений (реквизит ТЗ) добавляется колонка картинки (Картинка), затем происходит заполнение таблицы значений. В конце осуществляется привязка колонки таблицы значений к колонке табличного поля. Для этого используется свойство ДанныеКартинки колонки табличного поля.

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

   Перем Стр;

   ТЗ.Колонки.Добавить("Картинка");

   // Заполнение таблицы значений
   Для Сч = 0 по 10 Цикл

       Стр = ТЗ.Добавить();

       Если Сч % 2 = 0 Тогда

           Стр.Картинка = БиблиотекаКартинок.Справка;

       Иначе

           Стр.Картинка = БиблиотекаКартинок.Важно;

       КонецЕсли;

   КонецЦикла;

   ЭлементыФормы.ТабличноеПоле1.Колонки.Колонка1.ДанныеКартинки = "Картинка";

КонецПроцедуры


Существует также другой способ отображения картинок в табличном поле. Для этого необходимо использовать событие табличного поля ПриВыводеСтроки(). Этот способ подходит для табличных полей, отображающих как динамические списки так и статические данные. При использовании данного способа картинку необходимо устанавливать при обработке события ПриВыводеСтроки(). Приведенный ниже пример показывает типичное применение этого способа. В этом примере используется табличное поле, отображающее таблицу значений. Табличное поле содержит две колонки: колонку картинки (Колонка1) и колонку данных (Колонка2).
18 Кураж
 
04.07.08
20:12
Таблица значений заполняется при обработке события ПередОткрытием() формы:

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

   Перем Стр;

   // Заполнение таблицы значений
   Для Сч = 0 по 10 Цикл
       Стр = ТЗ.Добавить();
       Стр.Колонка2 = Сч;
   КонецЦикла;

КонецПроцедуры


Картинки для первой колонки устанавливаются при обработке события ПриВыводеСтроки(). Следует заметить, что в приведенном примере для демонстрации возможностей используются два метода установки картинки: используя свойство ИндексКартинки отображаемой ячейки и используя метод УстановитьКартинку().
19 Кураж
 
04.07.08
20:13
Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

   Если ДанныеСтроки.Колонка2 = 0 Тогда
       // Установка картинки через метод УстановитьКартинку. Используется картинка.
       // из библиотеки картинок
       ОформлениеСтроки.Ячейки.Колонка1.УстановитьКартинку(БиблиотекаКартинок.Важно);
   Иначе
       // Установка картинки из коллекции. Используется индекс картинки в коллекции.
       ОформлениеСтроки.Ячейки.Колонка1.ИндексКартинки = ДанныеСтроки.Колонка2 % 10;
       ОформлениеСтроки.Ячейки.Колонка1.ОтображатьКартинку = истина;
   КонецЕсли;

КонецПроцедуры
20 Кураж
 
04.07.08
20:13
Читаешь ВНИМАТЕЛЬНО, чё не понятно, спрашиваешь.
21 чупа
 
04.07.08
20:17
че тут читать, все было сказано
вот ответ
Стоит отметить, что картинки, составляющие коллекцию, должны быть расположены горизонтально и иметь размер 16 x 16 точек.

сразу сказать не мог чтоли

ппц форум на 30 дебилов 1-2 нормальных человека помощь окажут
22 Кураж
 
04.07.08
20:18
Картинки в коллекцию соединяешь в каом-нибудь графическом редакторе, например Paint-е том же. Они идут по индексам 0 - первые 16 пикселей, 1 - вторые и т.д. При добавлении строки делаешь: НовСтр.Картинка=0; например...
Свойство КартинкиСтрок в палитре свойств (по колонке правой кнопкой).
Что ещё?...
23 Кураж
 
04.07.08
20:19
(21) это вместо благодарности?... А потом удивляется ещё...
24 чупа
 
04.07.08
20:44
(23) спасибо, друг! :)