Есть код:
Хочется его оптимизировать, т.е. чтобы вот эта часть
определялась один раз. Подскажите, как лучше это сделать.
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Объект.Установить(ТЗ[Индекс].УНПКонтрагент);
НаборЗаписей.Отбор.Вид.Установить(Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента"));
НаборЗаписей.Отбор.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);
НаборЗаписей.Прочитать();
Если НаборЗаписей.Количество() = 0 Тогда
НовыйЗапись = НаборЗаписей.Добавить();
НовыйЗапись.Объект = ТЗ[Индекс].УНПКонтрагент;
НовыйЗапись.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента");
НовыйЗапись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
Иначе
НаборЗаписей[0].Представление = ТЗ[Индекс].ЮрАдресРек;
КонецЕсли;
НаборЗаписей.Записать();
ПоказатьХочется его оптимизировать, т.е. чтобы вот эта часть
.Объект.Установить(ТЗ[Индекс].УНПКонтрагент);
.Вид.Установить(Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента"));
.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);
определялась один раз. Подскажите, как лучше это сделать.
По теме из базы знаний
- Методика оптимизации программного кода 1С: проведение документов
- Highload-оптимизация 1С: теория и практика на примере консолидированной отчетности группы "Магнит" и розничной аптечной сети "Магнит"
- Как читать чужой код? Часть 1. Общие вопросы. Доработка чужого кода. Code review
- Зачем и как читать чужой код? Какой результат ожидаем получить? Основные подходы
- Быстрый фронт в базе размером 6.8 терабайт – наши стандарты при разработке и рефакторинге запросов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Можно закэшировать только:
В части значений.
Остальное ты же изменяешь каждый раз.
.Вид.Установить(Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента"));
.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);
В части значений.
Остальное ты же изменяешь каждый раз.
А что-то типа такого:
т.е. что-то в таком роде. Или тут нечего "оптимизировать"?
А.Объект.Установить(ТЗ[Индекс].УНПКонтрагент);
А.Вид.Установить(Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента"));
А.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);
...
НаборЗаписей.Отбор = А
...
НовыйЗапись = А
т.е. что-то в таком роде. Или тут нечего "оптимизировать"?
(3)
Ну, а далее подставишь в отборы эти переменные и все на этом.
ТипыКонтактнойИнформацииАдрес = Перечисления.ТипыКонтактнойИнформации.Адрес;
ВидыКонтактнойИнформацииЮр = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес контрагента");
Ну, а далее подставишь в отборы эти переменные и все на этом.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот