|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
Недавно начал изучать 1с. Может кто пояснит "на пальцах" как устроено разделение кода на серверный и клиентский. Как понимаю: Мы пишем код в текстовом виде, затем он компилится в байткод (набор исполняемых файлов или одну большую либу). Тогда получается, что определенные типы (классы) будут физически находится в разных файлах и из этого логически вытекает их недоступность для серверного или клиентского контекста (Например, таблица значений доступна только в серверных процедурах). Где это все тогда хранится (в особенности интересует клиентский код)? Как реализованы классы доступные и для клиентского кода и для серверного. Почему серверный код из клиентского вызвать можно, а наоборот нет? ps. 1c 8.2 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 16:10 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
Может кто на простом примере объяснит, что происходит: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Например, при запуске процедуры клиентскаяПроцедура платформа лезет туда то и выполняет найденный там инструкции, потом для выполнения серверного вызова она лезет туда то и та ищет серверные процедуры, выполняет их и отсылает результат на клиент. (мое представление) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 16:21 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
faustgreen, серверная процедура = хранимая процедура ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 16:24 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
Т.е. мы при вызове серверной процедуры отправляем запрос на ее выполнение и сервер ее выполняет на сервере 1с и, при необходимости возвращает результат? Тогда это более менее понятно. Но про клиентский код (В моем понимании): Допустим у пользователя установлен тонкий клиент, при изменении конфигурация программистом данные обновляются только на сервере (программный код). Пользователю никаких запросов на обновление не приходит насколько я знаю. Т.е. у пользователя после обновления может появиться новая кнопка, по нажатия которой должен быть выполнен определенный код. Но как клиент узнает как этот новый код выполнить? Он пересылается при запросе вместе с данными сервера или сохраняется у клиента в момент обновления конфы (последнее очень не логично)? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 16:36 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
faustgreen Почему серверный код из клиентского вызвать можно, а наоборот нет? потому что модель веб-сервиса - ему передали с клиента, он обработал, вернул обратно ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 16:38 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
faustgreen Как реализованы классы доступные и для клиентского кода и для серверного. форма документа например. доступна и там и там ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 16:39 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
faustgreen сервер ее выполняет на сервере 1с ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 16:48 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
faustgreen Он пересылается при запросе вместе с данными сервера или сохраняется у клиента в момент обновления конфы (последнее очень не логично)? на компе юзера обычно хранится локальный кэш метаданных. он обновляется (после того как юзер выйдет и зайдет в 1с обратно) если обновлялась конфигурация. если обновление конфигурации было "динамическим" (без выпиливания всех активных сеансов юзеров) юзер получает предупреждение что его конфигурация отличается от "общей" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 16:54 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
faustgreen Может кто пояснит "на пальцах" как устроено разделение кода на серверный и клиентский. проще всего тут написано Под капотом управляемых форм ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 16:56 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
МодальноеОкно faustgreen Может кто пояснит "на пальцах" как устроено разделение кода на серверный и клиентский. проще всего тут написано Под капотом управляемых форм Ок, спасибо. Завтра почитаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 17:00 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
вадя faustgreen, серверная процедура = хранимая процедура нет ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 17:01 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
МодальноеОкно ет ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 17:03 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
faustgreen Может кто на простом примере объяснит, что происходит: так и происходит как написали а пляски эти нужны т.к. например изменять объекты можно только на сервере - на клиенте у вас от объекта класса есть только представление (аналог ToString()) и ссылка (гуид) на элемент класса. Хотите поменять его поле, записать в него вместо 3 поставить 5 - пройдите с "ссылкой" на сервер, получите от нее "объект" в котором доступ слой взаимодействия с субд - и там уже записывайте ваши изменения такое вот прекрасное архитектурное решение предлагает 1с. не бояре - потерпят ну а асинхронность... ах эти коллбэки в виде текстовых имен методов, и словарей с параметрами в которых неизвестно что напихано ну подумаешь хз, что происходит и в стеке вызовов адские разрывы, а лучшее тестирование - это рантайм с юзерами... зато "доступно и всерьез". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 17:13 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
вадя МодальноеОкно ет потому что сервер приложений 1с != сервер субд ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 17:14 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
МодальноеОкно потому что сервер приложений 1с != сервер субд ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 17:20 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
вадя МодальноеОкно потому что сервер приложений 1с != сервер субд авторвыполняется на сервере субд (mysql, mssql...) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 17:21 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
МодальноеОкно вадя пропущено... а кто утверждал обратное?? авторвыполняется на сервере субд (mysql, mssql...) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 18:07 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
вадя МодальноеОкно пропущено... пропущено... Application server ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 09:04 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
Изопропил Application server ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 09:37 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
вадя Изопропил Application server твою дивизию... сказано уже - нет, не выполняется ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 09:45 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
МодальноеОкно твою дивизию... сказано уже - нет, не выполняется а где выполняется? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 10:51 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
вадя МодальноеОкно твою дивизию... сказано уже - нет, не выполняется а где выполняется? на сервере апликухи. в данном случае - 1с ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 10:58 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
МодальноеОкно на сервере апликухи. в данном случае - 1с и к чему что относится к клиент-сервеная архитектура или к клиент-файл архитектура ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 10:59 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
вадя МодальноеОкно на сервере апликухи. в данном случае - 1с в контексте данной ветки - кусок кода выполняемой в среде апликухи 1с, с правами юзера от которого стартована служба в рамках которой поднимается апликуха 1с, физически в рамках рабочего сервера (рабочих серверов кластера) 1с. субд тут вообще не причем ферштейн? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 11:03 |
|
Реализация разделения на клиентские/серверные процедуры
|
|||
---|---|---|---|
#18+
вадя к клиент-сервеная архитектура или к клиент-файл архитектура 1с может работать как трехзвенка: клиент-апликуха 1с - субд так и режим "для бедных": клиент - файл. файл - аналог акцесного "компаунда". функции ранее выполнявшиеся на апликухе - выполняются на клиенте. клиент эмулирует в себе сервер приложения чтобы база работавшая в режиме "клиент-файл" могла быть нахлабученной на трехзвенку без изменений. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 11:12 |
|
|
start [/forum/topic.php?fid=33&msg=40001408&tid=1547092]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
121ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 305ms |
total: | 529ms |
0 / 0 |