1с общий модуль клиент сервер не видит серверную процедуру

Обновлено: 07.07.2024

Ограничение на установку признака «Вызов сервера» у общих модулей

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

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

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

Серверные процедуры и функции, не предназначенные для вызова из клиентского кода, следует размещать в общих модулях без признака Вызов сервера .

2.1. Как правило, при разработке объектов конфигурации (справочников, документов и пр.) исходят из того, что в управляемом режиме работа с экземплярами этих объектов ( СправочникОбъект , ДокументОбъект и т.д.) выполняется на стороне сервера. Поэтому в управляемом режиме не гарантируется возможность работы с ними на стороне клиентского приложения.

В частности, в толстом клиенте в режиме управляемого приложения не следует создавать или получать объекты:

  • в клиентских общих модулях (пользуясь инструкцией препроцессора ТолстыйКлиентУправляемоеПриложение );
  • в обычных формах при запуске в управляемом режиме. Такие формы следует использовать только в режиме обычного приложения.

Это позволит избежать выполнения кода модулей объектов и подписок на события на клиенте, а также избыточных серверных вызовов процедур и функций общих модулей из этого кода.

В Глобальному модуле есть вот такие функции. Флажки Клиент, Сервер и ВызовСервера установлены.

&НаКлиенте
Функция ДатаПлюсПродолжительность(День, Продолжительность) Экспорт
Возврат ДатаПлюсПродолжительностьСервер(День, Продолжительность);
КонецФункции

&НаСервере
Функция ДатаПлюсПродолжительностьСервер(День, Продолжительность) Экспорт
Возврат ДобавитьДень(День,(Продолжительность.Код-1)/2);
КонецФункции

Выдает вот такую ошибку

: Процедура или функция с указанным именем не определена (ДатаПлюсПродолжительностьСервер)
Возврат <<?>>ДатаПлюсПродолжительностьСервер(День, Продолжительность); (Проверка: Тонкий клиент)

Почему мы с клиента не видим сервер?

Возврат фнГлобальный.ДатаПлюсПродолжительностьСервер(День, Продолжительность);
А зачем так сложно? Сразу из формы на клиенте вызывай функцию на сервере? Зачем в общем модуле клиентская функция из одной строки?
Есть алгоритм расчет продолжительности. Этот алгоритм используется в нескольких местах. Зачем плодить 10 одинаковых функций?
(4) Выходит, что в пределах своего модуля он не видит свои функции?
(9) ну ты же написал &НаСервере. Значит если клиент, то эта функция не видна, он тебе об этом честно говорит.
(10) тогда почему если такой финт провернуть в модули формы, то он работает ?
Директива указывает где будет выполняеться, а не где будет доступна
Что значит "Оберни вызов модуля в &НаСервере" ?
Можно как-то указать при вызове какую функцию мы вызываем?

Тестирование показало, что в режиме Толстого клиента (управляемое приложение) указанный выше код работает (правда если обращаться к серверным процедурам и функциям не напрямую, а с указанием общего модуля: фнГлобальный.ДатаПлюсПродолжительностьСервер(День, Продолжительность); )

Тот же код в режиме тонкого клиента - не работает, так как видимо в пространство имен клинта, серверные процедуры и функции - не включаются. как быть?

С одной стороны наверное можно перейти насервер еще в модуле формы - и вызвать серверную функцию общего модуля. Однако некоторую часть алгоритма можно (и нужно) использовать НаКлиенте. Следовательно - необходим вызов серверной функции общего модуля из клиентской функции тогоже самого общего модуля.

Если ли так называемый "нужный кнопарик", который решит проблему, кроме reseta.

(16) ну может разноска этих функций в разные общие модули спасет гиганта мысли?

Общий модуль без галки "Клиент" вообще недоступен на клиенте, а с галками как в первом посте - сам модуль доступен, а серверные функции - нет.

Ну почему же обманываю?

Давайте повторимся. Вот такие 2 кусочка кода:

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

В режиме тонкого клиента возникает та же самая ошибка. Текст - точно такойже, повторяться не буду.

Был бы очень рад ошибиться.

Неужели никто не знает / проблема нерешаема?

А вообще - открыл бы новые типовые или демку и давно бы сам уже посмотрел, раз документацию лень читать

Правила создания общих модулей

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1.1. Общие модули создаются для реализации процедур и функций, объединенных по некоторому признаку. Как правило, в один общий модуль помещаются процедуры и функции одной подсистемы конфигурации (продажи, закупки) или процедуры и функции сходного функционального назначения (работа со строками, общего назначения).

1.2. При разработке общих модулей следует выбирать один из четырех контекстов выполнения кода:

Тип общего модуля Пример наименования Вызов сервера Сервер Внешнее соединение Клиент
(обычное приложение) Клиент
(управляемое приложение) 1. Серверный ОбщегоНазначения (или ОбщегоНазначенияСервер)

2. Серверный для вызова с клиента ОбщегоНазначенияВызовСервера 3. Клиентский ОбщегоНазначенияКлиент (или ОбщегоНазначенияГлобальный)

2.1. Серверные общие модули предназначены для размещения серверных процедур и функций, не доступных для использования из клиентского кода. В них реализуется вся внутренняя серверная бизнес-логика приложения.
Для корректной работы конфигурации в режимах внешнего соединения, управляемого и обычного приложений, серверные процедуры и функции следует размещать в общих модулях с признаками:

  • Сервер (флажок Вызов сервера снят),
  • Клиент (обычное приложение) ,
  • Внешнее соединение .

В таком случае гарантируется возможность вызова серверных процедур и функций с параметрами мутабельных типов (например, СправочникОбъект , ДокументОбъект и т.п.). Как правило, это:

Серверные общие модули называются по общим правилам именования объектов метаданных.
Например: РаботаСФайлами , ОбщегоНазначения .

В отдельных случаях для предотвращения конфликта имен со свойствами глобального контекста может быть добавлен постфикс "Сервер" (англ. "Server" ).
Например: РегламентныеЗаданияСервер , ОбменДаннымиСервер, ScheduledJobsServer .

2.2. Серверные общие модули для вызова с клиента содержат серверные процедуры и функции, доступные для использования из клиентского кода. Они составляют клиентский программный интерфейс сервера приложения.
Такие процедуры и функции размещаются в общих модулях с признаком:

Серверные общие модули для вызова с клиента называются по общим правилам именования объектов метаданных и должны именоваться с постфиксом "ВызовСервера" (англ. "ServerCall" ).
Например: РаботаСФайламиВызовСервера, CommonServerCall .

Следует иметь в виду, что экспортные процедуры и функции в таких общих модулях не должны содержать параметров мутабельных типов ( СправочникОбъект , ДокументОбъект и т.п.), так как их передача из (или в) клиентского кода невозможна.

2.3. Клиентские общие модули содержат клиентскую бизнес-логику (функциональность, определенную только для клиента) и имеют признаки:

  • Клиент (управляемое приложение) ,
  • Клиент (обычное приложение) .

Исключение составляют случаи, когда клиентские процедуры и функции должны быть доступны только в режиме управляемого приложения (только в режиме обычного приложения или только в режиме внешнего соединения). В таких случаях, допустима иная комбинация двух этих признаков.

Клиентские общие модули именуются с постфиксом "Клиент" (англ. "Client" ).
Например: РаботаСФайламиКлиент , ОбщегоНазначенияКлиент, StandardSubsystemsClient .

2.4. Для того чтобы избежать дублирования кода, рекомендуется создавать клиент-серверные общие модули с теми процедурами и функциями, содержание которых одинаково на сервере и на клиенте. Такие процедуры и функции размещаются в общих модулях с признаками:

  • Клиент (управляемое приложение) ,
  • Сервер (флажок Вызов сервера сброшен),
  • Клиент (обычное приложение) ,
  • Внешнее соединение .

Общие модули этого вида именуются с постфиксом "КлиентСервер" (англ. "ClientServer" ).
Например: РаботаСФайламиКлиентСервер , ОбщегоНазначенияКлиентСервер, UsersClientServer .

В то же время, как только возникает необходимость ветвить код в клиент-серверных общих модулях на серверный и клиентский, то не следует использовать для этого инструкции препроцессора. Вместо этого, функциональность, различную для клиента и для сервера, рекомендуется реализовывать по общим правилам в модулях соответствующего типа – см. пп. 2.1 и 2.3. Такое явное разделение клиентской и серверной бизнес-логики продиктовано соображениями повышения модульности прикладного решения, упрощения контроля со стороны разработчика над клиент-серверным взаимодействием и снижением риска ошибок из-за принципиальных отличий требований к разработке клиентского и серверного кода (необходимость минимизации кода, выполняемого на клиенте, разной доступностью объектов и типов платформы и др.). При этом нужно иметь в виду неизбежное увеличение числа общих модулей в конфигурации.

Особым случаем смешанных клиент-серверных модулей являются модули форм и команд, которые специально предназначены для реализации серверной и клиентской бизнес-логики в одном модуле.

3.1. Имена общих модулей рекомендуется строить по общим правилам именования объектов метаданных. Название общего модуля должно совпадать с названием подсистемы или отдельного механизма, процедуры и функции которой он реализует. Рекомендуется избегать в названиях общих модулей таких общих слов как "Процедуры", "Функции", "Обработчики", "Модуль", "Функциональность" и т.п. и применять их только в исключительных случаях, когда они более полно раскрывают назначение модуля.

Для того чтобы различать общие модули одной подсистемы, которые созданы для реализации процедур и функций, выполняемых в разных контекстах, рекомендуется задавать им постфиксы, описанные ранее в пп. 2.1-2.4.

3.2. Дополнительно к общим модулям могут быть добавлены уточняющие постфиксы.

3.2.1. Для глобальных модулей добавляется постфикс "Глобальный" (англ. "Global" ), в этом случае постфикс "Клиент" добавлять не следует.
Например: РаботаСФайламиГлобальный, InfobaseUpdateGlobal .

3.2.2. Модули, выполняющиеся в привилегированном режиме, имеющие признак Привилегированный , именуются с постфиксом "ПолныеПрава" (англ. "FullAccess" ).
Например: РаботаСФайламиПолныеПрава .

3.2.3. Модули, предназначенные для реализации на сервере или на клиенте функций с повторным использованием возвращаемых значений (на время вызова или на время сеанса), именуются с постфиксом "ПовтИсп" (англ. "Cached" ) и "КлиентПовтИсп" (англ. "ClientCached" ) соответственно.
Например: РаботаСФайламиКлиентПовтИсп, UsersInternalCached .

3.2.4. Серверные и клиентские модули библиотечных конфигураций (которые предназначены не для самостоятельного использования, а для разработки других конфигураций) с процедурами и функциями, допускающие изменение своей реализации, именуются с постфиксами "Переопределяемый" (англ. "Overridable" ) и "КлиентПереопределяемый" (англ. "ClientOverridable" ).
Например: РаботаСФайламиКлиентПереопределяемый, CommonOverridable .

3.2.5. В локализуемых конфигурациях, на базе которых выпускаются национальные прикладные решения для различных стран или регионов, модули, реализующие национальную специфику, именуются с постфиксами "Локализация" (англ. "Localization" ) и "КлиентЛокализация" (англ. "Client Localization " ).
Например: ЭлктроннаяПодписьЛокализация, ElectonicSignature Localization .

onsamuy --> onsamuy



Просмотр профиля

Допустим, у меня в общем модуле, который имеет свойства Клиент, сервер, есть функция

Не могу понять, почему в форме документа в процедуре, которая &НаКлиенте при попытке обращения к этой функции выдает ошибку Метод объекта не обнаружен? Ведь в свойствах общего модуля есть флажок Клиент.

Вот так не работает

Работает если только сделать так

Vofka --> Vofka



Просмотр профиля Для того, чтобы вызывать из клиентских процедур и функций, должна стоять галка Клиент (управляемой приложение). Но подозреваю, что если вы это сделаете - у вас перестанет работать функция ПолучитьОстаток в нем, если будете вызывать с клиента. Petre --> Petre



Просмотр профиля Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія". onsamuy --> onsamuy



Просмотр профиля НУ в принципе, и так работает, с клиентской функции на форме лезем в серверную функцию на форме и там уже получаем остаток. Просто интересно, как архитектура работает. Может изза того что установлен флажок Клиент (упр. прил) и Сервер одновременно, а надо только Клиент(. Petre --> Petre



Просмотр профиля Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія". onsamuy --> onsamuy



Просмотр профиля

Да, действительно функция получения остатка в общем модуле у меня с директивой &НаСервере. Получается, что на форме с ф-ции &НаКлиенте я могу обратиться к функции &НаСервере, если она здесь же на форме, а если эта функция &НаСервере, но в общем модуле, то уже не могу.

Petre --> Petre



Просмотр профиля

Запамятовал я, а вы еще немного "помогли"))))
В общем, примерно так.
Если стоит и клиент, и сервер, то компилируется два экземпляра общего модуля (в соответствии с директивами). При чем с клиентской стороны виден только клиентский модуль, а с серверной - серверный.
Если директива не указана - она компилируется в оба экземпляра. И как раз по причине того, что у вас была указана серверная директива (только вы привели модуль без нее, чем и сбили меня)))), она не видна из клиента.

Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія". onsamuy --> onsamuy



Просмотр профиля

Получение значения константы в модуле управляемого приложения
Появилась такая тема: нужно взять значение из логической константы в переменную и проверить его на.


Почему в модуле осталось видна только одна процедура?
Коротко: в одном модуле находится 4 процедуры. Причём три из них вызываются одной с аргументами.

Режим управляемого приложения
Всем привет. Начал осваивать 8.2. Возник вопрос. Зачем нужен режим управляемого приложения? Это.

Запуск управляемого и обычного приложения
Здравствуйте! Такой вот у меня вопрос. Имеется УТ 11 . В свойствах выставлено : основной режим.

Из модуля упр приложения вызываются клиентские функции. Вбейте свою процедуру в какой-нить общий модуль и из него вызывайте на сервере

В толстом клиенте все заработало как надо, но только сейчас попробовал в тонком - и все, при запуске выдается ошибка:
": Метод объекта не обнаружен (УстановитьКонстантыНаСервере) Общий.УстановитьКонстантыНаСервере();"

В модуле упр.приложения, запускается клиентская процедура из общего модуля, которая, в свою очередь, запускает "УстановитьКонстантыНаСервере". Неужели не вариант даже через посредника вызвать из модуля упр.прил. сервер ?
Или чего-то не догоняю ?

Галочки у модуля расставь правильно.
Вызов сервера Галочки у модуля расставь правильно.
Вызов сервера У меня один общий модуль - стоят только галочки: Клиент, Сервер, Вызов Сервера. Не работает !

BVladimir2, внимательно изучите материалы по программированию 1с-клиент-сервер. там много нюансов и с галочками, и с директивами

Добавлено через 35 секунд
и с доступом

BVladimir2, внимательно изучите материалы по программированию 1с-клиент-сервер. там много нюансов и с галочками, и с директивами

Добавлено через 35 секунд
и с доступом

А ссылку конкретную можно ? В доксы к 8.2.- те что 5 + 2 книжки глянул, там про модуль упр.приложения сказано
не больше чем в СП.

Добавлено через 9 секунд
Модуль управляемого приложения
Модуль управляемого приложения является аналогом модуля приложения, но используется для управляемого приложения. 1С:Предприятие 8 исполняется в режиме управляемого приложения, если запущен тонкий клиент, Веб-клиент или толстый клиент и при этом установлен режим управляемого приложения либо на всю конфигурацию, либо у конкретного пользователя. В модуле управляемого приложения могут располагаться объявления переменных, процедуры, функции и тело модуля. Кроме того, в модуле управляемого приложения могут располагаться предопределенные процедуры ПередНачаломРаботыСистемы, ПриНачалеРаботыСистемы, ПередЗавершениемРаботыСистемы, ПриЗавершенииРаботыСистемы, ОбработкаВнешнегоСобытия. Все процедуры и функции отрабатывают на клиенте. В процедурах и функциях модуля управляемого приложения доступны экспортные процедуры и функции общих модулей управляемого клиента, а также общих неглобальных серверных модулей. Процедуры, функции и переменные модуля управляемого приложения доступны из клиентской части модулей форм и команд.

Добавлено через 2 минуты
Пример:
Модуль управляемого приложения:

В неглобальном общем модуле: ОбщийМодуль1

В неглобальном общем модуле: ОбщийМодуль1

Если у общего модуля установлены флажки клиент,сервер и вызов сервера тогда этот пример срабатывает, если перед "МояФункция()" поставить &НаСервере - не работает, но если у общ.модуля убрать галочку "клиент" то начинает работать, ОДНАКО если вместо &НаСервере написать &НаСервереБезКонтекста - опять не работатет ! И где, блин, про это написано ?

Офтоп:
Не встречал более недружелюбной для программера среды чем 1С

Это обычная Клиент-серверная архитектура!
Код в 1С компилируется в двух (независимых) экземплярах Клиент и Сервер и они не знаю о существовании друг друга! (тоже самое что PHP + Java)

&НаСервереБезКонтекста используется только для ФОРМ (чтоб не передавать контекст формы на сервер)

P.S. Поэтому разработчики и создают отдельно Серверный общий модуль, отдельно Клиентский - в некоторых случаях создается и на сервере и на клиенте, но выполнять он тогда будет там откуда вызван!
P.P.S Про все это можно узнать почитав умные книжки (которых полно в интернете) или пройти обучение в ЦСО 1С

Добавлено через 10 минут
И чуть не забыл ВОТ - Литература по 1С программированию

Это обычная Клиент-серверная архитектура!
Код в 1С компилируется в двух (независимых) экземплярах Клиент и Сервер и они не знаю о существовании друг друга! (тоже самое что PHP + Java)

&НаСервереБезКонтекста используется только для ФОРМ (чтоб не передавать контекст формы на сервер)

P.S. Поэтому разработчики и создают отдельно Серверный общий модуль, отдельно Клиентский - в некоторых случаях создается и на сервере и на клиенте, но выполнять он тогда будет там откуда вызван!
P.P.S Про все это можно узнать почитав умные книжки (которых полно в интернете) или пройти обучение в ЦСО 1С

Офтоп:
А такие базовые вещи не должны разве писатся "большими" буквами в СинтаксисПомощнике или, уж если так лень было разработч., хотя бы в прилагаемой документации ? Или это такая политика, чтобы програмисты еще б и учится бегали на курсы по недокументированным вопросам ? Смысл тогда в 7-ми томах доксов, если все равно курсы нужны.

Курсы нужны для тех кому лень читать =)) (Или ТУГО усваивает)

Добавлено через 2 минуты
Из справки:
Модуль формы
В модуле формы доступны директивы компиляции – &НаКлиенте, &НаСервере, &НаСервереБезКонтекста, &НаКлиентеНаСервереБезКонтекста.
Модуль команды
В модуле команды доступны директивы компиляции – &НаКлиенте, &НаСервере, &НаКлиентеНаСервере.
Общий модуль
В общем модуле доступны директивы компиляции – &НаКлиенте, &НаСервере.

Добавлено через 3 минуты
Опять же из справки:
Общие модули
Общие модули располагаются в отдельной ветке дерева метаданных. Основным назначением общих модулей является содержание общих алгоритмов конфигурации, доступных из разных модулей. В общих модулях отсутствует раздел определения переменных и раздел основной программы, то есть они содержат только раздел процедур и функций (см. раздел "Структура программного модуля").

В любом общем модуле возможно объявление и описание процедур и функций, которые будут доступны в любом модуле конфигурации.

Если используется клиент–серверный вариант системы 1С:Предприятие 8, то с помощью свойств Клиент (обычное приложение), Клиент (управляемое приложение) и Сервер, а также инструкций препроцессора можно организовывать выполнение различных процедур и функций общих модулей на сервере приложения или на клиентском месте.

Если установлено свойство Клиент (обычное приложение) или Клиент (управляемое приложение), то все процедуры и функции общего модуля могут использоваться в клиентском приложении.
В контексте неглобального общего модуля с установленным свойством Клиент (обычное приложение) доступны экспортируемые переменные, процедуры и функции модуля обычного приложения.
В контексте неглобального общего модуля с установленным свойством Клиент (управляемое приложение) доступны экспортируемые переменные, процедуры и функции модуля управляемого приложения.

Важно! Свойство Клиент (обычное приложение) показывается, если в настройках конфигурации режима запуска установлен режим "Управляемое приложение и обычное приложение".

Если установлено свойство Сервер, то все процедуры и функции общего модуля могут использоваться в клиент-серверном варианте.

Если предполагается, что процедуры и функции общего модуля могут быть использованы во внешнем соединении, то следует установить свойство Внешнее соединение.
В контексте неглобального общего модуля с установленным свойством Внешнее соединение доступны экспортируемые переменные, процедуры и функции модуля внешнего соединения.

Свойство Вызов сервера разрешает вызов сервера. Свойство доступно, если установлено свойство Сервер. Если не установлено, то процедуры и функции данного модуля доступны только на сервере. Если установлено, то процедуры и функции данного модуля доступны на клиенте.

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

Повторное использование возвращаемых значений. Свойство доступно, если общий модуль не является Глобальным. Это свойство может принимать следующие значения:

Не использовать – повторное использование возвращаемых значений для функций этого общего модуля не используется;
На время вызова и На время сеанса – для общего модуля используется метод определения повторного использования данных. Суть этого метода заключается в том, что в ходе выполнения кода система запоминает параметры и результат работы функций после первого вызова функции. При повторном вызове функции с такими же параметрами, происходит возврат запомненного значения (из первого вызова) без выполнения самой функции. Если функция во время своего выполнения меняет значения параметров, то повторный вызов функции не будет это делать.
Можно выделить следующие особенности сохранения результатов вызова:

если функция выполняется на сервере и вызывается из серверного кода, то значения параметров и результат вызова запоминаются для текущего сеанса на стороне сервера;
если функция выполняется на толстом или тонком клиенте, то значения параметров и результатов вызова запоминается на стороне клиента;
если функция выполняется на стороне сервера, а вызывается из клиентского кода, то значения параметров вызова запоминаются и на стороне клиента и на стороне сервера.
Сохраненные значения удаляются:

если свойство установлено в значение На время вызова:
на стороне сервера – при возврате управления с сервера;
на стороне клиента – при завершении работы процедуры или функции встроенного языка верхнего уровня (вызванной системой из интерфейса, а не из другой процедуры или функции встроенного языка).
если свойство общего модуля установлено в значение На время сеанса:
на стороне сервера – при окончании сеанса;
на стороне клиента – при закрытии клиентского приложения.
Сохраненные значения могут быть удалены:

после долгого неиспользования (более 5 минут);
при нехватке оперативной памяти в рабочем процессе сервера;
при перезапуске рабочего процесса;
при переключении клиента на другой рабочий процесс.
После удаления значений, вызов экспортной функции выполняется как при первом вызове.


Свойство Глобальный определяет, являются ли экспортируемые методы общего модуля частью глобального контекста.
Если свойство Глобальный установлено в значение Истина, то экспортируемые методы общего модуля доступны как методы глобального контекста.

Если свойство Глобальный установлено в значение Ложь, то в глобальном контексте создается свойство с именем, соответствующим имени общего модуля в метаданных. Данное свойство доступно ТОЛЬКО для чтения. Значением данного свойства является объект ОбщийМодуль. Через данный объект доступны экспортируемые методы данного общего модуля. Таким образом, обращение к методам неглобальных общих модулей выглядит как XXXXX.YYYYY, где XXXXX – это имя свойства общего модуля, а YYYYY – имя экспортируемого метода общего модуля.

Если установлено свойство Клиент (обычное приложение), то модуль загружается в толстом клиенте в режиме обычного приложения.

Если установлено свойство Клиент (управляемое приложение), то все процедуры и функции общего модуля могут использоваться в режиме Управляемое приложения, в тонком клиенте, в веб-клиенте.

Модули с установленным свойством Клиент (обычное приложение), проверяются для режимов запуска:

Толстый клиент (обычное приложение);
Толстый клиент (обычное приложение) вариант клиент-сервер.
Модули с установленным свойством Клиент (управляемое приложение), проверяются для режимов запуска:

Толстый клиент (управляемое приложение);
Толстый клиент (управляемое приложение) вариант клиент-сервер;
Тонкий клиент;
Веб-клиент.

Читайте также: