Запуск клиентских приложений «1С:Предприятия»

Тонкий клиент

Тонкий клиент — это клиентское приложение «1С:Предприятия», программа, работающая на компьютере пользователя и обеспечивающая интерактивное взаимодействие пользователя c информационной базой (файловый вариант работы) или с кластером серверов «1С:Предприятия» (клиент-серверный вариант работы).

Приложение тонкого клиента — 1cv8c.exe.

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

Рис. 1. Тонкий клиент, клиент-серверный вариант работы

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

Рис. 2. Тонкий клиент, подключение через Интернет

Веб-клиент

Веб-клиент — это клиентское приложение «1С:Предприятия», программа, работающая на компьютере пользователя и обеспечивающая интерактивное взаимодействие c информационной базой (файловый вариант работы) или с кластером серверов «1С:Предприятия» (клиент-серверный вариант работы). Взаимодействие осуществляется через веб-сервер (Apache или Internet Information Services), на котором информационная база должна быть заранее опубликована.

Веб-клиент не требует какой-либо предварительной установки на компьютер. В отличие от толстого и тонкого клиентов, он исполняется не в среде операционной системы компьютера, а в среде интернет-браузера (Internet Explorer, Mozilla Firefox, Google Chrome или Safari). Поэтому пользователю достаточно всего лишь запустить свой браузер, ввести адрес веб-сервера, на котором опубликована информационная база — и веб-клиент «сам приедет» к нему на компьютер и начнет исполняться.

Толстый клиент

Толстый клиент — это клиентское приложение «1С:Предприятия», программа, работающая на компьютере пользователя и обеспечивающая интерактивное взаимодействие c информационной базой (файловый вариант работы) или с кластером серверов «1С:Предприятия» (клиент-серверный вариант работы).

Приложение толстого клиента — 1cv8.exe.

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

Рис. 3. Толстый клиент, клиент-серверный вариант работы

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

Внешнее соединение

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

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

Например, на языке MS Visual Basic подключение можно выполнить следующим образом:
Dim cntr As Object      'Менеджер COM-соединений
Dim extconn As Object   'Внешнее соединение

Set cntr = CreateObject("V83.COMConnector") 
Set extconn = cntr.Connect("File=""c:\InfoBases\Trade""; Usr=""Director"";")  
На встроенном языке «1С:Предприятия» подключение можно выполнить следующим образом:
// Создать менеджер COM-соединений
МенеджерCOMСоединений = Новый COMОбъект("V83.COMConnector");

// Установить соединение с информационной базой
ВнешнееСоединение = МенеджерCOMСоединений.Connect("Srvr=""TestSrv"";Ref=""TestBase""");

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

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

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

В процессе запуска приложения 1C:EDT выполняет следующие операции:

  1. Соединяется с информационной базой, чтобы убедиться в том, что конфигурация в проекте и конфигурация в базе идентичны. Чтобы соединиться с базой 1C:EDT запускает платформу той версии, которая указана в настройках доступа к базе;
  2. Если конфигурации отличаются, то 1C:EDT обновит конфигурацию в базе:
    • Конфигурацию из проекта (либо всю, либо только изменения) загрузит в базу;
    • Обновит основную конфигурацию базы; если для этого потребуется реструктуризация базы данных, 1C:EDT покажет информационное сообщение, требующее вашего подтверждения;
  3. Запустит клиентское приложение. Для запуска клиентского приложения 1C:EDT использует ту версию платформы, которая указана в конфигурации запуска — Поле «Приложение: Версия».

Конфигурации запуска

Конфигурации запуска — это набор параметров, которые 1C:EDT использует для запуска прикладных решений. Основными параметрами, необходимыми для запуска, являются:

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

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

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

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

Разные версии платформы для запуска одной конфигурации

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

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

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

Выбор версии платформы для обновления, запуска и работы в конфигураторе

1C:EDT может работать с разными версиями платформы «1С:Предприятие» (подробнее). Для проекта можно указать только шаблон версии платформы. Информационные базы могут быть рассчитаны на работу с конкретной версией платформы или с диапазоном версий. Как в этой ситуации 1C:EDT «понимает», какую версию платформы использовать?

Основной версией платформы, которую 1C:EDT использует для работы с базой, является та, которая указана в настройках доступа к базе.

Там можно указать конкретную версию платформы, и тогда 1C:EDT использует именно ее.

Кроме того, там может быть указана маска версии — чаще всего именно так и есть. В этом случае 1C:EDT выберет самую старшую версию платформы, которая соответствует этой маске. Если вы не хотите, чтобы использовалась самая старшая версия, соответствующая маске, то можете указать конкретную версию платформы, которая будет использоваться при выборе этой маски (подробнее).

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

Серверные компоненты есть только у «средней» версии 2505. Как в этом случае 1C:EDT будет работать с серверной базой?

Импорт конфигурации из базы

При импорте конфигурации можно указать только маску версии платформы — <8.3.10> (подробнее). 1C:EDT будет использовать старшую версию, соответствующую этой маске, — 8.3.10.2753. Но у этой версии нет серверных компонентов, поэтому такой импорт закончится неудачей.

Чтобы выполнить его успешно, нужно перед импортом назначить маске <8.3.10> конкретную версию — 8.3.10.2505 (подробнее), выполнить импорт, а затем вернуть маску в исходное состояние.

Экспорт конфигурации из проекта в базу, обновление конфигурации

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

В рассматриваемом примере после импорта конфигурации 1C:EDT автоматически установит здесь ту маску, которую вы выбирали для проекта при импорте, — <8.3.10>. А значит для экспорта и обновления конфигурации 1C:EDT будет использовать старшую версию — 8.3.10.2753.

Запуск приложения по умолчанию

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

Для запуска 1C:EDT выберет ту версию платформы, которая указана в настройках доступа к базе — 8.3.10.2505.

Создание конфигурации запуска и запуск приложения

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

Дело в том, что перед запуском 1C:EDT должна обновить конфигурацию в запускаемой информационной базе (подробнее). Как минимум она должна убедиться в том, что конфигурации в проекте и в базе идентичны. А для этого 1C:EDT будет использовать ту версию платформы, которая указана в настройках доступа к базе.

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

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

Запуск конфигуратора

Не покидая 1C:EDT можно запустить конфигуратор «1С:Предприятия» для любой базы.

Если база связана с проектом, то для взаимодействия с ней 1C:EDT, еще при своем запуске, запускает конфигуратор в режиме агента. При этом 1C:EDT использует ту версию платформы, которая указана в настройках доступа к базе. Чтобы запустить конфигуратор «для вас», 1C:EDT завершает процесс, запущенный в режиме агента, и запускает конфигуратор той же версии.

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

Если база не связана ни с одним проектом, то для запуска конфигуратора 1C:EDT будет использовать версию платформы, подобранную в соответствии с той маской, которая указана в свойстве Версия платформы этой базы (см. панель Свойства).

Чтобы изменить эту маску, нажмите Открыть в контекстном меню базы (подробнее).

Создание новой базы

Находясь в 1C:EDT можно создать новую базу. Для создания базы 1C:EDT будет использовать ту версию платформы, которую вы выберите в мастере (п. 7).