Получение реквизитов справочника по ссылке #745816


#0 by Iater
Всем привет! Кто может растолковать мне вот это волшебство: Вот что меня сильно смущает: Объект.ФИО содержит ссылку на справочник Сотрудники. Я передаю эту ссылку в функцию и заполняю поле Код нужным мне значением реквизита, полученного по этой ссылке. Вроде логично. Но я не понимаю почему не работает вот такой код: &НаКлиенте Я вижу, что при передачи ссылке в функцию она магическим образом действительно работает как ссылка. А когда я точно также обращаюсь к справочнику без функции, то ссылка почему-то не передается. На картинке можно увидеть, что если нажать "вычислить выражение", то можно раскрыть ФИО и добраться до Кода (в случай с функцией): А если функцию не использовать, то раскрыть список невозможно
#1 by Iater
Я задал слишком сложный или слишком тупой вопрос? )))) Чего никто не отвечает?
#2 by mehfk
Нет здесь никого. В понедельник приходи.
#3 by Lexey_
потому, что функция без явного указания директивы компиляции выполняется на сервере, а на клиенте значение через точку не получишь
#4 by Iater
через точку не получишь? или вообще никак не получишь кроме как через функцию?
#5 by Elatiell
Обращение через точку, это по сути запрос. Запросы на клиенте не доступны = > На клиенте через точку не получишь. Да, только через функцию, которая выполняется на сервере.
#6 by Shrek_yar
деградация какая то, я бы еще понял если раньше с 7-кой работал или с 8.1.
#7 by Elatiell
"раскрыть ФИО и добраться до Кода (в случай с функцией)" Отлаживаешь код, скорее всего, в толстом клиенте, в толстом клиенте, грубо говоря, ты всегда находишься на сервере и все вычисления производишь там ну и т.к. запросы на сервере доступны, то и через точку ты можешь достучаться до кода.
#8 by Elatiell
Все мы учились когда - то. =)
#9 by Zhuravlik
Обращение через точку - это по сути запрос к ИБ, для получения значения реквизита. опередил) Дополню лишь, что на сервере невыгодно обращаться через точку, т.к. точка от ссылки - это неявный запрос к ИБ, который получает ВСЕ реквизиты ссылки. Для избежания этого рекомендуется создавать свой запрос. В типовых - везде практически есть функция ОМ: ОбщегоНазначения.ПолучитьЗначениеРеквизита(ИмяРеквизита, Ссылка).
#10 by Elatiell
А кто-то до сих пор учится. -_- Век живи, век учись.
#11 by Iater
Спасибо, Zhuravlik, очень помог! тоже спасибо!!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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