Можно тупой вопрос? Почему возможность вызова серверных методов с клиента вынесли в отдельное свойство "Вызов сервера"? Почему всем серверным модулям не поставить этот флаг? На что это влияет? Я понимаю что без этого флага методы общего модуля не возможно будет вызвать с клиента, но зачем сделали такое ограничение?
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) тут можно о много говорить.
Но самый яркий пример:
Экспортный метод в общем серверном модуле принимающий в параметрах форму.
Если выставить для общего модуля флаг "Вызов сервера", то будут крики новичков: "что за н... ошибка в типовой..." при попытке с клиента передавать форму на сервер.
Тут используется принцип "разделяй и властвуй".
Ну, возможно тут пошли дальше, в разделении. Но в целом подход правильный.
Но самый яркий пример:
Экспортный метод в общем серверном модуле принимающий в параметрах форму.
Если выставить для общего модуля флаг "Вызов сервера", то будут крики новичков: "что за н... ошибка в типовой..." при попытке с клиента передавать форму на сервер.
Тут используется принцип "разделяй и властвуй".
Ну, возможно тут пошли дальше, в разделении. Но в целом подход правильный.
Посмотрели другие языки программирования, и сделали похоже
Private — объявляет метод или свойство доступным только в том классе в котором он присутствует. Тоесть к private методам и свойствам мы не можем обращаться ни из объектов, ни из дочерних классов.
Protected — объявляет метод или свойство защищенными. Тоесть такими, которые не могут быть доступны из объекта, реализующего класс, но вполне может быть использовано в дочерних классах.
Public — публичный. Классы и методы, объявленные public, могут быть доступны как внутри самого класса, так и в дочерних классах и в объектах, реализовавших класс.
Чтобы не нарушалась логика работы.
Где галочки нет, их вызывать нельзя с клиента. Нужно вызывать через другие, в которых есть эта галка.
Пример:
Удалить что-то (без галочки)
Вначале проверка, что вы имеете права..., а потом удаление (с галочкой)
Но вы можете по своему писать, если вы не в рабство отданы.
Private — объявляет метод или свойство доступным только в том классе в котором он присутствует. Тоесть к private методам и свойствам мы не можем обращаться ни из объектов, ни из дочерних классов.
Protected — объявляет метод или свойство защищенными. Тоесть такими, которые не могут быть доступны из объекта, реализующего класс, но вполне может быть использовано в дочерних классах.
Public — публичный. Классы и методы, объявленные public, могут быть доступны как внутри самого класса, так и в дочерних классах и в объектах, реализовавших класс.
Чтобы не нарушалась логика работы.
Где галочки нет, их вызывать нельзя с клиента. Нужно вызывать через другие, в которых есть эта галка.
Пример:
Удалить что-то (без галочки)
Вначале проверка, что вы имеете права..., а потом удаление (с галочкой)
Но вы можете по своему писать, если вы не в рабство отданы.
(3)
А по поводу инкапсуляции, то есть у fn/pr признак "Экспорт". Он не зависит от галочек. Если его нет, тто галочка не поможет.
Где галочки нет, их вызывать нельзя с клиента.
// моя форма
&НаКлиенте
fn УдалитьБезГалочки(ref)
УдалитьБезГалочкиНаСервере(ref)
fnEnd
&НаСервере
fn УдалитьБезГалочкиНаСервере(ref)
ОбщийМодульБезГалочки.Удалить(Ref)
fnEnd
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот