Оптимизировать код

1. eruil 10.04.17 18:01 Сейчас в теме
Есть код:
			НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
			НаборЗаписей.Отбор.Объект.Установить(ТЗ[Индекс].УНПКонтрагент);
			НаборЗаписей.Отбор.Вид.Установить(Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента"));
			НаборЗаписей.Отбор.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);
			НаборЗаписей.Прочитать();
			
			Если НаборЗаписей.Количество() = 0 Тогда
				НовыйЗапись = НаборЗаписей.Добавить();
				НовыйЗапись.Объект = ТЗ[Индекс].УНПКонтрагент; 
				НовыйЗапись.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента");
				НовыйЗапись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
			Иначе
				НаборЗаписей[0].Представление = ТЗ[Индекс].ЮрАдресРек;	
			КонецЕсли;
			НаборЗаписей.Записать();
Показать

Хочется его оптимизировать, т.е. чтобы вот эта часть
.Объект.Установить(ТЗ[Индекс].УНПКонтрагент);
.Вид.Установить(Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента"));
.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);

определялась один раз. Подскажите, как лучше это сделать.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 1484 10.04.17 18:10 Сейчас в теме
Можно закэшировать только:
.Вид.Установить(Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента"));
.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);

В части значений.
Остальное ты же изменяешь каждый раз.
3. eruil 10.04.17 18:27 Сейчас в теме
А что-то типа такого:
А.Объект.Установить(ТЗ[Индекс].УНПКонтрагент);
А.Вид.Установить(Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента"));
А.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);
...
НаборЗаписей.Отбор = А
...
НовыйЗапись = А

т.е. что-то в таком роде. Или тут нечего "оптимизировать"?
4. Xershi 1484 11.04.17 17:04 Сейчас в теме
(3)
ТипыКонтактнойИнформацииАдрес = Перечисления.ТипыКонтактнойИнформации.Адрес;
ВидыКонтактнойИнформацииЮр = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента");

Ну, а далее подставишь в отборы эти переменные и все на этом.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот