Особенности контекста выполнения на сервере и в режиме внешнего соединения --------------------------------------------------------------------------------
При разработке кода общего модуля и модулей объектов, которые должны быть доступны на сервере и во внешнем соединении, следует соблюдать следующие правила.
1. Запрещено использование объектов, имеющих тип данных, не доступный на сервере и во внешнем соединении:
• ТабличныйДокумент
• ТекстовыйДокумент
• ДиалогВыбораФайла
• все другие типы, использование которых невозможно на сервере 1С:Предприятие и во внешнем соединении.
2. Запрещено использование средств, отвечающих за диалог с пользователем:
• Предупреждение()
• Вопрос()
• методы работы с формами и прочие, для которых специально указано (в документации), что они не доступны на сервере и/или во внешнем соединении.
3. Запрещается вызов экспортных процедур других общий модулей, у которых не установлен признак компиляции на сервере и/или во внешнем соединении.
4. Участки кода, в которых используются конструкции, не доступные на сервере или во внешнем соединении, должны выделяться соответствующими инструкциями препроцессору, например:
#Если Клиент Тогда
Сообщить(Сообщение);
#КонецЕсли
5. При написании кода модулей объектов, которые исполняются на сервере или доступны во внешнем соединении, недопустимо использовать переменные, процедуры и функции, которые определены в модуле обычного приложения и в модуле управляемого приложения.
6. Для сервера: Надо учитывать, что при передаче управления с клиента на сервер, а также в обратную сторону существует ограничение на тип передаваемых параметров. Поэтому в качестве параметров процедур(функций), а также возвращаемых значений функций, выполняемых на сервере, следует использовать значения примитивных типов, ссылки на объекты базы данных, системные перечисления, уникальный идентификатор, результат запроса, хранилище значения, таблицу значений, массив, структуру и соответствие, при этом состав передаваемых коллекций также должен удовлетворять приведенным выше ограничениям.
7. Для внешнего соединения: Текст модулей объектов следует писать таким образом, чтобы при работе во внешнем соединении (в частности, при работе WEB-приложения), обеспечивалась работоспособность всей прикладной логики, с учетом того, что часть объектов недоступна для использования во внешнем соединении, например, использование средств диалога с пользователем. Недопустимо размещать в общих модулях процедуры и функции, которые недоступны во внешнем соединении, и без которых невозможна запланированная методика использования и работы объектов.