powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Реализация разделения на клиентские/серверные процедуры
25 сообщений из 30, страница 1 из 2
Реализация разделения на клиентские/серверные процедуры
    #40001366
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недавно начал изучать 1с. Может кто пояснит "на пальцах" как устроено разделение кода на серверный и клиентский.

Как понимаю:
Мы пишем код в текстовом виде, затем он компилится в байткод (набор исполняемых файлов или одну большую либу).
Тогда получается, что определенные типы (классы) будут физически находится в разных файлах и из этого логически вытекает их недоступность для серверного или клиентского контекста (Например, таблица значений доступна только в серверных процедурах).
Где это все тогда хранится (в особенности интересует клиентский код)? Как реализованы классы доступные и для клиентского кода и для серверного.

Почему серверный код из клиентского вызвать можно, а наоборот нет?

ps. 1c 8.2
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001379
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто на простом примере объяснит, что происходит:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
&НаКлиенте
Процедура клиентскаяПроцедура
   какойто клиентский код;
   сервернаяПроцедура();
КонецПроцедуры

&НаСервере
Процедура сервернаяПроцедура 
   какойто серверный код;
КонецПроцедуры



Например, при запуске процедуры клиентскаяПроцедура платформа лезет туда то и выполняет найденный там инструкции, потом для выполнения серверного вызова она лезет туда то и та ищет серверные процедуры, выполняет их и отсылает результат на клиент. (мое представление)
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001383
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen,

серверная процедура = хранимая процедура
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001389
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. мы при вызове серверной процедуры отправляем запрос на ее выполнение и сервер ее выполняет на сервере 1с и, при необходимости возвращает результат? Тогда это более менее понятно.

Но про клиентский код (В моем понимании):
Допустим у пользователя установлен тонкий клиент, при изменении конфигурация программистом данные обновляются только на сервере (программный код). Пользователю никаких запросов на обновление не приходит насколько я знаю.
Т.е. у пользователя после обновления может появиться новая кнопка, по нажатия которой должен быть выполнен определенный код. Но как клиент узнает как этот новый код выполнить? Он пересылается при запросе вместе с данными сервера или сохраняется у клиента в момент обновления конфы (последнее очень не логично)?
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001390
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen
Почему серверный код из клиентского вызвать можно, а наоборот нет?


потому что модель веб-сервиса - ему передали с клиента, он обработал, вернул обратно
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001393
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen
Как реализованы классы доступные и для клиентского кода и для серверного.


форма документа например. доступна и там и там
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001398
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen
сервер ее выполняет на сервере 1с
выполняется на сервере субд (mysql, mssql...)
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001402
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen
Он пересылается при запросе вместе с данными сервера или сохраняется у клиента в момент обновления конфы (последнее очень не логично)?


на компе юзера обычно хранится локальный кэш метаданных. он обновляется (после того как юзер выйдет и зайдет в 1с обратно) если обновлялась конфигурация. если обновление конфигурации было "динамическим" (без выпиливания всех активных сеансов юзеров) юзер получает предупреждение что его конфигурация отличается от "общей"
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001404
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen
Может кто пояснит "на пальцах" как устроено разделение кода на серверный и клиентский.


проще всего тут написано Под капотом управляемых форм
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001408
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МодальноеОкно
faustgreen
Может кто пояснит "на пальцах" как устроено разделение кода на серверный и клиентский.


проще всего тут написано Под капотом управляемых форм


Ок, спасибо. Завтра почитаю.
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001409
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
faustgreen,

серверная процедура = хранимая процедура


нет
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001411
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МодальноеОкно
ет
обоснуй
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001416
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen
Может кто на простом примере объяснит, что происходит:


так и происходит как написали

а пляски эти нужны т.к. например изменять объекты можно только на сервере - на клиенте у вас от объекта класса есть только представление (аналог ToString()) и ссылка (гуид) на элемент класса. Хотите поменять его поле, записать в него вместо 3 поставить 5 - пройдите с "ссылкой" на сервер, получите от нее "объект" в котором доступ слой взаимодействия с субд - и там уже записывайте ваши изменения

такое вот прекрасное архитектурное решение предлагает 1с. не бояре - потерпят

ну а асинхронность... ах эти коллбэки в виде текстовых имен методов, и словарей с параметрами в которых неизвестно что напихано

ну подумаешь хз, что происходит и в стеке вызовов адские разрывы, а лучшее тестирование - это рантайм с юзерами... зато "доступно и всерьез".
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001417
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
МодальноеОкно
ет
обоснуй


потому что сервер приложений 1с != сервер субд
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001419
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МодальноеОкно
потому что сервер приложений 1с != сервер субд
а кто утверждал обратное??
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001420
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
МодальноеОкно
потому что сервер приложений 1с != сервер субд
а кто утверждал обратное??


авторвыполняется на сервере субд (mysql, mssql...)
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001438
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МодальноеОкно
вадя
пропущено...
а кто утверждал обратное??


авторвыполняется на сервере субд (mysql, mssql...)
тогда ответь что такое сервер 1с
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001530
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
МодальноеОкно
пропущено...


пропущено...
тогда ответь что такое сервер 1с

Application server
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001539
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил
Application server
ну а "сервернаяПроцедура" - выполняется на сервере субд
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001541
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Изопропил
Application server
ну а "сервернаяПроцедура" - выполняется на сервере субд


твою дивизию... сказано уже - нет, не выполняется
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001559
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МодальноеОкно
твою дивизию... сказано уже - нет, не выполняется

а где выполняется?
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001564
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
МодальноеОкно
твою дивизию... сказано уже - нет, не выполняется

а где выполняется?


на сервере апликухи. в данном случае - 1с
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001565
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МодальноеОкно
на сервере апликухи. в данном случае - 1с
тогда вопрос: что такое "сервернаяПроцедура" ?

и к чему что относится
к клиент-сервеная архитектура
или
к клиент-файл архитектура
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001567
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
МодальноеОкно
на сервере апликухи. в данном случае - 1с
тогда вопрос: что такое "сервернаяПроцедура" ?


в контексте данной ветки - кусок кода выполняемой в среде апликухи 1с, с правами юзера от которого стартована служба в рамках которой поднимается апликуха 1с, физически в рамках рабочего сервера (рабочих серверов кластера) 1с. субд тут вообще не причем

ферштейн?
...
Рейтинг: 0 / 0
Реализация разделения на клиентские/серверные процедуры
    #40001571
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
к клиент-сервеная архитектура
или
к клиент-файл архитектура


1с может работать как трехзвенка: клиент-апликуха 1с - субд

так и режим "для бедных": клиент - файл. файл - аналог акцесного "компаунда".

функции ранее выполнявшиеся на апликухе - выполняются на клиенте. клиент эмулирует в себе сервер приложения чтобы база работавшая в режиме "клиент-файл" могла быть нахлабученной на трехзвенку без изменений.
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Реализация разделения на клиентские/серверные процедуры
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]