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

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C
Начиная с платформы 8.2 (далее управляемое приложение), разработчикам стала доступна возможность самим определять, где будет выполняться код, на севере или на клиенте. Такая необходимость возникла в связи с появлением «тонкого клиента» и «веб-клиента», которые могут работать через интернет, что несомненно накладывает определенные ограничения на передачу данных.
Прежде чем переходить к основной части, сделаем предположение, что Вы уже знакомы с клиент-серверной архитектурой в 1С, если же нет, то советую предварительно с ней ознакомиться.
Директивы компиляции, что же это такое? Давайте сначала обозначим, что форма — это объект, который создается в процессе работы прикладного решения и состоит из двух частей, которые выполняются в двух контекстах, на клиенте и на сервере. Взаимодействие между частями осуществляется с помощью серверного вызова.
Так вот, директивы компиляции — это специальные ключевые слова, позволяющие указать платформе, в каком контексте необходимо выполнить процедуру или функцию.
Указывать директивы для процедур и функций можно не только в модулях форм, но и в модулях команд, а также общих модулях, однако использовать их рекомендуется только в модулях управляемых форм и в модулях команд.
&НаКлиенте
&НаСервере
&НаСервереБезКонтекста
&НаКлиентеНаСервереБезКонтекста
&НаКлиентеНаСервере
Рассмотрим их подробнее:
Директива &НаКлиенте указывает на то, что код функций/процедур будет выполняться в контексте клиентского приложения, где будут доступны только элементы, параметры и реквизиты формы.
Доступны вызовы любых процедур модуля формы.
При указании директивы &НаСервере, для процедур/функций будут доступны не только данные формы, но и возможность обращаться к данным базы. Выполнение кода будет происходить на сервере.
Обращение к процедурам на клиенте уже не доступно. Т.е., находясь на сервере, нельзя инициировать вызов клиентских процедур и функций.
Начиная с платформы 8.3.10 стала доступна возможность получать данные с клиента на сервере, используя систему взаимодействия.
Если указана директива &НаСервереБезКонтекста, это означает, что код будет выполняться на сервере, но доступа к контексту формы (реквизиты, параметры, элементы) уже не будет.
Доступны вызовы только внеконтекстных процедур и функций.
Директива &НаКлиентеНаСервереБезКонтекста необходима, если требуется выполнение процедуры/функции и на сервере и на клиенте. Данная директива используется редко, но является полезной и позволяет вместо двух процедур, для выполнения в разных контекстах, указать всего одну.
Последняя директива &НаКлиентеНаСервере по сути аналогична &НаКлиентеНаСервереБезКонтекста, но доступна она только в модуле команд.
Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C
- Модуль управляемого приложения
- Модуль обычного приложения
- Модуль сеанса
- Модуль внешнего соединения
- Общие модули
- Модули команд
- Модули менеджера
- Модуль объекта
Они могут быть различной направленности, поэтому, перед тем как настраивать новый объект, желательно определиться, что мы там будем хранить.

Правила создания общих модулей
1.1. Общие модули создаются для реализации процедур и функций, объединенных по некоторому признаку. Как правило, в один общий модуль помещаются процедуры и функции одной подсистемы конфигурации (продажи, закупки) или процедуры и функции сходного функционального назначения (работа со строками, общего назначения).
Промокоды на Займер на скидки
1.2. При разработке общих модулей следует выбирать один из четырех контекстов выполнения кода:
В таком случае гарантируется возможность вызова серверных процедур и функций с параметрами мутабельных типов (например, СправочникОбъект, ДокументОбъект и т.п.). Как правило, это:
- обработчики подписок на события документов, справочников и т.п., которые принимают в качестве параметра мутабельное значение (объект).
- серверные процедуры и функции, в которые в качестве параметра передается объект из модулей справочников, документов и пр., а также из модулей с подписками на события.
Серверные общие модули называются по общим правилам именования объектов метаданных.
Например: РаботаСФайлами, ОбщегоНазначения
В отдельных случаях для предотвращения конфликта имен со свойствами глобального контекста может быть добавлен постфикс «Сервер».
Например: РегламентныеЗаданияСервер, ОбменДаннымиСервер.
2.2. Серверные общие модули для вызова с клиента содержат серверные процедуры и функции, доступные для использования из клиентского кода. Они составляют клиентский программный интерфейс сервера приложения.
Такие процедуры и функции размещаются в общих модулях с признаком:
Серверные общие модули для вызова с клиента называются по общим правилам именования объектов метаданных и должны именоваться с постфиксом «ВызовСервера».
Например: РаботаСФайламиВызовСервера
Следует иметь в виду, что экспортные процедуры и функции в таких общих модулях не должны содержать параметров мутабельных типов (СправочникОбъект, ДокументОбъект и т.п.), так как их передача из (или в) клиентского кода невозможна.
См. также: Ограничение на установку признака «Вызов сервера» у общих модулей
2.3. Клиентские общие модули содержат клиентскую бизнес-логику ( функциональность , определенную только для клиента) и имеют признаки:
Исключение составляют случаи, когда клиентские процедуры и функции должны быть доступны только в режиме управляемого приложения (только в режиме обычного приложения или только в режиме внешнего соединения). В таких случаях, допустима иная комбинация двух этих признаков.
Клиентские общие модули именуются с постфиксом «Клиент».
Например: РаботаСФайламиКлиент, ОбщегоНазначенияКлиент
Ошибки в 1с, рассмотрение основных ошибок в 1с и их исправление
Правда, если неприятность возникает у большинства пользователей, то выпуск отзывается обратно, также переделывается объем информации, который подается дозировано.

Опции Общего модуля
- Глобальный — объявленные в модуле экспортные методы будут доступны за пределами модуля напрямую без указания имени модуля, глобальный модуль компилируется при старте системы, поэтому увеличивает время старта системы.
- Опции компиляции и доступности
- Клиент (управляемое приложение) — модуль будет скомпилирован и доступен на Клиенте
- Сервер — модуль будет скомпилирован и доступен на Сервере
- Внешнее соединение — модуль будет скомпилирован и доступен при Внешнем соединении
- Вызов сервера — делает экспортные процедуры и функции доступными для вызова из модулей исполняемых на Клиенте, предполагает возможность двунаправленного XDTO преобразования параметров и возвращаемых значений (см. подробней Передача параметров и возвращаемых значений ниже).
- Привилегированный — применим только к модулям на Сервере, отменяет контроль доступа к объектам данных, что существенно увеличивает скорость выполнения, особенно при горизонтальном разграничении доступа к записям таблицы.
- Повторное использование возвращаемых значений — позволяет ускорить выполнение функций неглобального общего модуля путем оптимизации XDTO преобразования параметров повторяющихся вызовов.
Вызов методов общего модуля из других модулей возможен, если они были определены экспортными и область компиляции метода соответствует вызывающему методу. Пример непосредственного вызова метода общего модуля:
Павел Чистов
- &Перед — перехватчик будет выполнен до того, как начнётся выполнение типового метода.
- &После — перехватчик будет выполнен после того, как выполнится типовой метод.
- &Вместо — реализует возможность полного перекрытия типового метода (типовой метод вообще не будет выполнен)
- в методе-перехватчике в произвольном месте можно вызвать типовой метод вызовом ПродолжитьВызов().
Модуль объекта
Основное назначение модуля — обрабатывать события записи объекта где и как бы оно не возникло, в т.ч. программно, а также расширять набор методов объекта.
- присутствует у Справочников, Документов, Отчетов, Обработок, ПВХ
- отсутствует у Констант, Перечислений, Журналов, Внешних источников данных
- у Регистров аналогичную роль выполняет Модуль Записи
- переменные объявленные как Экспорт доступны у объекта как реквизиты . , но в отличие от реквизита она не сохраняется при записи
- процедуры и функции описанные как Экспорт доступны у объекта как методы .()
- по неизвестной причине доступ к переменным и методам у Обработок не действует
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы
💥Принимайте участие в опросе и получайте бесплатную консультацию