Свойство общего модуля Вызов сервера

1. apic 15 16.02.24 13:52 Сейчас в теме
Можно тупой вопрос? Почему возможность вызова серверных методов с клиента вынесли в отдельное свойство "Вызов сервера"? Почему всем серверным модулям не поставить этот флаг? На что это влияет? Я понимаю что без этого флага методы общего модуля не возможно будет вызвать с клиента, но зачем сделали такое ограничение?
По теме из базы знаний
Найденные решения
5. SlavaKron 16.02.24 15:07 Сейчас в теме
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starik-2005 3167 16.02.24 14:06 Сейчас в теме
(1)
Почему
Два предположения: историческая несправедливость и уменьшение загружаемой на клиент конфигурации. Но т.к. это меньше 1% от объема конфигурации, то см. п.1.
6. spacecraft 16.02.24 16:42 Сейчас в теме
(1) тут можно о много говорить.
Но самый яркий пример:
Экспортный метод в общем серверном модуле принимающий в параметрах форму.
Если выставить для общего модуля флаг "Вызов сервера", то будут крики новичков: "что за н... ошибка в типовой..." при попытке с клиента передавать форму на сервер.

Тут используется принцип "разделяй и властвуй".
Ну, возможно тут пошли дальше, в разделении. Но в целом подход правильный.
3. Timur.V 82 16.02.24 14:11 Сейчас в теме
Посмотрели другие языки программирования, и сделали похоже


Private — объявляет метод или свойство доступным только в том классе в котором он присутствует. Тоесть к private методам и свойствам мы не можем обращаться ни из объектов, ни из дочерних классов.

Protected — объявляет метод или свойство защищенными. Тоесть такими, которые не могут быть доступны из объекта, реализующего класс, но вполне может быть использовано в дочерних классах.

Public — публичный. Классы и методы, объявленные public, могут быть доступны как внутри самого класса, так и в дочерних классах и в объектах, реализовавших класс.


Чтобы не нарушалась логика работы.
Где галочки нет, их вызывать нельзя с клиента. Нужно вызывать через другие, в которых есть эта галка.

Пример:
Удалить что-то (без галочки)
Вначале проверка, что вы имеете права..., а потом удаление (с галочкой)

Но вы можете по своему писать, если вы не в рабство отданы.
4. starik-2005 3167 16.02.24 14:31 Сейчас в теме
(3)
Где галочки нет, их вызывать нельзя с клиента.

// моя форма
&НаКлиенте
fn УдалитьБезГалочки(ref)
  УдалитьБезГалочкиНаСервере(ref)
fnEnd

&НаСервере
fn УдалитьБезГалочкиНаСервере(ref)
  ОбщийМодульБезГалочки.Удалить(Ref)
fnEnd
Показать
А по поводу инкапсуляции, то есть у fn/pr признак "Экспорт". Он не зависит от галочек. Если его нет, тто галочка не поможет.
5. SlavaKron 16.02.24 15:07 Сейчас в теме
7. apic 15 22.02.24 13:52 Сейчас в теме
(5) Да, то что надо, именно это я и хотел найти, но не смог. Спасибо большое! Если честно, ни слова не понял из того что там написано, но звучит убедительно :)))
Оставьте свое сообщение

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