Использование ПредопределенноеЗначение на сервере
1.
DrMatroskin
4
01.06.26 10:19
Сейчас в теме
В каких случаях стоит использовать функцию ПредопределенноеЗначение на сервере? Или она имеет смысл только на клиенте?
По теме из базы знаний
- Варианты получения значения элементарного (серверного) выражения на клиентской стороне (в том числе с использованием функций ПредопределенноеЗначение и ВычислитьФормулу). Плюсы, минусы.
- Как отказаться от использования НайтиПоНаименованию() и НайтиПоКоду() в уже работающих наполненных базах при дальнейшей разработке.
- Расширения... Использование на практике. Пример заполнения табличных частей в 1С Бухгалтерия 3.0.
- Передача данных с сервера на клиент через WebSocket NativeAPI и Centrifugo
- Айкидо против режима совместимости 1С - алхимический подход разработки. Рекомендации по использованию новых возможностей на legacy-конфигурациях
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
14.
starik-2005
3272
01.06.26 13:31
Сейчас в теме
(1)
В каких случаях стоит использовать функцию ПредопределенноеЗначение на сервере?
Смысл имеет только на клиенте, т.к. на нем нельзя обратиться к менеджеру объекта. А использовать можно где угодно, но смысла особого нет. Раньше это было типа рекомендацией, так в общем-то и осталось. Разницы в скорости работы нет.
4.
DrMatroskin
4
01.06.26 12:50
Сейчас в теме
Можно подробнее. Получается в расширениях на сервере нужно использовать?
(4)
Удобно <> Нужно.
В чем конкретно у вас вопрос?
в расширениях на сервере нужно использовать?
Удобно <> Нужно.
В чем конкретно у вас вопрос?
Для получения значения ссылок на предопределенные элементы ... в коде, выполняемом в клиентском коде (тонкий клиент, веб-клиент), где объекты типа СправочникМенеджер.<ИмяСправочника>, ПеречислениеМенеджер.<ИмяПеречисления> и т.п. не доступны, предназначена функция глобального контекста ПредопределенноеЗначение.
(6) Да никто не запрещает, пользуйтесь на здоровье.
Просто какого-то смысла использовать ее на сервере нет.
На сервере можно же просто обратиться к предопределенному элементу без всяких функций.
А раз можно без лишних действий это сделать, то зачем нужны эти лишние действия?
Просто какого-то смысла использовать ее на сервере нет.
На сервере можно же просто обратиться к предопределенному элементу без всяких функций.
А раз можно без лишних действий это сделать, то зачем нужны эти лишние действия?
(8) не соглашусь, в конфах на БСП
Предопределенный элемент может пропасть при обновлении (особенно собственный) и получим отвал кода
рекомендуется использовать функцию ПредопределенныйЭлемент общего модуля ОбщегоНазначения
Предопределенный элемент может пропасть при обновлении (особенно собственный) и получим отвал кода
27.
spacecraft
01.06.26 15:55
Сейчас в теме
(21) наверно он там увидел вызов платформенного метода.
Только он там для пустой ссылки, перечисления и бизнес процесса вызывается.
Но это же мелочи )
Только он там для пустой ссылки, перечисления и бизнес процесса вызывается.
Но это же мелочи )
(8) иногда удобно использовать, в универсальных функциях, когда программно получаешь значения различных объектов.
Или функция может быть вызвана как на клиенте так и на сервере...будет работать по любому. Более универсально что-ли.
И в расширениях, как написали уже....если недобавлено, то очень удобно, никаких ошибок не выдает, все работает.
Но в целом, лишние действия делать необязательно.
Или функция может быть вызвана как на клиенте так и на сервере...будет работать по любому. Более универсально что-ли.
И в расширениях, как написали уже....если недобавлено, то очень удобно, никаких ошибок не выдает, все работает.
Но в целом, лишние действия делать необязательно.
7.
DrMatroskin
4
01.06.26 13:03
Сейчас в теме
(5) В каких случаях стоит использовать функцию ПредопределенноеЗначение на сервере?
20.
SweetSweetLoot
01.06.26 15:09
Сейчас в теме
(11) он все равно к нему сможет обратится даже если в расширении нет.
(12) При чем тут БСП-шная обвязка? Для самописных конфигураций предложите внедрить БСП ради нее? :)
(1) можно <> нужно. Острой необходимости пользоваться ПредопределенноеЗначение на сервере нет, но можно, если хочется например, код сделать попроще, без директив. Например у нас метод &НаКлиентеНаСервереБезКонтекста. Вот там удобнее писать через ПредопределенноеЗначение.
Ну или если лень переписывать код клиентский, который скопировали на сервер)))
(1) можно <> нужно. Острой необходимости пользоваться ПредопределенноеЗначение на сервере нет, но можно, если хочется например, код сделать попроще, без директив. Например у нас метод &НаКлиентеНаСервереБезКонтекста. Вот там удобнее писать через ПредопределенноеЗначение.
Ну или если лень переписывать код клиентский, который скопировали на сервер)))
(26) Потому что не все конфигурации написаны на БСП, и речи у топикстартера вообще не было про то, что используется БСП. Так-то можно развить про то, как работать с предопределенными элементами в разделенном режиме в модели сервиса. Но вопрос-то был не об этом.
(29)
Чел, ты буквально 10 предлагаешь использовать функцию БСП, когда буквально никто об этом не спрашивал и речи о БСП вообще не шло.
А в ответ на 15 предлагаешь что-то смотреть в БСП.
На вопрос зачем это вообще все надо сливаешься в туман предлагая придумать самому.
Я где-то утверждал что все конфигурации написаны на БСП ?
Чел, ты буквально 10 предлагаешь использовать функцию БСП, когда буквально никто об этом не спрашивал и речи о БСП вообще не шло.
А в ответ на 15 предлагаешь что-то смотреть в БСП.
На вопрос зачем это вообще все надо сливаешься в туман предлагая придумать самому.
(31) в 10 я привожу рекомендации с ИТС. Но у некоторых своё представление о программировании. А про 15 вообще смешно, в этой функции используется платформенная, просто в правильной реализации, а не так как тут некоторые предпочитают.
(32)
Тебе в 27 ответили, что платформенная там используется только для перечислений и пустых ссылок.
Так что сам бы сначала открыл и посмотрел, что советуешь.
А правильность реализации в чем заключается?
Что вместо Справочники.МойСправочник.МоеЗначение надо выполнить больше 100 строк кода?
Как будто можно проще, буквально одной строкой.
Особенно если сам добавил это предопределенное значение, и знаешь что оно там есть.
в этой функции используется платформенная, просто в правильной реализации
Тебе в 27 ответили, что платформенная там используется только для перечислений и пустых ссылок.
Так что сам бы сначала открыл и посмотрел, что советуешь.
А правильность реализации в чем заключается?
Что вместо Справочники.МойСправочник.МоеЗначение надо выполнить больше 100 строк кода?
Как будто можно проще, буквально одной строкой.
Особенно если сам добавил это предопределенное значение, и знаешь что оно там есть.
Исходя из этого:
Думаю, имеет смысл использовать на сервере при частом и постоянном обращении к какому-то предопределенному значению.
Примечание:
Результат выполнения кэшируется при первом обращении до изменения конфигурации или версии платформы.
Результат выполнения кэшируется при первом обращении до изменения конфигурации или версии платформы.
Думаю, имеет смысл использовать на сервере при частом и постоянном обращении к какому-то предопределенному значению.
36.
DrMatroskin
4
01.06.26 20:30
Сейчас в теме
(30) Получается Функция ПредопредленноеЗначение("Перечисление.ВидыЦен.Розничная"), в том числе и на сервере, после первого обращения будет быстрее получать значение чем, например, код Перечисления.ВидыЦен.Розничная. Правильно ли это утверждение?
(37) Да, поискал чуть, так и есть
Тогда нет смысла использовать на сервере судя по всему.
В целях минимизации серверных вызовов в тех случаях, когда на клиенте требуется получать значения ссылок на предопределенные элементы справочников, планов видов характеристик, ссылки на значения перечислений и т. п., можно сделать это с помощью метода глобального контекста ПредопределенноеЗначение(), не обращаясь лишний раз к серверу. При этом клиент-серверное взаимодействие не ухудшается, так как серверный вызов выполняется только при первом обращении к значению, а результат автоматически кешируется в кеше конфигурации на клиенте до следующего обновления версии конфигурации или версии платформы.
Поэтому при выполнении каких-то действий на клиенте не нужно вызывать серверные функции для получения ссылок на предопределенные значения, значения перечислений и т. п. Это потребует лишнего обращения к серверу и будет неэффективно. Вместо этого лучше использовать метод глобального контекста ПредопределенноеЗначение().
Поэтому при выполнении каких-то действий на клиенте не нужно вызывать серверные функции для получения ссылок на предопределенные значения, значения перечислений и т. п. Это потребует лишнего обращения к серверу и будет неэффективно. Вместо этого лучше использовать метод глобального контекста ПредопределенноеЗначение().
Тогда нет смысла использовать на сервере судя по всему.
(43) Никакого. И в запросах можно использовать Значение(). НО! Иногда людей бьют или издеваются над ними или иначе проявляют насилие и тогда рождается практика заметать проблемы в ЖР (который никто не смотрит) и тогда помогают функции-прокладки, которые помогают скрыть проблему до момента увольнения.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот