Имя: Пароль:
1C
1С v8
Вывод картинки в макет
0 burrya
 
24.02.14
17:49
Очень долго формируется вывод строк прайса с картинками.
мТабДок.Присоединить(СекцияФото); - самое тяжелое в коде

Можно ли ускорить вывод.

Код вывода следующий

Пока выборка.следующий() Цикл

..

Если НЕ Выборка.Номенклатура.ЭтоГруппа Тогда
                Картинка = Выборка.Номенклатура.ОсновноеИзображение.Хранилище.Получить();
                Если Картинка <> Неопределено Тогда                
                    РисунокАвто = СекцияФото.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
                    Индекс=мТабДок.Рисунки.Индекс(РисунокАвто);
                    РисунокАвто.Картинка = Картинка;
                    РисунокАвто.Верх = 0;
                    РисунокАвто.Высота = 10;
                    РисунокАвто.Ширина = 20;
                    РисунокАвто.ГраницаСлева = Ложь;
                    РисунокАвто.ГраницаСправа = Ложь;
                    РисунокАвто.ГраницаСверху = Ложь;
                    РисунокАвто.ГраницаСнизу = Ложь;
                    РисунокАвто.Защита = Истина;
                    РисунокАвто.РазмерКартинки = РазмерКартинки.АвтоРазмер;
                Иначе
                    РисунокАвто = СекцияФото.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
                    Индекс=мТабДок.Рисунки.Индекс(РисунокАвто);
                    РисунокАвто.Картинка = Новый Картинка;
                    РисунокАвто.Верх = 0;
                    РисунокАвто.Высота = 10;
                    РисунокАвто.Ширина = 20;
                    РисунокАвто.ГраницаСлева = Ложь;
                    РисунокАвто.ГраницаСправа = Ложь;
                    РисунокАвто.ГраницаСверху = Ложь;
                    РисунокАвто.ГраницаСнизу = Ложь;
                    РисунокАвто.Защита = Истина;
                    РисунокАвто.РазмерКартинки = РазмерКартинки.АвтоРазмер;
                КонецЕсли;
            КонецЕсли;    
                            
            мТабДок.Присоединить(СекцияФото);

...
1 Wobland
 
24.02.14
17:57
а можно ты сам скажешь разницу между ветками? мне не видно
2 burrya
 
24.02.14
18:58
между какими ветками?
3 Wobland
 
24.02.14
19:00
кто так пишет вообще?
гора кода выносится из если, в еслях остаётся только РисунокАвто = ..
4 burrya
 
24.02.14
19:42
Код:
Пока выборка.следующий() Цикл

..

    Если НЕ Выборка.Номенклатура.ЭтоГруппа Тогда
                Картинка = Выборка.Номенклатура.ОсновноеИзображение.Хранилище.Получить();
                РисунокАвто = СекцияФото.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
    КонецЕсли;

    мТабДок.Присоединить(СекцияФото);
...

КонецЕсли;
5 Wobland
 
24.02.14
19:43
6 burrya
 
24.02.14
19:58
(5) нет, просто друзья, один из нас поторопился и проявил немного лишней инициативы
7 Wobland
 
24.02.14
19:58
а код немного разный. видал про Разместить?