Имя: Пароль:
1C
1С v8
Невозможно включить общего модуля компиляцию всех видов вместе с вызовом сервера
0 TormozIT
 
гуру
06.04.13
00:43
Конфигурация ПО
1С 8.2.18.51, конфигуратор

Проблема
При редактировании свойств общего модуля невозможно одновременно установить свойства компиляции во всех режимах и свойство "Вызов сервера".

Вопроизведение.
Смотри видеоролик http://rghost.ru/45074316

Возможно так и задумано, но мне самому догадаться "почему" за пару лет так и не удалось. Может кто то подскажет или предположит причину?

Ну а пока такое поведение кажется очень странным.

Параллельная тема http://partners.v8.1c.ru/forum/thread.jsp?id=1135029#1135029
1 TormozIT
 
гуру
06.04.13
01:18
Кажется нашел объяснение.
Если есть общий модуль доступный во всех режимах компиляции, то при обращении к его методу сначала ищется его скомпилированный образ в том же контексте. Если он находится, то к серверному образу этого модуля обращения уже не будет. Таким образом если модуль имеет образ во всех режимах компиляции, то вызов сервера никогда не произойдет и соответственно флажок "вызов сервера" лишен смысла.

Однако здесь есть такой момент. Ведь скомпилированные образы общего модуля могут отличаться на клиенте и на сервере. Например нужная функция везде компилируемого общего модуля присутствует только в образах на сервере и внешнем соединении, но отсутствует в образах обычного и управляемого клиентов. Получается что если мне надо такую функцию вызывать из обычного клиента, то в таком случае я столкнусь с ошибкой, хотя 1С кажется могли бы сделать и обращение к серверному образу модуля в этой ситуации. А сейчас приходится для таких функций делать порты (обертки, транзитные функции) в чисто серверных модулях, что несет кажется неоправданные неудобства.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.