Конфигурация

Построение приложения на основе модели

В систему «1С:Предприятие» заложена строгая ориентация на построение приложения на основе определенной модели.

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

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

В системе «1С:Предприятие» все приложение описывается в виде конфигурации. Конфигурация является совокупностью прикладных объектов, выбираемых из жестко определенного набора классов.

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

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

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

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

Важно, что количество классов объектов конфигурации в «1С:Предприятии 8» невелико — около двух десятков. Их легко изучить, с тем чтобы впоследствии эффективно применять для решения любых задач предметной области. Таким образом, конфигурация является не просто набором описаний объектов в определенных унифицированных терминах. Все приложение фактически состоит из объектов, четко разделенных по тем ролям, которые они играют в бизнес-приложении. Этого достаточно компактного набора вполне хватает, чтобы закрыть все потребности предметной области. Имеющимся набором прототипов система «1С:Предприятие» фактически навязывает вам стандартную модель проектирования, что позволяет существенно снизить затраты на построение и поддержку приложений.

Иерархия объектов конфигурации

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

Конфигурация

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

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

Общие объекты

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

Прикладные объекты

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

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

Подчиненные объекты метаданных

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

О дереве конфигурации можно подробнее прочитать в документации «1С:Предприятия».

Прикладные объекты конфигурации

Бизнес-процесс

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

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

О бизнес-процессах можно подробнее можно прочитать в документации «1С:Предприятия».

Внешний источник данных

Внешний источник данных предназначен для описания внешней базы данных (как реляционной, так и аналитической) информация из которой будет использоваться в «1С:Предприятии» различным образом, например, в виде отчетов или для каких-либо расчетов.

В состав внешнего источника данных могут входить таблицы реляционного источника данных и кубы аналитического источника данных.

О внешних источниках данных можно подробнее можно прочитать в документации «1С:Предприятия».

Документ

Документ предназначен для учета конкретной хозяйственной операции в привязке к дате и времени. Это позволяет устанавливать строгую временную последовательность совершения операций.

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

О документах можно подробнее можно прочитать в документации «1С:Предприятия».

Журнал документов

Журнал документов показывает документы разных видов в едином списке.

О журналах документов можно подробнее можно прочитать в документации «1С:Предприятия».

Задача

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

О задачах можно подробнее можно прочитать в документации «1С:Предприятия».

Константа

Константы предназначены для хранения постоянной (условно-постоянной) информации, характерной для всего прикладного решения в целом. Например, название организации, которое, как правило, не меняется или меняется редко.

О константах можно подробнее можно прочитать в документации «1С:Предприятия».

Нумератор

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

О нумераторах можно подробнее можно прочитать в документации «1С:Предприятия».

Обработка

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

Об обработках можно подробнее можно прочитать в документации «1С:Предприятия».

Отчет

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

Об отчетах можно подробнее можно прочитать в документации «1С:Предприятия».

Перечисление

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

О перечислениях можно подробнее можно прочитать в документации «1С:Предприятия».

План видов расчета

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

О планах видов расчета можно подробнее можно прочитать в документации «1С:Предприятия».

План видов характеристик

План видов характеристик предназначен для создания структуры хранения "реквизитов", которые задаются не на этапе разработки (заранее), а в процессе эксплуатации приложения пользователями. Таким образом, если для товаров разработчик предусмотрел только реквизиты Поставщик и Наименование, то пользователь самостоятельно может создать аналоги реквизитов (виды характеристик) Цвет, Размер и вести учет товаров в их разрезе.

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

О планах видов характеристик можно подробнее прочитать в документации «1С:Предприятия»:

План счетов

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

О планах счетов можно подробнее можно прочитать в документации «1С:Предприятия».

Последовательность

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

О последовательностях можно подробнее можно прочитать в документации «1С:Предприятия».

Регистр бухгалтерии

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

О регистрах бухгалтерии можно подробнее можно прочитать в документации «1С:Предприятия».

Регистр накопления

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

О регистрах накопления можно подробнее можно прочитать в документации «1С:Предприятия».

Регистр расчета

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

О регистрах расчета можно подробнее можно прочитать в документации «1С:Предприятия».

Регистр сведений

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

О регистрах сведений можно подробнее можно прочитать в документации «1С:Предприятия».

Справочник

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

О справочниках можно подробнее можно прочитать в документации «1С:Предприятия».

Объекты конфигурации общего назначения

HTTP-сервис

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

Об HTTP-сервисах можно подробнее можно прочитать в документации «1С:Предприятия».

Web-сервис

Web-сервис предназначен для того, чтобы описать веб-сервис, поставщиком которого является приложение «1С:Предприятия». Web-сервис содержит набор операций. Каждая операция может иметь некоторое количество параметров для передачи данных Web-сервису и получения возвращаемых значений. Типы параметров и возвращаемых значений Web-сервисов описываются с помощью механизма XDTO. Объект конфигурации Web-сервис содержит модуль, в котором располагаются процедуры, выполняемые при вызове тех или иных операций Web-сервиса.

О Web-сервисах можно подробнее можно прочитать в документации «1С:Предприятия».

WS-ссылка

WS-ссылка предназначена для описания в приложении «статической» ссылки на некоторый внешний веб-сервис стороннего поставщика. WS-ссылка представляет собой WSDL-описание веб-сервиса, импортированное из указанного источника. WS-ссылка недоступна для редактирования, однако можно просмотреть ее структуру и структуру типов данных, которые используются для описания параметров и возвращаемых значений.

О WS-ссылках можно подробнее можно прочитать в документации «1С:Предприятия».

Группа команд

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

О группах команд можно подробнее можно прочитать в документации «1С:Предприятия».

Критерий отбора

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

О критериях отбора можно подробнее можно прочитать в документации «1С:Предприятия».

Общая картинка

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

Об общих картинках можно подробнее можно прочитать в документации «1С:Предприятия».

Общая команда

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

Об общих командах можно подробнее можно прочитать в документации «1С:Предприятия».

Общая форма

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

Об общих формах можно подробнее можно прочитать в документации «1С:Предприятия».

Общий макет

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

Об общих макетах можно подробнее можно прочитать в документации «1С:Предприятия».

Общий модуль

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

Общий реквизит

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

Об общих реквизитах можно подробнее можно прочитать в документации «1С:Предприятия».

Определяемый тип

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

Об определяемых типах можно подробнее можно прочитать в документации «1С:Предприятия».

Пакет XDTO

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

О пакетах XDTO можно подробнее можно прочитать в документации «1С:Предприятия».

Параметр сеанса

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

О параметрах сеанса можно подробнее можно прочитать в документации «1С:Предприятия».

Параметр функциональных опций

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

О параметрах функциональных опций можно подробнее можно прочитать в документации «1С:Предприятия».

План обмена

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

О планах обмена можно подробнее можно прочитать в документации «1С:Предприятия».

Подписка на событие

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

О подписках на событие можно подробнее можно прочитать в документации «1С:Предприятия».

Подсистема

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

О подсистемах можно подробнее можно прочитать в документации «1С:Предприятия».

Регламентное задание

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

О регламентных заданиях можно подробнее можно прочитать в документации «1С:Предприятия».

Роль

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

О ролях можно подробнее можно прочитать в документации «1С:Предприятия».

Функциональная опция

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

О функциональных опциях можно подробнее можно прочитать в документации «1С:Предприятия».

Хранилище настроек

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

О хранилищах настроек можно подробнее можно прочитать в документации «1С:Предприятия».

Элемент стиля

Элемент стиля предназначен для единообразного оформления различных элементов формы в тех случаях, когда недостаточно того оформления, которое автоматически предлагает «1С:Предприятие».

Об элементах стиля можно подробнее можно прочитать в документации «1С:Предприятия».

Стиль

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

О стилях можно подробнее можно прочитать в документации «1С:Предприятия».

Язык

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

О языках можно подробнее можно прочитать в документации «1С:Предприятия».

Подчиненные объекты метаданных

Графа

Объект Графа используется в объектах конфигурации из класса Журнал документов. Этот объект описывает одну графу журнала документов (см. документацию «1С:Предприятия»).

Значение

Объект Значение используется в объектах конфигурации из класса Перечисление. Этот объект описывает одно значение перечисления.

Измерение

Объект Измерение используется в объектах конфигурации из классов:

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

Объект Команда используется в объектах конфигурации из классов

  • Справочник,
  • Документ,
  • Журнал документов,
  • Перечисление,
  • Отчет,
  • Обработка,
  • План видов характеристик,
  • План счетов,
  • План видов расчета,
  • Регистр сведений,
  • Регистр накопления,
  • Регистр бухгалтерии,
  • Регистр расчета,
  • Бизнес-процесс,
  • Задача,
  • План обмена,
  • Критерий отбора,
а также в подчиненных объектах метаданных из класса Таблица.
Куб

Объект Куб используется в объектах конфигурации из класса Внешний источник данных. Он описывает куб OLAP-системы.

Реквизит

Объект Реквизит используется в объектах конфигурации из классов

  • Справочник,
  • Документ,
  • Отчет,
  • Обработка,
  • План видов характеристик,
  • План счетов,
  • План видов расчета,
  • Регистр сведений,
  • Регистр накопления,
  • Регистр бухгалтерии,
  • Регистр расчета,
  • Бизнес-процесс,
  • Задача,
  • План обмена,
а также в подчиненных объектах метаданных из класса Табличная часть.

Модули

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

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

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

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

Следует различать два вида контекста:

Глобальный контекст образуется:

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

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

Модуль HTTP-сервиса

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

Модуль Web-сервиса

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

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

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

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

Объекты «1С:Предприятия», доступные извне через COM-соединение:

  • Экспортируемые процедуры/функции модуля внешнего соединения;
  • Экспортируемые процедуры/функции общих модулей:
    • Включение и исключение модулей целиком выполняются с помощью установки свойств общих модулей;
    • Включение и исключение фрагментов общих модулей выполняются с помощью инструкций препроцессора;
  • Глобальный контекст.

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

Модуль команды

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

Обработчик ОбработкаКоманды() обязательно должен предваряться инструкцией препроцессора &НаКлиенте, т. к. именно там начинается исполнение команды. Контекст клиентских процедур модуля команды образуется:

  • Глобальным контекстом, в том числе неглобальными общими модулями и экспортируемыми функциями и процедурами глобальных общих модулей, при этом нужно обеспечивать согласованность того, как описана процедура в модуле формы (&НаКлиенте, &НаСервере и т. д.), и того, какие свойства установлены у общего модуля (Клиент (управляемое приложение), Сервер и т. д.);
  • Локальным контекстом самого модуля команды.

Контекст серверных процедур модуля команды образуется:

  • Свойствами и методами глобального контекста;
  • Экспортируемыми процедурами и функциями глобальных общих модулей, если эти модули компилируются на сервере;
  • Неглобальными общими модулями, если эти модули компилируются на сервере; доступны экспортируемые методы таких модулей;
  • Серверными методами модуля команды.

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

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

Собственный модуль менеджера существует у каждого объекта конфигурации из классов Справочник, Документ, Журнал документов, Перечисление, Отчет, Обработка, План видов характеристик, План счетов, План видов расчета, Регистр сведений, Регистр накопления, Регистр бухгалтерии, Регистр расчета, Бизнес-процесс, Задача, Критерий отбора, План обмена и Хранилище настроек. Также собственные модули менеджеров есть у подчиненных объектов метаданных из классов Таблица, Куб и Таблица измерений.

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

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

Контекст модуля менеджера образуется:

  • Свойствами и методами глобального контекста;
  • Экспортируемыми процедурами и функциями глобальных общих модулей (если эти модули компилируются на сервере);
  • Экспортируемыми процедурами и функциями неглобальных общих модулей (если эти модули компилируются на сервере);
  • Локальным контекстом самого модуля.

Модуль менеджера не может иметь переменных и тела модуля.

Если функции или процедуры модуля менеджера объявлены как экспортируемые, к ним можно будет получить доступ через менеджер объекта. Например, опишем функцию в модуле менеджера справочника Контрагенты:
Функция ПолучитьСписокДебиторов() Экспорт
   …
КонецФункции
Тогда вызов этой функции из прикладного кода будет выглядеть следующим образом:
Дебиторы = Справочники.Контрагенты.ПолучитьСписокДебиторов();
Модуль менеджера значения

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

Модуль набора записей

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

Общий модуль

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

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

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

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

Таким образом, обращение к методам неглобальных общих модулей выглядит как XXXXX.YYYYY, где XXXXX — это имя свойства, соответствующее контексту общего модуля, а YYYYY — имя экспортируемого метода общего модуля. Например, обращение к экспортируемому методу ПодключитьСканерШтрихкодов()общего модуля РаботаСТорговымОборудованием будет выглядеть следующим образом:
РаботаСТорговымОборудованием.ПодключитьСканерШтрихкодов();

Если свойство Глобальный установлено в значение Истина, то экспортируемые методы общего модуля доступны как методы глобального контекста. Например, обращение к экспортируемому методу ПодключитьСканерШтрихкодов() будет выглядеть следующим образом:

ПодключитьСканерШтрихкодов();

Об общих модулях можно подробнее можно прочитать в документации «1С:Предприятия».

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

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

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

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

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

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

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

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

Например, в следующем примере аварийного завершения не произойдет:
Процедура ПриНачалеРаботыСистемы() 

   Попытка 
      а = 1/0;

   Исключение
      Сообщить("Деление на 0");

   КонецПопытки;

КонецПроцедуры
В то же время следующий пример приведет к аварийному завершению:
Процедура ПриНачалеРаботыСистемы()

   а = 1/0;

КонецПроцедуры
Процедуры и функции модуля приложения, а также переменные, для которых в заголовке указано ключевое слово Экспорт, доступны:

В контексте модуля приложения доступны:

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

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

Этот модуль всегда исполняется в привилегированном режиме сервера «1С:Предприятия» и предназначен для инициализации параметров сеанса и отработки действий, связанных с сеансом работы. Установка параметров сеанса выполняется в обработчике события УстановкаПараметровСеанса(). Вызов обработчика УстановкаПараметровСеанса() производится до вызова обработчика события ПередНачаломРаботыСистемы() (ПриНачалеРаботыСистемы() в случае модуля внешнего соединения).

При выполнении обработчика события УстановкаПараметровСеанса() может возникнуть необходимость определить, какой сеанс стартует: фонового задания или какой-либо другой. Это может потребоваться в том случае, если для объем инициализируемых данных существенно различается, например для фонового задания. Определить тип сеанса можно с помощью методов ПолучитьТекущийСеансИнформационнойБазы() и ПолучитьФоновоеЗадание(). Первый метод возвращает описание текущего сеанса ? объект СеансИнформационнойБазы. Вызов метода ПолучитьФоновоеЗадание() у полученного объекта позволит однозначно понять, стартует сеанс фонового задания или какой-либо другой сеанс.

Модуль формы

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

Контекст модуля формы будет образован:

  • Локальным контекстом модуля;
  • Реквизитами формы;
  • Свойствами, методами и событиями объекта встроенного языка ФормаКлиентскогоПриложения;
  • Свойствами, методами и событиями расширения формы, определяемого типом того объекта, данные которого содержатся в основном реквизите формы;
  • Глобальным контекстом.

Фоновые задания

Фоновые задания являются частью механизма заданий (подробнее). Они предназначены для асинхронного выполнения прикладных алгоритмов.

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

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

Стандартный интерфейс OData

Стандартный интерфейс OData — это REST интерфейс приложения, который платформа формирует автоматически. Можно опубликовать этот интерфейс на веб-сервере, и тогда внешние приложения смогут взаимодействовать с вашей информационной базой с помощью HTTP-запросов.

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

Формы

О формах можно подробнее можно прочитать в документации «1С:Предприятия».