Имя: Пароль:
1C
1С v8
Заполнение областей макета, какой код работает быстрее
0 Sam1C
 
10.05.17
16:20
Всем доброго дня!
Какой код работает быстрее:
1)
ОбластьМакета  = Макет.ПолучитьОбласть("Поставщик");
СтруктураДанныхПоставщик = Новый Структура;
ПредставлениеПоставщика  = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата), "ПолноеНаименование");
СтруктураДанныхПоставщик.Вставить("ПредставлениеПоставщика", ПредставлениеПоставщика);
СтруктураДанныхПоставщик.Вставить("Поставщик", ДанныеПечати.Организация);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПоставщик);
ТабличныйДокумент.Вывести(ОбластьМакета);

2)

ОбластьМакета   = Макет.ПолучитьОбласть("Поставщик");
ОбластьМакета.Параметры.ПредставлениеПоставщика =  ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата), "ПолноеНаименование");
ОбластьМакета.Параметры.Поставщик =  ДанныеПечати.Организация;
ТабличныйДокумент.Вывести(ОбластьМакета);
1 Вафель
 
10.05.17
16:21
на 2х параметрах разницы не будет
2 polosov
 
10.05.17
16:22
(0) Подготовка структуры более наглядно.
По скорости не будет разницы.
3 Sam1C
 
10.05.17
16:22
(0) В типовых почти везде через Структура и Заполнить, хочу понять почему, вроде как второй проще для восприятия?
4 Sam1C
 
10.05.17
16:23
(2) ну не знаю мне как то 2-ой лучше воспринимается + меньше строк
5 Sam1C
 
10.05.17
16:24
Раз нет разницы, значит дело вкуса?
6 h-sp
 
10.05.17
16:25
(3)это же элементарно, Ватсон. 1й вариант - это суперфишка БСП.  

2й вариант сразу выкидывай в топку.
7 polosov
 
10.05.17
16:26
(4) В типовых иногда подготовленная структура может использовать по-разному в разных местах кода.

Например при печати счета. Сначала готовится структура, а потом в зависимости от условий могут заполняться разные шапки ПФ.
8 h-sp
 
10.05.17
16:27
(5) прикинь, если в макете нет поля "Поставщик", что произойдет во втором варианте?
9 Вафель
 
10.05.17
16:27
для тестирования лучше через структуру
10 polosov
 
10.05.17
16:28
(8) А ну да, УТ к примеру поддерживает редактирование шаблонов ПФ
11 youalex
 
10.05.17
16:28
1-й вариант, как минимум, универсальней.
Т.к. ОбластьМакета.Параметры.Заполнить() - не выдаст ошибки, в случае отсутствия того или иного параметра в Макете
12 Sam1C
 
10.05.17
16:29
(8) тут согласен
13 mistеr
 
10.05.17
16:38
(0) Возьми да померь. Заодно нам расскажешь.
14 Fragster
 
гуру
10.05.17
17:05
быстрее будет, если в качестве параметра "Поставщик" передавать нужное представление, полученное в запросе, вместо ссылки. Если идет групповая печать и тормозит именно в этом месте. Ну и кэшировать результаты ФормированиеПечатныхФорм.ОписаниеОрганизации, если оно не включено платформой, можно. Например создав свой общий модуль с повторным использованием значений на время вызова.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн