Как сделать подсистему

Обновлено: 08.07.2024

Подсистема работает в конфигурациях 8.2 и 8.3 в толстом, тонком и WEB -клиенте (обычные и управляемые формы). Сейчас сложилась парадоксальная ситуация. Есть конфигурации, которые используют обычные формы, есть которые работают на управляемых формах, а также есть те, которые работают и так, и так. Наша подсистема позволяет работать в любом режиме, причем если будет запущена в толстом клиенте, то будет интерфейс и формы толстого клиента, если в тонком или WEB, то на управляемых формах. При этом практически не будет никакой разницы с точки зрения функциональности.

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

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

Создание информационной базы без конфигурации

Дадим информационной базе имя Салон, управляемое приложение, зададим в качестве папки информационной базы C:\Salon2, остальные параметры оставим по умолчанию.

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

Свойства новой информационной базы

Обратите внимание на то, что свойство Основной режим запуска установлено в значение Управляемое приложение, в нижней части окна свойств расположено свойство Режим совместимости, которое установлено в значение Не использовать. В данном случае оно может принимать значения Версия 8.1. и Версия 8.2.13.

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

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

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

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

Параметры функциональных опций: Содержит параметры, влияющие на функциональные опции

Хранилища настроек: Используется для сохранения и загрузки настроек.

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

Группы команд: Позволяет создавать группы для объединения команд

Элементы стиля: Позволяет создавать элементы стиля, такие, как цвет, шрифт , рамка, для организации единообразного оформления других объектов.

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

Теперь в дереве конфигурации нет следующих объектов:

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

Подсистемы – основа командного интерфейса управляемого приложения

Ранее, когда понятия командного интерфейса не существовало, подсистемы при разработке прикладных решений для 1С:Предприятие, играли вспомогательную роль. В сущности, они были нужны лишь разработчику, помогая ему структурировать конфигурацию для своих целей и автоматизировать некоторые операции . С приходом командного интерфейса подсистемы приобрели новую роль – именно на их основе строится интерфейс приложений. Поэтому с них мы и начнем работу по созданию нашей конфигурации. Так как мы будем основываться на ранее разработанной конфигурации, предназначенной для 1С:Предприятие 8.1., вспомним, какие подсистемы она содержала. Для этого можно открыть нашу старую конфигурацию и посмотреть ветвь дерева конфигурации Общие > Подсистемы, рис. 1.11. Точно так же можно будет обращаться к старой конфигурации в дальнейшем.

Подсистемы в старой информационной базе

Итак, мы видим, что в нашей старой конфигурации были созданы подсистемы:

  • Бухгалтерский учет
  • Оперативный учет материалов
  • Учет работы мастеров
  • Расчет заработной платы

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

Окно редактирования объекта

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

Зададим следующие параметры для нашей новой подсистемы:

Имя: БухгалтерскийУчет

Синоним: Бухгалтерский учет

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

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

После того, как подсистема создана, посмотрим, на что будет похожа разрабатываемая конфигурация в режиме 1С:Предприятие. Запустим ее в этом режиме из Конфигуратора, воспользовавшись комбинацией клавиш Ctrl+F5, соответствующей командой меню (Сервис > 1С:Предприятие), или кнопкой на панели инструментов Конфигурация.

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

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

Устанавливает иерархическую блок-схему, где блок Subsystem находится на одном слое и блоках, которые составляют подсистему, находятся на другом.

Держит функционально связанные блоки вместе.

Помогает сократить количество блоков, отображенных в вашем окне модели.

Устанавливает интерфейс с вводами и выводами.

Когда вы делаете копию подсистемы, та копия независима от исходной подсистемы. Чтобы снова использовать содержимое подсистемы через модель или через модели, считайте подсистемы, на которые ссылаются, модели, на которые ссылаются или подсистемы соединенными с блоком в пользовательской библиотеке. Для получения дополнительной информации смотрите, Выбирают Among Types of Model Components.

Типы подсистем

Подсистема может быть виртуальной или невиртуальной. virtual subsystem обеспечивает графическую иерархию в модели и не влияет на выполнение модели. nonvirtual subsystem выполняется как единый блок в модели.

Совет

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

Simulink ® классифицирует невиртуальные подсистемы в эти типы:

Подсистема, которая выполняется как единый блок.

Подсистема, выполнение которой включено внешним входом.

Подсистема, выполнение которой инициировано внешним входом.

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

Подсистема, выполнение которой включено и инициировано внешними входными параметрами.

Подсистема, состояния блока которой сбрасываются с внешним триггером.

Подсистема, выполнение которой включено блоком If .

Подсистема, которая повторяет выполнение во время шага времени симуляции, в то время как логическое условие верно.

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

Создайте подсистемы

Чтобы создать подсистему, вы можете:

В Редакторе Simulink дважды кликните и начните вводить тип подсистемы, затем выберите соответствующий блок из меню.

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

Перетащите блок Subsystem из Браузера Библиотеки.

Скопируйте и вставьте блок Subsystem из модели.

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



От строки меню выберите тип подсистемы, которую вы хотите создать.


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

Можно изменить тип подсистемы после создания.

Чтобы заставить подсистему выполниться как модуль, кликните по блоку Subsystem . На вкладке Subsystem выберите Is Atomic Subsystem.

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

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

Добавьте порты в подсистемы

Порты на блоке Subsystem соответствуют блокам в подсистеме.

Например, этот блок Subsystem имеет два входных порта и один выходной порт.


Подсистема содержит два блока Inport , In1 и In2 , и один блок Outport , Out1 , это соответствует портам на блоке Subsystem .


Автоматически добавить порты в блок Subsystem :

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


Перетащите линию к ребру блока Subsystem .


Соответствующие блокировки порта добавляются в подсистеме.

Совет

После автоматического создания порта метка порта на блоке Subsystem включена для быстрого редактирования. Смотрите, Метки порта Редактирования на Подсистемах.

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

Чтобы изменить местоположение порта на блоке Subsystem , перетащите порт к новому местоположению на любой стороне блока Subsystem .

По умолчанию Simulink помечает порты на блоке Subsystem . Чтобы задать, как Simulink помечает порты подсистемы:

Выберите блок Subsystem .

На вкладке Format Панели инструментов Simulink выберите одну из опций маркировки в меню Port Labels. Для получения дополнительной информации смотрите, Показывают метки порта.

Отредактируйте метки порта на подсистемах

Можно непосредственно отредактировать метки порта на этих типах блоков подсистемы:

Подсистема с маской

Стройте диаграмму подсистемы

Чтобы отредактировать метку порта на подсистеме блокируются в текущей модели:

Укажите на метку порта. Появляется интерактивный сигнал метки порта (синее поле, окружающее метку порта). Кликните по сигналу.

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

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

Editable port label cue

Сигнал селектора порта , кажется, выше сигнала метки порта указывает на информацию о метке порта (имя блокировки порта, имя сигнала, вход шины или порт подключения), который редактируется. Для портов сигнала можно отредактировать и имя блокировки порта и имя сигнала порта от метки порта. Чтобы переключиться между значениями, кликните по соответствующему значку в селекторном сигнале или используйте горячие клавиши Ctrl+1,2.

Войдите значение в метке порта выдают и нажимают Enter или Esc, или щелкают далеко.

После того, как метка порта редактируется, Simulink автоматически обновляет имя связанного порта или сигнала в подсистеме.

The updated port name inside the Subsystem

Совет

Сделать последовательную метку порта редактирует на блоке подсистемы:

Выберите порт на блоке.

Отредактируйте метку порта и нажмите Enter. Это действие включает клавиатурный набор портов.

Можно выбрать смежные порты с помощью стрелки вверх или клавиши курсора "вниз" и требуя у F2 быстрого редактирования.

Эта таблица приводит действие обновления в зависимости от типа метки порта, заданной на блоке подсистемы.

Обновляет имена элементов в подсистеме в зависимости от параметра Icon display порта.

Например, если значением параметра Icon display порта является Signal name , затем и значок на блокировке порта и имя соединенного сигнала обновляются.

Примечание

Для этого типа метки порта информация, показанная на метке порта после того, как, редактирование зависит от итогового редактирования, выполняемого на этикетке с помощью селекторного сигнала:

Если начальная метка порта показывает имя блокировки порта, и итоговое редактирование находится на имени сигнала, то параметр Icon display для базовой блокировки порта автоматически обновляется к Signal name . Так, после редактирования метка порта показывает имя сигнала по умолчанию.

Если начальная метка порта показывает имя сигнала порта, и итоговое редактирование находится на имени блокировки порта, то параметр Icon display для базовой блокировки порта автоматически обновляется к Port number . Так, после редактирования метка порта показывает имя блока по умолчанию.

Примечание

Simulink не показывает сигнал селектора порта для блоков Chart .

Редактирование меток порта на блоках Subsystem со значком маски не поддерживается.

Редактирование номеров портов от метки порта не поддерживается. Можно все еще отредактировать имя блокировки порта и предупредить об имени с помощью сигнала метки порта.

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

Метки порта подсистемы показывают имя распространенных сигналов, когда все эти условия верны:

Значением параметра Icon display для базовой блокировки порта является Signal name .

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

Распространенный сигнал имеет имя.

Сконфигурируйте подсистемы

Можно поменять имя блока Subsystem и изменить блок способ, которым вы делаете с любым другим блоком. Например, вы можете:

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

Используйте коллбэки блока, чтобы выполнить действия в ответ на действия моделирования подсистемы, такие как обработка ошибки, удаление блока или линии в подсистеме или закрытия подсистемы. Для получения дополнительной информации о свойствах блока, таких как коллбэки, смотрите Specify Block Properties.

Ограничьте подсистему доступ

Параметр полномочий Чтения-записи средств управления блоком Subsystem уровень доступа допускал подсистему.

Примечание

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

Когда подсистема хранится в пользовательской библиотеке, можно использовать параметр Read/Write permissions на родительском библиотечном блоке, чтобы управлять доступом для соединенных экземпляров блока. Пока ссылка библиотеки остается неповрежденной, ограниченный доступ может препятствовать тому, чтобы люди просмотрели или изменили содержимое подсистемы, все еще позволяя им использовать ее в модели. Для получения дополнительной информации смотрите Соединенные Блоки.

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

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

Как настроить доступ к подсистемам по ролям 1С

Видимость подсистем 1С

Настройка доступа к подсистемам 1С

Как настроить доступ к подсистемам по ролям 1С

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

1С настройка доступа к подсистемам

1С Предприятие: настройка доступа к подсистемам

1С Предприятие: настройка доступа к подсистемам по ролям

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

Читайте также: