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