Найти в Дзене

Я_программист_1С. Понятие общих модулей на платформе 1С.

Сегодня на собеседовании на должность системного аналитика, мне сказали, что знание общих модулей на платформе 1С необходимо (кто ж поспорит, но, наверное, больше программисту необходимо). В путь! (сертификат не за горами, системный консультант). Общие модули 1С — объект метаданных конфигурации 1С 8.3, который хранит в себе программный код, который часто вызывается в конфигурации. Функцию/процедуру можно вызвать из любого места конфигурации (если она экспортная). Заранее предупреждаю, что при доработке общих модулей рекомендуется использовать механизм расширений. Использование общего модуля в разработке Хороший тон — поместить процедуру или функцию  в общий модуль, если она вызывается в более чем одном месте. Во-первых, если процедура корректируется, её надо править только в одном месте. Во-вторых, этим достигается больший порядок в коде. Типичный пример общего модуля — обработка проведения по какому-то регистру, получение количества разницы рабочих дней, пересчет курсов валют, перес
Оглавление

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

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

Заранее предупреждаю, что при доработке общих модулей рекомендуется использовать механизм расширений.

Использование общего модуля в разработке

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

Во-первых, если процедура корректируется, её надо править только в одном месте.

Во-вторых, этим достигается больший порядок в коде.

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

Свойства общих модулей

Одно из основных особенностей общих модулей от других модулей — нельзя объявлять общие переменные.

Палитра свойств общего модуля.

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

Рекомендую к прочтению книгу:

Расширения конфигурации. Как адаптировать прикладные решения при внедрении.

Разработка в системе 1С:Предприятие 8.3. Издание 2.

Раздел Доработка модулей в расширении.

автор Е.Ю.Хрусталева, серия Библиотека специалиста по внедрению.