дерево конфигурация пкм модуль управляемого приложения

Основные приемы работы в конфигураторе (бесплатная статья по Программированию в 1С)
из цикла статей «Первые шаги в разработке на 1С»

О чем эта статья

Эта статья является логическим продолжением цикла статей «Первые шаги в разработке на 1С». В ней описывается среда разработки на платформе 1С, которая получила название “Конфигуратор”. Изучив данный материал, вы узнаете:

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

Применимость

В статье рассматривается платформа «1С:Предприятие» версии 8.3, поэтому вся информация актуальна для текущих релизов.

Основные приемы работы в конфигураторе

Дерево объектов – это первое, с чем Вы сталкиваетесь при запуске конфигуратора.

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

Также можно использовать соответствующие кнопки.

дерево конфигурация пкм модуль управляемого приложения. image0016. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0016. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0016.

Дерево объектов конфигурации отображает: какие сущности есть в конфигурации.

дерево конфигурация пкм модуль управляемого приложения. image0024. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0024. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0024.

С помощью дерева объектов можно создавать новые элементы, редактировать, добавлять новые реквизиты и свойства.

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

дерево конфигурация пкм модуль управляемого приложения. image0043. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0043. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0043.

Возможен поиск нужного объекта по первым буквам. Курсор автоматически позиционируется на нужном объекте.

Иногда дерево объектов называют метаданными. Во встроенном языке есть специальное свойство, которое так и называется Метаданные (т.е. данные о данных).

Одна из функций конфигуратора – это выгрузка/загрузка информационной базы. При выгрузке информационной базы получается упакованный файл с расширением dt.

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

Для редактирования свойств объектов конфигурации существует три метода. Первый из них – вызов окна редактирования объекта (двойным кликом мыши).

Удобен для объектов с большим количеством свойств. Окно редактирования объекта «Документ1» представлено на рисунке.

дерево конфигурация пкм модуль управляемого приложения. image0055. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0055. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0055.

Данный метод существует не для всех объектов. Например, исключением являются константы.

Следующий метод редактирования свойств объектов – с помощью палитры свойств, которая есть у всех объектов (и у простых, и у сложных). Соответственно, ее можно вызвать для любого объекта.

Вызов осуществляется через контекстное меню, пункт Свойства объекта (комбинация клавиш Alt+Enter).

В палитре все свойства представлены в виде списка. Можно выбирать соответствующие свойства и редактировать.

Метод удобен для объектов с небольшим количеством свойств, но может быть применен для любого объекта.

дерево конфигурация пкм модуль управляемого приложения. image0064. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0064. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0064.

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

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

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

Если Вы не можете найти какое-то свойство, то, скорее всего, у Вас нажата данная кнопка.

дерево конфигурация пкм модуль управляемого приложения. image0075. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0075. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0075.

Для каждого свойства существует описание (отображается внизу окна). Описание может быть скопировано в буфер и использовано для поиска по справке.

дерево конфигурация пкм модуль управляемого приложения. image0082. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0082. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0082.

Возможно расположить категории свойств на отдельных закладках. Для включения данного режима на самой палитре свойств в контекстном меню выбирается пункт Закладками. Однако чаще удобнее работать именно списком.

дерево конфигурация пкм модуль управляемого приложения. image0094. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0094. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0094.

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

Еще один метод редактирования свойств объектов при помощи окна «Дополнительно». Для открытия этого окна выбирается объект конфигурации, затем в контекстном меню выбирается пункт Дополнительно.

дерево конфигурация пкм модуль управляемого приложения. image0103. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0103. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0103.

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

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

Аналогично можно поступать с правами доступа, функциональными опциями, настройками командного интерфейса. Для того, чтобы настроить конфигуратор, нужно в меню Сервис выбрать пункт Параметры.

дерево конфигурация пкм модуль управляемого приложения. image0115. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0115. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0115.

Откроется окно с достаточно большим количеством настроек и закладок.

На закладке Запуск 1С:Предприятия можно указать, какое приложение автоматически будет использоваться при запуске из конфигуратора (тонкий клиент, толстый клиент (управляемое приложение) и т.д.).

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

Внимание! Данная настройка влияет только на запуск из конфигуратора.

дерево конфигурация пкм модуль управляемого приложения. image0122. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0122. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0122.

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

При отладке, чтобы понять, как приложение работает на тонких каналах связи, можно настроить имитацию задержки при вызовах сервера.

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

дерево конфигурация пкм модуль управляемого приложения. image0134. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0134. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0134.

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

дерево конфигурация пкм модуль управляемого приложения. image0143. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0143. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0143.

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

дерево конфигурация пкм модуль управляемого приложения. image0153. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0153. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0153.

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

Каким образом будет выполняться Проверка, Группировка и Контекстная подсказка.

дерево конфигурация пкм модуль управляемого приложения. image0163. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0163. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0163.

На закладке Справка указывается, каким образом будет выводиться справка.

Галочками можно указать те разделы, которые интересуют.

дерево конфигурация пкм модуль управляемого приложения. image0172. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0172. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0172.

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

дерево конфигурация пкм модуль управляемого приложения. image0184. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0184. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0184.

Появится форма «Настройка поддержки». В данной форме следует нажать на кнопку Включить возможность изменения.

дерево конфигурация пкм модуль управляемого приложения. image0192. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0192. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0192.

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

Если мы все же намерены вносить изменения, требуется нажать на кнопку Да. Появится окно «Настройка правил поддержки».

дерево конфигурация пкм модуль управляемого приложения. image0203. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0203. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0203.

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

После этого нужно будет настроить правило поддержки для всей конфигурации в целом.

Для этого следует в табличной части формы «Настройка поддержки» в верхней строке (в которой указывается название конфигурации) в поле справа двойным кликом мыши вызвать форму «Настройка правил поддержки» (для данного объекта).

В появившейся форме необходимо выбрать правило Объект поставщика редактируется с сохранением поддержки и нажать на кнопку ОК.

дерево конфигурация пкм модуль управляемого приложения. image0212. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0212. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0212.

Фому «Настройка поддержки следует закрыть». В результате произведенных действий у нас появится возможность добавления новых объектов. В окне конфигурации активизируется кнопка Добавить.

дерево конфигурация пкм модуль управляемого приложения. image0222. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0222. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0222.

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

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

Если в основную конфигурацию были внесены какие-либо изменения, то в заголовке окна конфигурация появится маленькая звездочка (*).

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

дерево конфигурация пкм модуль управляемого приложения. image0231. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0231. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0231.

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

дерево конфигурация пкм модуль управляемого приложения. image0242. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0242. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0242.

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

дерево конфигурация пкм модуль управляемого приложения. image0252. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0252. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0252.

Чтобы запустить конфигурацию в пользовательском режиме можно выбрать пункт 1С:Предприятие из меню Сервис или использовать сочетание клавиш Ctrl+F5.

дерево конфигурация пкм модуль управляемого приложения. image0261. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0261. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0261.

Можно запустить конфигурацию в режиме отладки (пункт Начать отладку из меню Отладка, клавиша F5 или соответствующая кнопка командной панели).

дерево конфигурация пкм модуль управляемого приложения. image0273. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0273. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0273.

Отличие режима отладки от запуска в пользовательском режиме в том, что возможна остановка приложения в нужные моменты времени, считывание значений переменных и т.д.

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

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

Сначала для заданного сеанса в режиме 1С:Предприятие через главное меню Сервис/Параметры нужно открыть окно «Параметры» и установить галочку Отладка в текущем режиме разрешена.

На будущее можно поставить галочку Устанавливать режим разрешения отладки при запуске.

дерево конфигурация пкм модуль управляемого приложения. image0281. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0281. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0281.

После этого в конфигураторе нужно выбрать пункт Подключение из меню Отладка.

дерево конфигурация пкм модуль управляемого приложения. image0293. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0293. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0293.

При этом появится окно «Предметы отладки» со списком процессов, которые можно отлаживать. В этом списке необходимо выбрать требуемый предмет отладки (сеанс пользователя) и осуществить к нему подключение нажатием на кнопку Подключить.

дерево конфигурация пкм модуль управляемого приложения. image0302. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0302. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0302.

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

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

дерево конфигурация пкм модуль управляемого приложения. Line Breaker8. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-Line Breaker8. картинка дерево конфигурация пкм модуль управляемого приложения. картинка Line Breaker8.

PDF-версия статьи для участников группы ВКонтакте

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

дерево конфигурация пкм модуль управляемого приложения. pdf download. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-pdf download. картинка дерево конфигурация пкм модуль управляемого приложения. картинка pdf download.

Статья в PDF-формате

Вы можете скачать эту статью в формате PDF по следующей ссылке: Ссылка доступна для зарегистрированных пользователей)

Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)

Комментарии / обсуждение (14):

Есть еще один полезный прием – быстро найти в дереве метаданных редактируемый объект по Ctrl+T

Источник

Модуль приложения 1С

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

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

Подробно рассказано о модулях 1с их предназначений.

В платформе 8.2 существует два модуля приложения:
модуль управляемого приложения
• модуль обычного приложения

Модуль управляемого приложения

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

дерево конфигурация пкм модуль управляемого приложения. %D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C %D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D0%BE%D0%B3%D0%BE %D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C %D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D0%BE%D0%B3%D0%BE %D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F. картинка дерево конфигурация пкм модуль управляемого приложения. картинка %D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C %D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D0%BE%D0%B3%D0%BE %D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F.

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

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

Рассмотрим список обработчиков, который можно вызвать, нажав горячие клавиши 1С (Ctrl+Alt+P).
ПередНачаломРаботыСистемы — действие ещё не произошло (происходит запуск 1С Предприятия 8.2 но само приложение ещё не появилось на экране). Если параметр “Отказ” выставить в значение “Истина” то приложение попросту не запустится. ПриНачалеРаботыСистемы — действие уже совершилось (параметра “отказ” нет). ПередЗавершениемРаботыСистемы — приложение ещё никуда не исчезло (есть параметр “отказ”).
ПриЗавершенииРаботыСистемы — интерактивное окно уже закрылось.

Загляните в синтакс-помощник и почитайте подробней о событиях управляемого и обычного приложения.

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

Модуль обычного приложения

Модуль обычного приложения можно увидеть там же где и модуль управляемого приложения, но если он не виден тогда необходимо в параметрах конфигуратора на вкладке “Общие” опции “Редактирование конфигурации для режимов запуска” в положение “Управляемое приложение и обычное приложение”.
Как это сделать смотри в статье: Запуск обычного приложения в УТ 11.

дерево конфигурация пкм модуль управляемого приложения. %D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C %D0%BE%D0%B1%D1%8B%D1%87%D0%BD%D0%BE%D0%B3%D0%BE %D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C %D0%BE%D0%B1%D1%8B%D1%87%D0%BD%D0%BE%D0%B3%D0%BE %D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F. картинка дерево конфигурация пкм модуль управляемого приложения. картинка %D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C %D0%BE%D0%B1%D1%8B%D1%87%D0%BD%D0%BE%D0%B3%D0%BE %D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F.

События модуля обычного приложения срабатывают при запуске толстого клиента обычного приложения.
Все что было сказано для модуля управляемого приложения справедливо и для модуля обычного приложения.

События Перед… и При….

Отличие процедур ПередНачаломРаботыСистемы(Отказ) и ПриНачалеРаботыСистемы()

ПередНачаломРаботыСистемы(Отказ) — действие еще не свершилось и мы можем отказаться от его выполнения.
ПриНачалеРаботыСистемы() — действие уже свершилось, и отказаться от запуска приложения или выхода из него мы не можем.

Вот и все, спасибо за внимание с вами был 1С Программист.

Пожалуйста, оставляйте комментарии, мне важно ваше мнение.

Постовой: Оформление медицинских справок за 10 минут. Чтоб оформить справку в ГАЙ надо потратить пару дней, но есть вариант справка на права купить. Возможно и доставка справки также прилагается копия лицензий

Источник

[Расширения] Управление видимостью разделов для разных пользователей

Управление видимостью разделов для разных пользователей.

Возникла задача добавить в интерфейс БП 3.0 новые разделы, причем видно их должно быть только тем пользователям, которым это дозволено.

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

В общем, по итогам вышло так:

1. Создаём дополнительное сведение для справочника «Пользователи», например «Доступный раздел», с типом значения «Дополнительное значение». Значениями которого сделаем «Вот такой раздел» и «Совсем другой раздел».

Как сделать? Администрирование – Общие настройки – «Дополнительные реквизиты и сведения» устанавливаем одноимённый флаг, затем гиперссылка «Дополнительные сведения». Ищем справочник «Пользователи», жмём «Создать», в поле наименование пишем «Доступный раздел», жмём «Записать», потом на закладке «Значения» создаём две, поименованные выше, строки.

дерево конфигурация пкм модуль управляемого приложения. 7d59241432e3ea07fe4d98488908c313. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-7d59241432e3ea07fe4d98488908c313. картинка дерево конфигурация пкм модуль управляемого приложения. картинка 7d59241432e3ea07fe4d98488908c313.

2. Создаем расширение «СкрытьПоказатьРазделыПользователям»

дерево конфигурация пкм модуль управляемого приложения. 71efec238f704b2a9eb3352b3963ba64. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-71efec238f704b2a9eb3352b3963ba64. картинка дерево конфигурация пкм модуль управляемого приложения. картинка 71efec238f704b2a9eb3352b3963ba64.

Галки делаем как на картинке.

3. В модуле управляемого приложения расширения создаём процедуру:

Как сделать? ПКМ на первой строке расширения «Открыть модуль управляемого приложения». Туда копируем приведённый выше текст.

4. Добавляем в расширение все измерения и ресурс регистра сведений «ДополнительныеСведения»

Как сделать? В дереве конфигурации ветка «Регистры сведений» находим «ДополнительныеСведения», открываем вету «Измерения», и на каждом измерении» ПКМ выбираем «Добавить в расширение», затем это же делаем с ресурсом, получим:

дерево конфигурация пкм модуль управляемого приложения. a1dc0cb3c1428db17569fdaac61a04dd. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-a1dc0cb3c1428db17569fdaac61a04dd. картинка дерево конфигурация пкм модуль управляемого приложения. картинка a1dc0cb3c1428db17569fdaac61a04dd.

5. Добавляем в расширение два справочника, например «Контрагенты» и «Номенклатура». Добавление аналогично п.4, только никаких реквизитов не добавляем, для примера нам достаточно только справочников.

6. Создаем две подсистемы в расширении «еаю_ВотТакаяПодсистема» и «еаю_СовсемДругаяПодсистема». В состав первой добавляем справочник «Контрагенты», с состав второй «Номенклатура». В обеих подсистемах устанавливаем флаг «Включать в командный интерфейс».

7. Добавляем две роли в расширение «еаю_ВТР» и «еаю_СДР», в ревой делаем доступной подсистему «еаю_ВотТакаяПодсистема», во второй «еаю_СовсемДругаяПодсистема»

Как сделать? В конфигураторе в ветке «Роли» открываем нужную роль, и с дереве прав в ветке подсистемы устанавливаем флаг «Просмотр» для соответствующей подсистемы:

дерево конфигурация пкм модуль управляемого приложения. 5c8a54c1b9fb9754eeeeede32644ac05. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-5c8a54c1b9fb9754eeeeede32644ac05. картинка дерево конфигурация пкм модуль управляемого приложения. картинка 5c8a54c1b9fb9754eeeeede32644ac05.

8. Создаем два общих модуля еаю_ОбработчикиКлиент (галка «Клиент (Управляемое приложение)») и еаю_ОбработчикиСервер (галки «Сервер» и «Вызов сервера»)

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

дерево конфигурация пкм модуль управляемого приложения. cc390411bef77e98eae241df206af91d. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-cc390411bef77e98eae241df206af91d. картинка дерево конфигурация пкм модуль управляемого приложения. картинка cc390411bef77e98eae241df206af91d.

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

Источник

Модули в Платформе 1С:Предприятие 8.3 (бесплатная статья по Программированию в 1С 8.3) из цикла статей «Первые шаги в разработке на 1С»

О чем эта статья

Статья продолжает цикл «Первые шаги в разработке на 1С», в ней детально рассмотрены следующие вопросы:

Применимость

В статье рассматривается платформа «1C:Предприятие» 8.3.4.496. Материал актуален и для текущих релизов платформы.

Модули в «1С:Предприятие 8.3»

Модули – это те объекты, где содержится программный код.

В Платформе существует достаточно большое количество видов модулей, каждый из которых имеет свое предназначение и особенности.

Любая строка кода должна находиться в каком-либо модуле. Различают модули общего предназначения и модули объекта. Некоторые модули могут быть скомпилированы как на Клиенте, так и на Сервере, а некоторые только на Сервере.

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

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

Несмотря на одинаковое название, это две разные переменные: одна используется внутри конкретной процедуры, а другая – вне ее.

В некоторых модулях для переменных может указываться место компиляции (доступность) на Сервере или на Клиенте. Например:

дерево конфигурация пкм модуль управляемого приложения. image00111. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image00111. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image00111.

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

В принципе, директиву компиляции можно не указывать. В этом случае директивой компиляции по умолчанию является Сервер. Тем не менее, для удобства анализа программного кода рекомендуется явно указывать, где будет скомпилирована данная процедура. Порядок описания процедур никакого значения не имеет.

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

Так, например, при открытии формы элемента прежде всего выполняется раздел основной программы модуля формы.

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

Модуль приложения

Данный модуль предназначен для того, чтобы обработать события запуска приложения и завершения его работы. Например, при запуске приложения можно загружать курсы валют из Интернета. При завершении приложения можно удостовериться у пользователя о его намерениях закончить работу.

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

Это могут быть события от ридера магнитных карт, фискального регистратора. И эти события можно каким-то образом тоже обработать.

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

Модуль приложения не будет работать, если запуск программы 1С осуществляется, например, в режиме com-соединения. В этом случае окно программы не создается.

Следует отметить, что в Платформе 8.3 существует два разных модуля приложения: модуль Управляемого приложения и модуль Обычного приложения. События модуля управляемого приложения отрабатываются при запуске Тонкого и Толстого клиента Управляемого приложения и Веб-клиента.

Модуль Обычного приложения работает при запуске Толстого клиента в режиме Обычного приложения, в котором присутствует обычный командный интерфейс в виде Главного меню.

Если приложение работает и в режиме Управляемого, и в режиме Обычного приложения, то необходимо описывать процедуры-обработчики как для модуля Управляемого приложения, так и для модуля Обычного приложения.

Модуль Управляемого приложения можно выбрать из контекстного меню корневого узла конфигурации.

дерево конфигурация пкм модуль управляемого приложения. image0029. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0029. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0029.

Также этот модуль можно открыть из палитры свойств корневого элемента конфигурации.

дерево конфигурация пкм модуль управляемого приложения. image00311. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image00311. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image00311.

Чтобы открыть модуль Обычного приложения, следует обратиться к настройкам конфигурации (команда Параметры в меню Сервис).

дерево конфигурация пкм модуль управляемого приложения. image0049. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0049. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0049.

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

дерево конфигурация пкм модуль управляемого приложения. image0059. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0059. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0059.

В этом случае модуль Обычного приложения также можно будет открыть из свойств корневого узла.

дерево конфигурация пкм модуль управляемого приложения. image0069. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0069. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0069.

дерево конфигурация пкм модуль управляемого приложения. image0079. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0079. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0079.

Список событий, которые можно обрабатывать, для Управляемого и Обычного приложения одинаков.

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

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

дерево конфигурация пкм модуль управляемого приложения. image0086. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0086. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0086.

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

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

Когда выполняется обработчик события “перед”, считается, что действие еще не совершено. Когда выполняется обработчик события “при” – действие уже совершено.

Событие ПередНачаломРаботыСистемы возникает в тот момент, когда производится запуск Предприятия 8.3, но само приложение еще не появилось на экране. У данного события есть такой параметр, как Отказ.

Если этот параметр примет значение Истина, то приложение не запустится. Событие ПриНачалеРаботыСистемы предполагает, что действие уже совершено, окно уже создано, и в этом случае мы можем, например, отобразить какую-то специальную форму. От запуска отказаться уже нельзя.

Аналогично перед завершением работы системы приложение еще открыто и можно отказаться от его завершения. При завершении работы системы окно приложения уже закрылось. Возможно выполнить лишь дополнительные действия, например, по удалению каких-то файлов или отправке электронного письма.

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

Если из модуля Управляемого приложения необходимо сделать Серверный вызов, то для этого нужно будет создавать специальные Общие модули с выставленным флагом Вызов Сервера.

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

Процедуры, функции и переменные модуля приложения могут быть описаны как экспортные.

дерево конфигурация пкм модуль управляемого приложения. image0107. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0107. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0107.

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

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

Модуль внешнего соединения

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

В отличии от модуля приложения, который инициируется в момент интерактивного запуска приложения, модуль внешнего соединения работает в режиме com-соединения, т.е. когда создается объект 1С:Предприятие 8 и осуществляется подключение к определенной базе.

В этом модуле есть события: ПриНачалеРаботыСистемы и ПриЗавершенииРаботыСистемы.

дерево конфигурация пкм модуль управляемого приложения. image0125. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0125. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0125.

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

дерево конфигурация пкм модуль управляемого приложения. image0138. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0138. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0138.

дерево конфигурация пкм модуль управляемого приложения. image0146. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0146. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0146.

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

В Модуле внешнего соединения возможно описывать экспортные переменные и экспортные методы, которые будут доступны на той стороне, где происходит внешний вызов 1С:Предприятие 8.3.

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

Модуль сеанса

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

Открыть Модуль сеанса можно либо через контекстное меню, либо через палитру свойств корневого узла.

дерево конфигурация пкм модуль управляемого приложения. image0157. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0157. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0157.

дерево конфигурация пкм модуль управляемого приложения. image0167. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0167. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0167.

В Модуле сеанса предусмотрено событие УстановкаПараметровСеанса.

дерево конфигурация пкм модуль управляемого приложения. image0173. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0173. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0173.

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

В Модуле сеанса описываются различные действия по инициализации параметров сеанса в зависимости от разных условий.

В данном модуле, как правило, описываются несколько процедур, которые вызываются из процедуры УстановкаПараметровСеанса. Поэтому все эти процедуры выделены в отдельный модуль.

Модуль сеанса всегда исполняется в привилегированном режиме. Это означает, что не будет выполняться проверка прав доступа при обращении к базе данных. Модуль сеанса компилируется на Сервере, т.е. возможно обращение к любым серверным методам (в том числе и чтение значений из базы).

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

Если при запуске системы необходимо выполнить некоторые действия на Сервере, например, создать элемент какого-либо справочника, то, как вариант, возможно использовать Модуль сеанса, т.к. он компилируется на Сервере и всегда достоверно выполняется при старте системы. Однако при этом необходимо учитывать следующие моменты:

Общие модули

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

Логически связанные методы можно группировать в разные Общие модули. Эти модули создаются внутри ветки Общие.

дерево конфигурация пкм модуль управляемого приложения. image0187. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0187. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0187.

Можно добавить любое количество общих модулей. Чтобы методы Общих модулей были доступны в других местах конфигурации, необходимо их определять с ключевым словом Экспорт. Клиентские процедуры общих модулей будут доступны на Клиенте, а серверные – на Сервере.

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

Если необходима глобальная переменная, то можно использовать либо параметры сеанса, либо экспортные переменные модуля приложения.

Для Общих модулей можно задавать некоторые параметры, которые будут влиять на поведение данного модуля. Если для Общего модуля выставлено свойство Глобальный, то объявленные в данном модуле экспортные методы будут доступны из вне напрямую, без каких-либо дополнительных указаний.

Т.е. данный Общий модуль будет участвовать в формировании глобального контекста конфигурации.

дерево конфигурация пкм модуль управляемого приложения. image0194. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0194. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0194.

Свойство Глобальный для общих модулей может быть полезным. Однако не стоит его использовать повсеместно для всех общих модулей.

Те Общие модули, которые отмечены признаком Глобальный, будут компилироваться при старте системы. Чем больше таких модулей, тем медленнее программа будет стартовать.

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

Кроме того, использование глобальных общих модулей влияет на понимание кода. Вызов методов не глобального общего модуля осуществляется через имя Общего модуля и имя метода, например:
МодульРасчетаСебестоимости.РаспределитьКосвенныеЗатраты();

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

Для Общего модуля в Палитре свойств можно установить свойство Привилегированный.

дерево конфигурация пкм модуль управляемого приложения. image0205. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0205. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0205.

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

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

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

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

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

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

Бывают ситуации, когда пользователю какой-то объект должен быть недоступен, например, определенный справочник. Но при проведении какого-то одного документа обращение к данному справочнику необходимо.

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

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

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

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

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

дерево конфигурация пкм модуль управляемого приложения. image0215. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0215. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0215.

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

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

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

При этом процедура не может быть доступна в контексте, который не доступен в целом для всего модуля.

Если директиву компиляции для процедуры (функции) не указывать, то она будет скомпилирована во всех контекстах, определенных для модуля.

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

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

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

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

В названиях общих модулей рекомендуется это указывать. Например: РегламентныеПроцедурыСервер, РегламентныеПроцедурыКлиент.

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

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

дерево конфигурация пкм модуль управляемого приложения. image0224. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0224. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0224.

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

Цель данного механизма – ускорить повторные вызовы. Для настройки подобного поведения необходимо в Палитре свойств модуля выставить соответствующее значение для свойства Повторное использование возвращаемых значений.

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

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

дерево конфигурация пкм модуль управляемого приложения. image0234. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0234. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0234.

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

Тем не менее, существуют определенные временные ограничения. Очистка кэша происходит автоматически через 20 минут после попадания значения в кэш.

Модуль формы

Данный модуль предназначен для того, чтобы обработать действия пользователя. Например, описать алгоритм реакции программы при нажатии кнопки. Или, например, в момент ввода в поле значения сразу же выполнить проверку на корректность.

Кроме событий, связанных с элементами управления формы (кнопки, поля ввода) существуют события, связанные непосредственно с самой формой.

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

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

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

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

дерево конфигурация пкм модуль управляемого приложения. image0244. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0244. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0244.

Список событий управляемой формы виден также в списке свойств непосредственно для самой формы. Данный список вызывается в редакторе управляемых форм.

дерево конфигурация пкм модуль управляемого приложения. image0255. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0255. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0255.

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

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

Модуль объекта

Данные модули характерны для справочников, документов, планов видов расчетов, планов счетов и многих других объектов. Модуль объекта предназначен для обработки стандартных событий. Например, событие на ввод элемента справочника, событие на запись элемента, удаление, проведение документа и т.д.

В принципе, событие записи существует и в Модуле формы. Но событие записи в Модуле формы возникает в процессе интерактивной записи, при работе с конкретной формой.

Событие записи в Модуле объекта будет выполняться при любой записи из любой формы данного объекта. Кроме того, если объект записывается программно, в этом случае будет срабатывать событие модуля объекта.

В событии записи Модуля объекта можно встраивать все проверки на корректность записываемых данных, так как эта процедура будет отрабатывать в момент абсолютно любой записи.

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

дерево конфигурация пкм модуль управляемого приложения. image0275. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0275. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0275.

дерево конфигурация пкм модуль управляемого приложения. image0283. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0283. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0283.

дерево конфигурация пкм модуль управляемого приложения. image0294. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0294. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0294.

Ниже на рисунке представлен перечень доступных событий модуля справочника.

дерево конфигурация пкм модуль управляемого приложения. image0304. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0304. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0304.

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

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

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

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

дерево конфигурация пкм модуль управляемого приложения. image0311. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0311. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0311.

В Модуле менеджера значения можно выполнить обработку событий записи Константы и обработку проверки заполнения.

дерево конфигурация пкм модуль управляемого приложения. image0322. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0322. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0322.

Весь контекст модуля исполняется на Сервере.

Для регистров существует Модуль набора записей.

дерево конфигурация пкм модуль управляемого приложения. image0332. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0332. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0332.

В данном модуле также имеется возможность обрабатывать события записи и выполнять проверку заполнения.

дерево конфигурация пкм модуль управляемого приложения. image0341. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0341. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0341.

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

Т.е. помимо использования фиксированных методов класса объектов можно создавать для объекта дополнительные методы в Модуле объекта. В данном модуле следует описать соответствующую процедуру с ключевым словом Экспорт.

Тогда будет возможно обращаться к этой процедуре из вне. Причем данный метод будет отображаться в контекстной подсказке. Новые методы в контекстной подсказке выделяются синим шрифтом (синий значок p( ) для процедур и f( ) для функций).

дерево конфигурация пкм модуль управляемого приложения. image0351. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0351. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0351.

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

дерево конфигурация пкм модуль управляемого приложения. image0371. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0371. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0371.

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

Если необходимо использовать для объекта свойство, которое будет храниться в базе данных, следует создавать реквизит объекта.

Модуль менеджера

Данный модуль существует для многих объектов (справочники, документы, регистры и др.). Модуль открывается либо через контекстное меню для объекта, либо через Палитру свойств, либо через окно редактирования.

дерево конфигурация пкм модуль управляемого приложения. image0391. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0391. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0391.

дерево конфигурация пкм модуль управляемого приложения. image0401. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0401. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0401.

дерево конфигурация пкм модуль управляемого приложения. image041. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image041. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image041.

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

дерево конфигурация пкм модуль управляемого приложения. image0421. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0421. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0421.

Кроме этого в Модуле менеджера можно создать дополнительные методы и указать, что они являются экспортными. В этом случае возможно обращение к данным методам из вне.

Для того, чтобы выполнить данное обращение, необходимо получить тип данных СправочникМенеджер.

дерево конфигурация пкм модуль управляемого приложения. image0431. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-image0431. картинка дерево конфигурация пкм модуль управляемого приложения. картинка image0431.

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

После этого будут доступны экспортные переменные и методы Модуля объекта. Для Модуля менеджера обращение более простое, например:
Справочники.Контрагенты.ИмяМетода

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

Второе отличие в том, что МодульОбъекта вызывается в контексте конкретного элемента. Соответственно можно считать, что он применим для данного элемента (в большинстве случаев закладывается именно такая логика).

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

Но в Модуле менеджера возможно сделать более универсальный механизм, который будет печатать, в том числе, и группу элементов.

Кроме того, обращение к Модулю объекта – это все-таки более длительное действие. Поэтому решать данную задачу в модуле менеджера более предпочтительно.

На этом завершим наше знакомство с модулями в конфигурации системы «1С:Предприятие». Если подвести краткое резюме всему вышенаписанному, то в сухом остатке получаются следующие выводы:

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

Пока весь наш программный код мы рассматривали отрывочно от прикладного решения, и как правило, писали его в какой-то своей небольшой тестовой конфигурации. А вы в курсе, что «нельзя просто так взять» и начать редактировать код типовой конфигурации? Нет? Тогда в следующей статье мы все это объясним!

дерево конфигурация пкм модуль управляемого приложения. Line Breaker8. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-Line Breaker8. картинка дерево конфигурация пкм модуль управляемого приложения. картинка Line Breaker8.

PDF-версия статьи для участников группы ВКонтакте

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

дерево конфигурация пкм модуль управляемого приложения. pdf download. дерево конфигурация пкм модуль управляемого приложения фото. дерево конфигурация пкм модуль управляемого приложения-pdf download. картинка дерево конфигурация пкм модуль управляемого приложения. картинка pdf download.

Статья в PDF-формате

Вы можете скачать эту статью в формате PDF по следующей ссылке: Ссылка доступна для зарегистрированных пользователей)

Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *