Имя: Пароль:
1C
1С v8
Картинка на форму
, ,
0 alexandr_87
 
25.01.17
16:18
Возможно ли создания объекта картинка на форме программно, без визуального объекта?
1 Fish
 
25.01.17
16:19
А можно по-русски?
2 shamannk
 
25.01.17
16:20
Рисовать на форме хотите?
3 alexandr_87
 
25.01.17
16:26
Есть табличное поле там колонка с картинкой(двоичные данные), теперь мне нужно показать их на форме, по одной не проблема, так как на форму вставляю поле картинки, как сделать чтобы все были отображены на форме.
4 Fish
 
25.01.17
16:28
(3) А если там 500 строк, то будешь 500 картинок на форму пихать?
5 alexandr_87
 
25.01.17
16:29
не будет там 500 строк, там максимально до 20
6 Fish
 
25.01.17
16:38
(5) А формы обычные или управляемые?
7 alexandr_87
 
25.01.17
16:39
обычные
8 Fish
 
25.01.17
16:44
(7) Наверное, при помощи:
ЭлементыФормы (Controls)
Добавить (Add)
Синтаксис:

Добавить(<Тип>, <Имя>, <Видимость>, <ПоместитьНа>)
Параметры:

<Тип> (обязательный)

Тип: Тип.
Тип добавляемого элемента управления:
Индикатор; ПолеКалендаря; Кнопка; КоманднаяПанель; Надпись; Панель; Переключатель; ПолеТабличногоДокумента; ПолеHTMLДокумента; ПолеТекстовогоДокумента; ПолеВвода; ПолеВыбора; ПолеСписка; ПолеКартинки; ПолосаРегулирования; Разделитель; РамкаГруппы; ТабличноеПоле; Флажок; ПолеГрафическойСхемы; ПолеГеографическойСхемы.
9 alexandr_87
 
25.01.17
16:50
Да спасибо))). В эту сторону уже иду
10 Fish
 
25.01.17
16:51
(9) Только вот, емнип, там придётся привязки программно устанавливать. То ещё удовольствие :))
11 alexandr_87
 
25.01.17
16:54
)))))
12 aleks_default
 
25.01.17
17:36
На известном ресурсе есть отчет типа прайс-лист с картинками
13 alexandr_87
 
25.01.17
20:31
Получилось. Может кому-то это пригодится:
14 alexandr_87
 
25.01.17
20:33
МассивКартинок=Новый Массив;    
    Для Каждого ЭлементФ из ЭлементыФормы Цикл    
        Если Найти(СокрЛП(ЭлементФ.Имя), "Эскиз")>0 Тогда
            МассивКартинок.Добавить(ЭлементФ);
        КонецЕсли;
    КонецЦикла;
    
    Для Каждого ЭлементФ из МассивКартинок Цикл    
        ЭлементыФормы.Удалить(ЭлементФ);
    КонецЦикла;

    
    ии=1;
    Для каждого стр из ЭлементыФормы.ЗаказНаПроизводство.ТекущиеДанные.ссылка.Продукция Цикл
        Если ПустаяСтрока(стр.Схема)=Истина Тогда Продолжить; КонецЕсли;
        Эл=ЭлементыФормы.Добавить(Тип("ПолеКартинки"), "Эскиз"+ии, истина,ЭлементыФормы.Панель2);
        СтрокаBase64=стр.Схема;
        Двоичные=Base64Значение(СтрокаBase64);
        ВотВиситКартина=Новый Картинка(Двоичные);
        Эл.Картинка = ВотВиситКартина;
        Эл.РазмерКартинки=РазмерКартинки.АвтоРазмер;
            
        Эл.Лево=ии*150;
        Эл.Верх=10;

        Эл.Ширина=150;
        Эл.Высота=100;
    
        Эл.УстановитьПривязку(ГраницаЭлементаУправления.Верх, ЭлементыФормы.Панель2, ГраницаЭлементаУправления.Низ);
        Эл.УстановитьПривязку(ГраницаЭлементаУправления.Право, Эл, ГраницаЭлементаУправления.Низ);
        Эл.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Эл, ГраницаЭлементаУправления.Верх);

        ии=ии+1;
    КонецЦикла;