Можно ли опубликовать самописную конфигурацию 1С на веб-сервере?

Программист 1С v8.3 (Управляемые формы)
← На главную

Часто перед разработчиками и администраторами встает вопрос: подходит ли для публикации на веб-сервере только стандартная, типовая конфигурация 1С, или же можно предоставить доступ через интернет и к полностью самописным решениям? Ответ однозначный — да, публиковать можно абсолютно любую конфигурацию. Однако, чтобы результат соответствовал ожиданиям, необходимо понимать технические особенности и ограничения, которые напрямую зависят от цели публикации и архитектуры самой конфигурации.

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

Сценарий 1: Доступ для пользователей через браузер (веб-клиент)

Самая распространенная задача — предоставить пользователям возможность работать с базой 1С так же, как они это делают в офисе, но через обычный веб-браузер (Google Chrome, Mozilla Firefox и др.). Для реализации этого сценария существует одно ключевое и незыблемое правило.

Конфигурация должна быть разработана на управляемых формах.

Рассмотрим, что это значит на практике:

Что делать, если конфигурация на обычных формах?

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

  1. В свойствах конфигурации в Конфигураторе включить режим использования управляемых форм наряду с обычными (свойство "Использовать управляемые формы в толстом клиенте в обычном режиме").
  2. Создать несколько новых управляемых форм для конкретных, узких задач. Например, основной функционал для бухгалтеров останется на обычных формах для работы в офисе, а для менеджеров по продажам или клиентов можно создать специальный интерфейс на управляемых формах для ввода заказов или просмотра отчетов через веб.

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

Сценарий 2: Доступ для интеграции с другими системами

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

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

Веб-сервисы (Web-services)

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

Посмотрим на пример. Допустим, нам нужно, чтобы интернет-магазин мог запрашивать актуальные остатки товаров. В 1С мы можем создать веб-сервис StockService с одной операцией GetStockBalance, которая принимает на вход артикул товара, а возвращает его остаток на складе. После публикации этого веб-сервиса сайт сможет отправлять к нему запросы и получать нужные данные в режиме реального времени. Тип форм в конфигурации при этом совершенно не важен.

HTTP-сервисы

Это более гибкий и современный механизм интеграции, работающий по принципам REST API. Он также не зависит от пользовательского интерфейса. С помощью HTTP-сервисов вы можете организовать произвольный обмен данными по протоколу HTTP, обрабатывая GET, POST, PUT, DELETE запросы. Это позволяет создавать очень гибкие и мощные интеграционные решения, например, для приема заказов с сайта в формате JSON.

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

Общие технические требования для публикации

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

  1. Установить веб-сервер. На сервере, где находится база 1С (или на отдельном сервере), должен быть установлен и настроен веб-сервер. Наиболее популярные варианты — Apache или Microsoft Internet Information Services (IIS).
  2. Установить компоненты платформы 1С. При установке технологической платформы "1С:Предприятие" на сервере необходимо убедиться, что выбран компонент "Модули расширения веб-сервера". Без этого компонента публикация невозможна.
  3. Выполнить публикацию. Публикация выполняется из режима "Конфигуратор" через меню "Администрирование" -> "Публикация на веб-сервере...". В открывшемся окне нужно указать имя публикации, выбрать веб-сервер и каталоги, а также отметить флажками, какие сервисы (клиенты, веб-сервисы, HTTP-сервисы) вы хотите опубликовать.
  4. Настроить права доступа. Это критически важный шаг. Пользователю операционной системы, от имени которого работает служба веб-сервера (например, usr1cv8 или IUSR), нужно предоставить необходимые права:
    • Права на чтение каталога с установленной платформой 1С (например, C:\Program Files\1cv8\).
    • Если база файловая, то нужны полные права (чтение, запись, изменение) на каталог с файлом базы данных 1Cv8.1CD.

Итог: возможность публикации самописной конфигурации на веб-сервере не вызывает сомнений. Главный вопрос, на который вы должны ответить перед началом работы: для чего нужна эта публикация? Если для интерактивной работы пользователей в браузере — проектируйте решение на управляемых формах. Если же для обмена данными с другими системами — смело используйте веб-сервисы или HTTP-сервисы, не обращая внимания на тип форм в конфигурации.

← На главную