В табличной части документа, хочу заполнить все поля номенклатуры, при изменении, чтобы взять текущую ссылку на номенклатуру, обращаюсь на клиенте : через три точки, я правильно понимаю, что на клиенте нет обращения к серверу и у меня нет другой возможности получить эту ссылку? Вопрос возник из-за трех точек, на которые все ругаются.
Элементы.ТабличнаяЧасть1.ТекущиеДанные.Наименование
По теме из базы знаний
- Создание (сканирование) штрих кода товара в Рознице прямо в документе Поступления.
- Исправляем проблемы производительности в конфигурации ERP - 7 примеров
- Что изменилось в лучшую сторону в новых версиях конфигураций ERP/УТ/КА 2.5 с точки зрения повышения производительности?
- Получение/отправка сообщений RabbitMQ через REST API
- Эффективное управление фоновыми заданиями и коммуникация сеансов сервера с Фоном с помощью Структуры обмена (ноу-хау) + Бонус: Альтернативный вариант через Хранилище настроек
Найденные решения
(1)
почему обращаться через точку - считается плохим тоном?
потому что подразумевается, что вы по Ссылке ( которая хранится в переменной) - пытаетесь тем самым обратиться к реквизитам этой ссылки.
и система в "тихаря" получает объект (что достаточно ресурсоемко) и далее тянет нужный реквизит объекта.
Для примера:
Равносильно коду:
т.е. самая ресурсоемкая операция получитьОбъект() - использована 3 раза! когда легко можно было использовать 1 раз.
А если запросом, то и вообще без нее. Тут ситуативно, если вы работаете непосредственно с этим Объектом, то работаете через получитьОбъект(), а иначе через ОбщегоНазначения.ЗначенияРеквизитаОбъекта(...)
не считая возможных ошибок, в слествии отсутсвия чего либо...
если же вы этого действия не делаете, то все норм.
Судя по вашему коду вы оперируете структурой данных элементов формы. И тут ничего подобного не происходит. никакой объект с БД не тянется.
Вопрос возник из-за трех точек, на которые все ругаются.
почему обращаться через точку - считается плохим тоном?
потому что подразумевается, что вы по Ссылке ( которая хранится в переменной) - пытаетесь тем самым обратиться к реквизитам этой ссылки.
и система в "тихаря" получает объект (что достаточно ресурсоемко) и далее тянет нужный реквизит объекта.
Для примера:
ТекущаяДата = ДокументСсылка.Дата;
Наименование = ДокументСсылка.Наименование;
ВходящийНомер = ДокументСсылка.ВходящийНомер;
Равносильно коду:
ДокументОбъект1 = ДокументСсылка.ПолучитьОбъект();
ТекущаяДата = ДокументОбъект1.Дата;
ДокументОбъект2 = ДокументСсылка.ПолучитьОбъект();
Наименование = ДокументОбъект2.Наименование;
ДокументОбъект3 = ДокументСсылка.ПолучитьОбъект();
ВходящийНомер = ДокументОбъект3.ВходящийНомер;
т.е. самая ресурсоемкая операция получитьОбъект() - использована 3 раза! когда легко можно было использовать 1 раз.
А если запросом, то и вообще без нее. Тут ситуативно, если вы работаете непосредственно с этим Объектом, то работаете через получитьОбъект(), а иначе через ОбщегоНазначения.ЗначенияРеквизитаОбъекта(...)
не считая возможных ошибок, в слествии отсутсвия чего либо...
если же вы этого действия не делаете, то все норм.
Судя по вашему коду вы оперируете структурой данных элементов формы. И тут ничего подобного не происходит. никакой объект с БД не тянется.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
почему обращаться через точку - считается плохим тоном?
потому что подразумевается, что вы по Ссылке ( которая хранится в переменной) - пытаетесь тем самым обратиться к реквизитам этой ссылки.
и система в "тихаря" получает объект (что достаточно ресурсоемко) и далее тянет нужный реквизит объекта.
Для примера:
Равносильно коду:
т.е. самая ресурсоемкая операция получитьОбъект() - использована 3 раза! когда легко можно было использовать 1 раз.
А если запросом, то и вообще без нее. Тут ситуативно, если вы работаете непосредственно с этим Объектом, то работаете через получитьОбъект(), а иначе через ОбщегоНазначения.ЗначенияРеквизитаОбъекта(...)
не считая возможных ошибок, в слествии отсутсвия чего либо...
если же вы этого действия не делаете, то все норм.
Судя по вашему коду вы оперируете структурой данных элементов формы. И тут ничего подобного не происходит. никакой объект с БД не тянется.
Вопрос возник из-за трех точек, на которые все ругаются.
почему обращаться через точку - считается плохим тоном?
потому что подразумевается, что вы по Ссылке ( которая хранится в переменной) - пытаетесь тем самым обратиться к реквизитам этой ссылки.
и система в "тихаря" получает объект (что достаточно ресурсоемко) и далее тянет нужный реквизит объекта.
Для примера:
ТекущаяДата = ДокументСсылка.Дата;
Наименование = ДокументСсылка.Наименование;
ВходящийНомер = ДокументСсылка.ВходящийНомер;
Равносильно коду:
ДокументОбъект1 = ДокументСсылка.ПолучитьОбъект();
ТекущаяДата = ДокументОбъект1.Дата;
ДокументОбъект2 = ДокументСсылка.ПолучитьОбъект();
Наименование = ДокументОбъект2.Наименование;
ДокументОбъект3 = ДокументСсылка.ПолучитьОбъект();
ВходящийНомер = ДокументОбъект3.ВходящийНомер;
т.е. самая ресурсоемкая операция получитьОбъект() - использована 3 раза! когда легко можно было использовать 1 раз.
А если запросом, то и вообще без нее. Тут ситуативно, если вы работаете непосредственно с этим Объектом, то работаете через получитьОбъект(), а иначе через ОбщегоНазначения.ЗначенияРеквизитаОбъекта(...)
не считая возможных ошибок, в слествии отсутсвия чего либо...
если же вы этого действия не делаете, то все норм.
Судя по вашему коду вы оперируете структурой данных элементов формы. И тут ничего подобного не происходит. никакой объект с БД не тянется.
(3)
Позанудствую. Не равносильно.
Это немного не так работает. При первом обращении через точку Объект считывается в память (объектный кеш) весь, но один раз. При последующем обращении остальных реквизитов значения берутся из этого кеша. Объект снова не считывается.
Сделайте замер производительности, увидите, что в вашем коде:
Относительно долго будет получаться только дата, а наименование и номер - быстро.
Равносильно коду:
...
т.е. самая ресурсоемкая операция получитьОбъект() - использована 3 раза! когда легко можно было использовать 1 раз.
...
т.е. самая ресурсоемкая операция получитьОбъект() - использована 3 раза! когда легко можно было использовать 1 раз.
Позанудствую. Не равносильно.
Это немного не так работает. При первом обращении через точку Объект считывается в память (объектный кеш) весь, но один раз. При последующем обращении остальных реквизитов значения берутся из этого кеша. Объект снова не считывается.
Сделайте замер производительности, увидите, что в вашем коде:
ТекущаяДата = ДокументСсылка.Дата;
Наименование = ДокументСсылка.Наименование;
ВходящийНомер = ДокументСсылка.ВходящийНомер;
Относительно долго будет получаться только дата, а наименование и номер - быстро.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот