v7: v8: Оптимальный вариант: Строка(МояСсылка) или МояСсылка.Наименование? #205435


#0 by asady
Собственно сабж.
#1 by megalodon
В общем случае эти выражения не тождественны.
#2 by asady
рассмотрим случай когда эти случаи тождественны (представление=наименование)
#3 by megalodon
тогда думаю второй вариант на мгновение шустрее, потому что не нужно определять способ основного представления.
#4 by asady
модераторы пожалуйста перенесите ветку в v8. Сдается мне что не все так просто: ведь доступ к реквизитам д.б. организован через объект - то бишь для получения реквизита Наименование команндному процессору 1С придется получить объект МояСсылка и затем уже его реквизит. А вот в случае с Строка(МояСсылка) - порядок действий команндного процессора 1С не очевиден....
#5 by Господин ПЖ
Строка(МояСсылка) дает представление объекта. МояСсылка.Наименование - дает его наименование. Второй способ более затратный - надо получать объект для чтения поля.
#6 by megalodon
объект получать не надо, только наименование.
#7 by Scooter
однозначно все данные получать запросом, в который включать .Наименование ежели у тебя выборка то тогда пофих, объект у тебя на клиенте
#8 by asady
в ссылке хранится наименование? вряд-ли... в ссылке хранится представление - возможно...
#9 by acsent
На ИТС была статья на эту тему. прав
#10 by France
9 +1
#11 by megalodon
потрейсил. объект получается в любом случае. разницы никакой.
#12 by Херрес
интересно, как движок 1С может получить представление, не получая наименование
#13 by acsent
Получение объекта - это получение всех полей
#14 by acsent
Получение представления - это получение только наименования (кода)
#15 by asady
правильно направление задал вот нашел на диске ИТС: Получение представлений для ссылочных значений -------------------------------------------------------------------------------- При получении представления для ссылочного значения (например,  справочника) необходимо использовать конструкцию вида: или любое другое явное или неявное приведение ссылочного значения к строковому, чем конструкцию вида: Ссылка.Наименование   Поскольку во втором случае системой выполняется чтение из ИБ всего объекта целиком, в первом же случае читается только его представление. При этом надо учитывать, что при применении второго метода все реквизиты прочитанного объекта сохраняются в кэше. И в случае последующего обращения к ним чтения из базы не происходит. (Если конечно обращение происходит в течение короткого времени). В случае же если было прочитано только представление, для получения значения какого-либо реквизита системе придется выполнить повторное чтение из ИБ. Поэтому первый метод следует применять только в тех случаях, когда для ссылки необходимо получать только представление. Данный механизм не должен использоваться, когда ссылочные значения получены запросом. В этом случае представления должны получаться непосредственно самим запросом.
#16 by Sonic
и ето правильно
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С