Использование ПредопределенноеЗначение на сервере

1. DrMatroskin 4 01.06.26 10:19 Сейчас в теме
В каких случаях стоит использовать функцию ПредопределенноеЗначение на сервере? Или она имеет смысл только на клиенте?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 33 01.06.26 10:26 Сейчас в теме
(1)
Или она имеет смысл только на клиенте?

Да
14. starik-2005 3272 01.06.26 13:31 Сейчас в теме
(1)
В каких случаях стоит использовать функцию ПредопределенноеЗначение на сервере?
Смысл имеет только на клиенте, т.к. на нем нельзя обратиться к менеджеру объекта. А использовать можно где угодно, но смысла особого нет. Раньше это было типа рекомендацией, так в общем-то и осталось. Разницы в скорости работы нет.
3. vv2 01.06.26 11:05 Сейчас в теме
Для расширений, как мне кажется, удобно использовать.
4. DrMatroskin 4 01.06.26 12:50 Сейчас в теме
Можно подробнее. Получается в расширениях на сервере нужно использовать?
5. anton13m 4 01.06.26 12:58 Сейчас в теме
(4)
в расширениях на сервере нужно использовать?

Удобно <> Нужно.
В чем конкретно у вас вопрос?
#std443
Для получения значения ссылок на предопределенные элементы ... в коде, выполняемом в клиентском коде (тонкий клиент, веб-клиент), где объекты типа СправочникМенеджер.<ИмяСправочника>, ПеречислениеМенеджер.<ИмяПеречисления> и т.п. не доступны, предназначена функция глобального контекста ПредопределенноеЗначение.
Sashares; +1 Ответить
6. ZergKRSK 130 01.06.26 13:01 Сейчас в теме
(5) по вашему на Сервере ей пользоваться нельзя?
8. Sashares 33 01.06.26 13:04 Сейчас в теме
(6) Да никто не запрещает, пользуйтесь на здоровье.
Просто какого-то смысла использовать ее на сервере нет.
На сервере можно же просто обратиться к предопределенному элементу без всяких функций.
А раз можно без лишних действий это сделать, то зачем нужны эти лишние действия?
10. ZergKRSK 130 01.06.26 13:07 Сейчас в теме
(8) не соглашусь, в конфах на БСП
рекомендуется использовать функцию ПредопределенныйЭлемент общего модуля ОбщегоНазначения

Предопределенный элемент может пропасть при обновлении (особенно собственный) и получим отвал кода
SlavaKron; +1 Ответить
15. Sashares 33 01.06.26 14:06 Сейчас в теме
(10) Так тут вопрос вообще не про функцию БСП, а про платформенную.
16. ZergKRSK 130 01.06.26 14:18 Сейчас в теме
(15) а вы заглядывали внутрь этой функции БСП?
17. Sashares 33 01.06.26 14:29 Сейчас в теме
(16) Сейчас посмотрел. А к чему этот вопрос?
19. ZergKRSK 130 01.06.26 14:50 Сейчас в теме
(17) если посмотрели то, полагаю, ваш вопрос в 15 закрылся сам собой
21. Sashares 33 01.06.26 15:25 Сейчас в теме
(19) Ладно уж, храни свои тайны
27. spacecraft 01.06.26 15:55 Сейчас в теме
(21) наверно он там увидел вызов платформенного метода.
Только он там для пустой ссылки, перечисления и бизнес процесса вызывается.
Но это же мелочи )
Sashares; +1 Ответить
33. gybson 14 01.06.26 18:06 Сейчас в теме
(10) А что должны получить при отсутствии предопределенного элемента?
13. Boneman 302 01.06.26 13:12 Сейчас в теме
(8) иногда удобно использовать, в универсальных функциях, когда программно получаешь значения различных объектов.
Или функция может быть вызвана как на клиенте так и на сервере...будет работать по любому. Более универсально что-ли.
И в расширениях, как написали уже....если недобавлено, то очень удобно, никаких ошибок не выдает, все работает.
Но в целом, лишние действия делать необязательно.
18. anton13m 4 01.06.26 14:50 Сейчас в теме
(6)
нельзя?

В стандарте описано, что используется на клиенте, думаю надо этому следовать. Если сейчас работает и на сервере, не факт, что будет работать после какого-то обновления платформы.
7. DrMatroskin 4 01.06.26 13:03 Сейчас в теме
(5) В каких случаях стоит использовать функцию ПредопределенноеЗначение на сервере?
9. Sashares 33 01.06.26 13:04 Сейчас в теме
(7) Если очень хочется.
11. vv2 01.06.26 13:07 Сейчас в теме
(7) Если в расширении нет предопределённого значения к которому обращаетесь.
20. SweetSweetLoot 01.06.26 15:09 Сейчас в теме
(11) он все равно к нему сможет обратится даже если в расширении нет.
12. ZergKRSK 130 01.06.26 13:07 Сейчас в теме
(7) во всех через функцию ПредопределенныйЭлемент
22. axelerleo 325 01.06.26 15:35 Сейчас в теме
(12) При чем тут БСП-шная обвязка? Для самописных конфигураций предложите внедрить БСП ради нее? :)
(1) можно <> нужно. Острой необходимости пользоваться ПредопределенноеЗначение на сервере нет, но можно, если хочется например, код сделать попроще, без директив. Например у нас метод &НаКлиентеНаСервереБезКонтекста. Вот там удобнее писать через ПредопределенноеЗначение.

Ну или если лень переписывать код клиентский, который скопировали на сервер)))
23. Sashares 33 01.06.26 15:40 Сейчас в теме
(22)
При чем тут БСП-шная обвязка? Для самописных конфигураций предложите внедрить БСП ради нее? :)

Ну хочет человек через БСПшную обвязку вызывать. Придется внедрять. =)
24. ZergKRSK 130 01.06.26 15:44 Сейчас в теме
(22)
При чем тут БСП-шная обвязка?

Плохо когда не умеешь читать.
25. axelerleo 325 01.06.26 15:51 Сейчас в теме
(24) Плохо вести себя как токсичный сноб :)
26. ZergKRSK 130 01.06.26 15:53 Сейчас в теме
(25) согласен, вам надо подумать об этом.
Если вы не в состоянии прочитать и понять мои строчки то почему я токсичный сноб?
28. axelerleo 325 01.06.26 16:01 Сейчас в теме
(26) Потому что не все конфигурации написаны на БСП, и речи у топикстартера вообще не было про то, что используется БСП. Так-то можно развить про то, как работать с предопределенными элементами в разделенном режиме в модели сервиса. Но вопрос-то был не об этом.
29. ZergKRSK 130 01.06.26 16:03 Сейчас в теме
(28)
Потому что не все конфигурации написаны на БСП

Я где-то утверждал что все конфигурации написаны на БСП ?

(28)
у топикстартера вообще не было про то, что используется БСП

И что не используется речи тоже не было

Вы можете рисовать код как душе угодно, я вас ничего не заставляю делать.
31. Sashares 33 01.06.26 16:33 Сейчас в теме
(29)
Я где-то утверждал что все конфигурации написаны на БСП ?

Чел, ты буквально 10 предлагаешь использовать функцию БСП, когда буквально никто об этом не спрашивал и речи о БСП вообще не шло.
А в ответ на 15 предлагаешь что-то смотреть в БСП.
На вопрос зачем это вообще все надо сливаешься в туман предлагая придумать самому.
32. ZergKRSK 130 01.06.26 17:11 Сейчас в теме
(31) в 10 я привожу рекомендации с ИТС. Но у некоторых своё представление о программировании. А про 15 вообще смешно, в этой функции используется платформенная, просто в правильной реализации, а не так как тут некоторые предпочитают.
34. Sashares 33 01.06.26 18:12 Сейчас в теме
(32)
в этой функции используется платформенная, просто в правильной реализации


Тебе в 27 ответили, что платформенная там используется только для перечислений и пустых ссылок.

Так что сам бы сначала открыл и посмотрел, что советуешь.

А правильность реализации в чем заключается?
Что вместо Справочники.МойСправочник.МоеЗначение надо выполнить больше 100 строк кода?
Как будто можно проще, буквально одной строкой.
Особенно если сам добавил это предопределенное значение, и знаешь что оно там есть.
35. ZergKRSK 130 01.06.26 19:17 Сейчас в теме
(34)
Как будто можно проще, буквально одной строкой

само собой БСП написали идиоты, "НайтиПоНаименованию" ваше всё
40. Sashares 33 01.06.26 20:46 Сейчас в теме
(35)
само собой БСП написали идиоты

А по вашему видимо платформу написали идиоты?

Я только предлагаю использовать инструменты по назначению, и немного думать головой.
41. ZergKRSK 130 01.06.26 20:48 Сейчас в теме
(40) я использую БСП по назначению чего и вам желаю
42. Sashares 33 01.06.26 20:53 Сейчас в теме
30. qKirai 01.06.26 16:11 Сейчас в теме
Исходя из этого:

Примечание:
Результат выполнения кэшируется при первом обращении до изменения конфигурации или версии платформы.


Думаю, имеет смысл использовать на сервере при частом и постоянном обращении к какому-то предопределенному значению.
36. DrMatroskin 4 01.06.26 20:30 Сейчас в теме
(30) Получается Функция ПредопредленноеЗначение("Перечисление.ВидыЦен.Розничная"), в том числе и на сервере, после первого обращения будет быстрее получать значение чем, например, код Перечисления.ВидыЦен.Розничная. Правильно ли это утверждение?
37. gybson 14 01.06.26 20:38 Сейчас в теме
(30) Речь, видимо, о клиенте, чтобы сократить вызовы сервера.
38. DrMatroskin 4 01.06.26 20:41 Сейчас в теме
(37) Но в примечании нет такого уточнения
39. gybson 14 01.06.26 20:43 Сейчас в теме
(38) Если значение указано прямо в коде, то, видимо, прямо при сборке модуля там и должно появиться.
43. qKirai 01.06.26 23:05 Сейчас в теме
(37) Да, поискал чуть, так и есть

В целях минимизации серверных вызовов в тех случаях, когда на клиенте требуется получать значения ссылок на предопределенные элементы справочников, планов видов характеристик, ссылки на значения перечислений и т. п., можно сделать это с помощью метода глобального контекста ПредопределенноеЗначение(), не обращаясь лишний раз к серверу. При этом клиент-серверное взаимодействие не ухудшается, так как серверный вызов выполняется только при первом обращении к значению, а результат автоматически кешируется в кеше конфигурации на клиенте до следующего обновления версии конфигурации или версии платформы.

Поэтому при выполнении каких-то действий на клиенте не нужно вызывать серверные функции для получения ссылок на предопределенные значения, значения перечислений и т. п. Это потребует лишнего обращения к серверу и будет неэффективно. Вместо этого лучше использовать метод глобального контекста ПредопределенноеЗначение().


Тогда нет смысла использовать на сервере судя по всему.
44. gybson 14 02.06.26 00:49 Сейчас в теме
(43) Никакого. И в запросах можно использовать Значение(). НО! Иногда людей бьют или издеваются над ними или иначе проявляют насилие и тогда рождается практика заметать проблемы в ЖР (который никто не смотрит) и тогда помогают функции-прокладки, которые помогают скрыть проблему до момента увольнения.
Для отправки сообщения требуется регистрация/авторизация

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