Содержание:
2. Применение общих модулей 1С
3. Свойства общих модулей
1. Что такое общие модули внутри платформы системы 1С Предприятие
Общие модули внутри платформы системы 1С Предприятие – это некоторые объекты метаданных системы конфигурации 1С, которые содержат внутри себя такой код, к которому часто обращаются внутри конфигурации. При этом, если процедура или функция является экспортной, то её можно вызывать из любого места в конфигурации.
Таким образом отображается перечень общих модулей внутри платформы системы 1С Предприятие:
2. Применение общих модулей 1С
Чтобы применять общие модули 1С – необходимо взять функцию или процедуру и переместить в общий модуль 1С, но только в том случае, если эта функция или процедура вызывается два и более раз. Таким образом, общие модули 1С помогают уменьшить количество правок, при их необходимости, и упорядочить программный код 1С.
Примерами общего модуля 1С могут служить: перерасчёты по ценам и количествам, изменение валютных курсов, определение количества разницы рабочих дней и так далее.
3. Свойства общих модулей
Главное отличие общих модулей 1С от просто модулей – это отсутствие возможности создавать и пользоваться общими переменными. Пользуясь свойствами общих модулей, а также инструкцией от препроцессора – появляется возможность обустроить исполнение разнообразных методов по общим модулям 1С в выбранном смысле.
Все свойства в общем модуле 1С связаны с проверкой и выполнением этого самого модуля в разрезе разнообразных контекстов.
У общих модулей 1С в настройках есть довольно много разнообразных свойств, их перечень демонстрируется на скриншоте ниже:
Чтобы выбрать свойство для конкретного общего модуля 1С – необходимо около свойства общих модулей и их значения:
· «Клиент (управляемое приложение)» - свойство, которое разрешает задействовать любые методы из общего модуля 1С внутри толстого клиента в режиме управляемого приложения;
· «Клиент (обычное приложение)» - при выборе этого свойства, - появляется возможность задействовать код этого общего модуля 1С внутри толстого клиента, но лишь для режима обычного приложения;
· «Сервер» - если проставить «галочку» около этого пункта, то любые методы из этого модуля смогут быть выполнены из сервера;
· «Внешнее соединение» - при выборе этого свойства – код программы может исполнить некий внешний источник, при наличии соединения с ним, примером может служить COM;
· «Глобальный» - свойство общего модуля, которое отвечает за то, что процедурами и функциями в данном модуле можно будет пользоваться в глобальном смысле, а именно: обращаться к ним из любого расположения в конфигурации, не называя сам общий модуль 1С. Но, при этом, данное свойство общих модулей подразумевает появление одного условия, которое заключается в том, что все наименования методов в данном общем модуле 1С не должны дублировать те, которые уже существуют в глобальном контексте;
· «Вызов сервера» - это свойство отвечает за то, что с его наличием можно пользоваться содержимым конкретного общего модуля 1С в контексте клиента;
· «Привилегированный» - при наличии «галочки» около данного свойства – права по доступу не будут запрашиваться и проверяться для этого общего модуля 1С;
· «Повторное использование» - отвечает за выбор факторов настроек, которые отвечают за значения, которые возвращаются. В случае, когда это свойство подключено, то 1С условно запишет значение по содержимому входных параметров, как только проведётся первое выполнение, и вернёт конечное, готовое, значение. Данное свойство имеет три варианта – это «На время сеанса» - работает до тех пор, пока юзер внутри программы, «На время вызова» - работает до тех пор, пока исполняется конкретная процедура, «Не используется» - свойство полностью выключено.
В случае, если юзером 1С было выбрано более одного свойства, то это значит, что все модульные методы могут использоваться в разных разрезах. Для случая, когда в общем модуле 1С отмечено «галочкой» около пункта «Сервер» и, при этом, также «галочкой» отмечен любой другой пункт, тогда данным модулем можно будет воспользоваться и с конкретного клиента, и с сервера.
Однако, в таком случае, нужно иметь в виду, что это означает, что у нас будет несколько вариаций кода, который был скомпилирован – это количество клиентов плюс один – от серверной стороны.
Важно понимать, что если к неким функциям или процедурам, которые располагаются в этом общем модуле 1С, обратиться от клиента, тогда в ход пойдёт именно копия общего модуля с клиентской стороны, в случае же, если обращение было создано на стороне сервера, то серверная копия. Чтобы на сервере 1С программный код точно был выполнен – нужно обратиться к директивам препроцессора, которые не допускают на сервер код, который на нём не сможет выполниться.
Специалист компании "Кодерлайн"
Лев Туренко