Получение реквизита объекта на клиенте. Как правильно?
Идёт активная доработка УТ 11.4 под свои нужды через расширение конфигурации.
часто нужно обратиться к реквизиту объекта через току, но на клиенте этот реквизит не доступен. Приходится писать функцию из одной строки на сервере для получения нужного реквизита. Так получается много функций которые, по сути, практически ничего не делают и только засоряют код.
Как это делать "правильно"? Через функцию расположенную в этом модуле или есть стандартный механизм более удобный?
Я создал общий модуль, где у меня разные функции нужные мне и туда добавил 2 для решения этого вопроса.
Для получения реквизита конкретного объекта:
для получения ссылки на перечисление или поиска функцией "Найти":
Прошу совета, как делать правильно или как это решаете Вы?
часто нужно обратиться к реквизиту объекта через току, но на клиенте этот реквизит не доступен. Приходится писать функцию из одной строки на сервере для получения нужного реквизита. Так получается много функций которые, по сути, практически ничего не делают и только засоряют код.
Как это делать "правильно"? Через функцию расположенную в этом модуле или есть стандартный механизм более удобный?
Я создал общий модуль, где у меня разные функции нужные мне и туда добавил 2 для решения этого вопроса.
Для получения реквизита конкретного объекта:
// Возвращает значение реквизита переданного объекта базы
//
// Параметры:
// ОбъектБазы - Ссылка - ссылка на объект
// Реквизит - Строка - название реквизита значение которого нужно получить
//
Функция ПолучитьЗначениеРеквизитаНаСервере(ОбъектБазы, Реквизит) Экспорт
Возврат ОбъектБазы[Реквизит];
КонецФункции
Показатьдля получения ссылки на перечисление или поиска функцией "Найти":
// Возвращает значение реквизита переданного объекта базы СТРОКОЙ
//
// Параметры:
// ВыполняемоеВыражениеСтрокой - Строка - ссылка на объект или выражение которое нужно выполнить на сервере строкой
//
Функция ВыполнитьВыражениеИзСтрокиНаСервере(ВыполняемоеВыражениеСтрокой) Экспорт
РезультатВыполнения = "";
Выполнить("РезультатВыполнения = " + ВыполняемоеВыражениеСтрокой);
Возврат РезультатВыполнения;
КонецФункции
ПоказатьПрошу совета, как делать правильно или как это решаете Вы?
По теме из базы знаний
Найденные решения
(8) Да нахрена дополнительные функции? ОбщегоНазначенияУТВызовСервера.ЗначениеРеквизитаОбъекта и прочая можно применять сразу на клиенте. Возьмите в моду изучать матчасть и читать, что пишут.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8) Да нахрена дополнительные функции? ОбщегоНазначенияУТВызовСервера.ЗначениеРеквизитаОбъекта и прочая можно применять сразу на клиенте. Возьмите в моду изучать матчасть и читать, что пишут.
(12) Да. Дуплите однократно копию базы с сервера через торрент каждому клиенту. и пилите свой механизм синхронизации у всех сразу с клиента на клиент. серверную копию обновлять раз в неделю/месяц ночью в выходные. сервер будет почти не нагружен в итоге. профит
(10) Зачем так сильно нервничать?
Во первых - как ты себе представляешь изучить такой объем данных, без 10-20 летнего стажа?
Во вторых - нет смысла использовать функции БСП или конфигурации, если это отдельная разработка (расширение, обработка и т.д.), т.к. может не подходить для другой конфигурации. Поэтому лучше всегда использовать язык программирования, а не цепляться за БСП, которая потом ещё и свяжет тебе руки.
Как по мне, так лучше не терять время на изучение матчасти, а просто использовать чистый язык программирования...
Во первых - как ты себе представляешь изучить такой объем данных, без 10-20 летнего стажа?
Во вторых - нет смысла использовать функции БСП или конфигурации, если это отдельная разработка (расширение, обработка и т.д.), т.к. может не подходить для другой конфигурации. Поэтому лучше всегда использовать язык программирования, а не цепляться за БСП, которая потом ещё и свяжет тебе руки.
Как по мне, так лучше не терять время на изучение матчасти, а просто использовать чистый язык программирования...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот