Что разрешено разработчикам прикладных решений в системе 1с предприятие 8

Обновлено: 07.07.2024

Права доступа в 1С:Предприятии 8

В 1С:Предприятии различают два типа прав – основные и интерактивные.

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

Интерактивные – проверяются при выполнении интерактивных операций (например, операция "Установить пометку удаления").

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

Для построения защищенных прикладных решений достаточно управлять только 4-мя основными правами доступа - "Добавление" , "Чтение", "Изменение" и "Удаление".

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

Пример проверки прав из языка:

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

Рассмотрим проверку прав расширениями формы, табличного поля и поля ввода на примере документа:

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

Связанные права

Часть прав в системе 1С:Предприятия связаны друг с другом. Это означает, что основные права доступа, такие как "Чтение", "Изменение", "Добавление" и "Удаление" и некоторые другие могут влиять на права, отвечающие за такие операции с объектом, которые, в конечном счете, приведут к простейшим операциям. Например, нельзя разрешить право "Изменение", не выдав право "Чтение".

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

Зависимость прав может выстраиваться в сложные цепочки, например, у объекта "Документ" право "Интерактивная отмена проведения" зависит от прав "Отмена проведения" и "Просмотр" одновременно, где первое зависит от "Изменение", которое, в свою очередь, зависит от права "Чтение" (см. рисунок).

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

Данный продукт является технологической поставкой платформы "1С:Предприятие 8.3" и предназначен:

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

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

Программный продукт "1С:Предприятие 8.3. Технологическая поставка" включает:

  • дистрибутив платформы "1С:Предприятие 8.3";
  • документацию по платформе "1С:Предприятие 8.3";
  • лицензионное соглашение на программный продукт;
  • конверт с пинкодами для получения программной лицензии;
  • диск информационно-технологического сопровождения 1С:ИТС ПРОФ и купон на льготное сопровождение 1С:ИТС;
  • конверт с пинкодом для регистрации на сайте поддержки пользователей.

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

В поставку программного продукта входит следующая документация:

  • "1С:Предприятие 8. Инструкция по получению лицензии";
  • "1С:Предприятие 8.3. Руководство пользователя",
  • "1С:Предприятие 8.3. Руководство администратора",
  • "1С:Предприятие 8.3. Руководство разработчика" (в двух частях).

Лицензионное соглашение, входящее в поставку "1С:Предприятие 8.3. Технологическая поставка", разрешает использование данного программного продукта на одном рабочем месте:

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

Для разработки собственных прикладных решений фирма "1С" рекомендует использовать продукт "1С:Библиотека стандартных подсистем 8", публикуемый в составе 1С:ИТС.

Для использования программного продукта "1С:Предприятие 8.3. Технологическая поставка" на двух и более рабочих местах необходимо наличие у пользователя клиентских лицензий "1С:Предприятия 8" с программной или аппаратной защитой.

1С:Сценарное тестирование 8

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

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

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

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

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

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

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

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

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

Инструментарий "1С:Сценарное тестирование 8" состоит из двух внешних обработок (одна обработка предназначена для записи теста, вторая - для его выполнения), а также набора тестов (файлов в формате xml) для типовых конфигураций "1С:Предприятия 8".

"1С:Сценарное тестирование 8" могут использовать:

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

1С:Предприятие 8. Система проектирования прикладных решений

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

СППР представляет собой конфигурацию, предназначенную для использования с платформой "1С:Предприятие 8.3".

ИСПОЛЬЗОВАНИЕ СППР ПОЗВОЛЯЕТ

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

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

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

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

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

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

Система включает механизмы регистрации и отслеживания ошибок с учетом включаемых конфигураций-библиотек.

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

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

Система поддерживает работу в режиме тонкого и веб-клиента.

1С:Технология публикации решений 1cFresh

Продукт "1С:Технология публикации решений 1cFresh" предназначен для создания собственных сервисов для публикации прикладных решений на платформе "1С:Предприятие 8.2", работающих через Интернет в модели сервиса (разработанных в соответствии с технологией 1cFresh). Технология для работы "1С:Предприятия" в режиме сервиса предоставляет возможность пользователям и партнерам создавать собственные сервисы для публикации своих решений, а также прикладных решений фирмы "1С" и решений других партнеров.

Для разработки прикладных решений на платформе "1С:Предприятие 8", работающих через Интернет в модели сервиса, предназначен отдельный продукт "1С:Технология разработки решений 1cFresh". Об условиях приобретения продукта можно прочитать в информационном письме №15382 от 20.07.2012 .

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

Программное обеспечение предлагается как сервис (или как услуга), если обладает следующими признаками:

  • доступ предоставляется удаленно, по каналам Интернета;
  • программное обеспечение развертывается в виде единой системы (сервиса, инфраструктуры), с которой работают все клиенты;
  • обслуживание и обновление программного обеспечения выполняются централизованно.

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

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

Для обеспечения качества работы сервиса необходимо осуществлять постоянный мониторинг производительности системы с целью своевременной диагностики проблем производительности. Для этих целей предназначено прикладное решение "Центр контроля качества", которое входит в состав программного продукта "1С:Корпоративный инструментальный пакет 8". Об условиях приобретения продукта "1С:Корпоративный инструментальный пакет 8" можно прочитать в информационном письме №12192 от 30.07.2012 .

В поставку продукта входит дистрибутив программного продукта "1С:Технология публикации решений 1cFresh", документация в электронном виде, регистрационная карточка с Лицензионным соглашением, пинконверт для регистрации на сайте поддержки пользователей 1С:Технология разработки решений 1cFresh

На данной технологии разработаны прикладные решения, размещенные в сервисе "1С:Предприятие 8 через Интернет", которые поддерживает фирма "1С". О начале коммерческого использования сервиса "1С:Предприятие 8 через Интернет" можно прочитать в информационном письме № 15145 от 17.05.2012 .

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

Программное обеспечение предлагается как услуга (или как сервис), если обладает следующими признаками:

  • доступ предоставляется удаленно, по каналам Интернета;
  • программное обеспечение развертывается в виде единой системы (сервиса, инфраструктуры), с которой работают все клиенты;
  • обслуживание и обновление программного обеспечения выполняются централизованно.

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

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

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

Для использования продукта "1С:Технология разработки решений 1cFresh" необходимо наличие у пользователя правомерно приобретенной основной поставки "1С:Предприятия 8", включающей платформу "1С:Предприятие 8", комплект документации, регистрационную карточку и лицензионное соглашение на использование программного продукта.

Программный продукт "1С:Технология разработки решений 1cFresh" содержит набор прикладных решений, разработанных на платформе "1С:Предприятие 8":

  • Менеджер сервиса,
  • Агент сервиса,
  • демонстрационное приложение "Работа в модели сервиса".

Данные прикладные решения позволяют создавать и разворачивать решения в режиме сервиса.

1С:Предприятие. Технология создания внешних компонент

Фирма "1С" предлагает технологию создания внешних компонент (дополнительных программных модулей) для 1С:Предприятия.

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

Система программ "1С:Предприятие" является открытой системой. Для связи с другими программами можно использовать встроенные средства загрузки-выгрузки информации в текстовом формате, в форматах DBF и XML, также система поддерживает стандарт интеграции программ OLE Automation. Однако для специальных задач интеграции может потребоваться более тесное взаимодействие между 1С:Предприятием и другими программами. Для решения таких задач разработана "Технология создания внешних компонент". Данная технология позволяет создавать программы, которые будут динамически подключаться и тесно взаимодействовать с системой 1С:Предприятие, расширяя ее возможности.

Предлагаемая технология обеспечивает совместимость внешних компонент, разработанных для системы "1С:Предприятие".

Гарантия возврата денег

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

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

Права доступа в 1С:Предприятии 8

В 1С:Предприятии различают два типа прав – основные и интерактивные.

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

Интерактивные – проверяются при выполнении интерактивных операций (например, операция "Установить пометку удаления").

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

Для построения защищенных прикладных решений достаточно управлять только 4-мя основными правами доступа - "Добавление" , "Чтение", "Изменение" и "Удаление".

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

Пример проверки прав из языка:

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

Рассмотрим проверку прав расширениями формы, табличного поля и поля ввода на примере документа:

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

Связанные права

Часть прав в системе 1С:Предприятия связаны друг с другом. Это означает, что основные права доступа, такие как "Чтение", "Изменение", "Добавление" и "Удаление" и некоторые другие могут влиять на права, отвечающие за такие операции с объектом, которые, в конечном счете, приведут к простейшим операциям. Например, нельзя разрешить право "Изменение", не выдав право "Чтение".

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

Зависимость прав может выстраиваться в сложные цепочки, например, у объекта "Документ" право "Интерактивная отмена проведения" зависит от прав "Отмена проведения" и "Просмотр" одновременно, где первое зависит от "Изменение", которое, в свою очередь, зависит от права "Чтение" (см. рисунок).

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

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

image

Нативные приложения

  • STL (в частности, строки, контейнеры и алгоритмы)
  • множественное наследование, в т.ч. множественное наследование реализации
  • шаблоны
  • исключения
  • умные указатели (собственная реализация)

Компоненты

  • Разделение способствует лучшему проектированию, в частности лучшей изоляции кода
  • Из набора компонентов можно гибко собирать разные варианты поставки:
    • Например, инсталляция тонкого клиента будет содержать wbase, но не будет backend
    • а на сервере wbase, наоборот, не будет
    • оба варианта будут, конечно, содержать nuke и bsl
    • Предоставляет фабричные методы, позволяющие создать класс из другой компоненты зная только его название (без раскрытия реализации)
    • Предоставляет инфраструктуру умных указателей с подсчетом ссылок. За временем жизни SCOM-класса не нужно следить вручную
    • Позволяет узнать реализует ли объект конкретный интерфейс и автоматически привести указатель на объект к указателю на интерфейс
    • Создать объект-сервис, всегда доступный через метод get_service и т.д.

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

    Для поддержки сервисов SCOM предлагает дополнительную, достаточно сложную инфраструктуру. Центральным в ней является понятие SCOM-процесса, который служит контейнером для запущенных сервисов (т.е. выполняет роль Service Locator), а также содержит привязку к локализуемым ресурсами. SCOM процесс привязывается к потоку ОС. Благодаря этому внутри приложения можно вот так получать сервисы:

    Более, того переключая логические (SCOM) процессы привязанные к потоку, можно получить практически независимые с точки зрения информационного пространства приложения, выполняющиеся в рамках одного потока. Так устроен наш тонкий клиент, работающий с файловой базой — внутри одного процесса ОС находятся два SCOM-процесса, один связан с клиентом, а второй — с сервером. Такой подход позволяет унифицировать написания кода, который будет работать как на локальной файловой базе, так и в «настоящем» клиент-серверном варианте. Цена за такое единообразие — накладные расходы, но практика показывает, что они того стоят.

    На основе компонентной модели SCOM реализована и бизнес-логика и интерфейсная часть 1С: Предприятия.

    Пользовательский интерфейс

    Кстати, об интерфейсах. Мы не используем стандартные контролы Windows, наши элементы управления реализованы напрямую на Windows API. Для Linux-версии сделана прослойка, работающая через библиотеку wxWidgets.
    Библиотека элементов управления не зависит от других частей «1С:Предприятия» и используется нами еще в нескольких небольших внутренних утилитах.

    За годы развития 1С:Предприятие внешний вид контролов менялся, но серьезное изменение принципов произошло только один раз, в 2009 году, с выходом версии 8.2 и появлением «управляемых форм». Помимо изменения внешнего вида, фундаментально изменился принцип компоновки формы — произошел отказ от попиксельного позиционирования элементов в пользу flow-компоновки элементов. Кроме того, в новой модели элементы управления работают не напрямую с доменными объектами, а со специальными DTO (Data Transfer Objects).
    Эти изменения позволили создать веб-клиент «1С:Предприятия», повторяющий С++ логику контролов на JavaScript. Мы стараемся поддерживать функциональную эквивалентность между тонким и веб клиентами. В том случае, когда это невозможно, например, из-за ограничений доступных из JavaScript API (например, возможности работы с файлами очень ограничены), мы часто реализуем нужную функциональность при помощи расширений браузеров, написанных на C++. На данный момент мы поддерживаем Internet Explorer и Microsoft Edge (Windows), Google Chrome(Windows), Firefox (Windows и Linux) и Safari (MacOS).

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

    image


    Интерфейс 1С на ОС Linux

    image


    Интерфейс 1С на мобильном устройстве

    image


    Интерфейс 1С на ОС Windows

    image


    Интерфейс 1С — веб-клиент

    Open source

    Заключение

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

    Как реализована мобильная платформа 1С?
    Описание внутреннего устройства веб-клиента?
    Или, может быть, Вам интересен процесс выбора фич для новых релизов, разработки и тестирования?

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