Часто перед разработчиками и администраторами встает вопрос: подходит ли для публикации на веб-сервере только стандартная, типовая конфигурация 1С, или же можно предоставить доступ через интернет и к полностью самописным решениям? Ответ однозначный — да, публиковать можно абсолютно любую конфигурацию. Однако, чтобы результат соответствовал ожиданиям, необходимо понимать технические особенности и ограничения, которые напрямую зависят от цели публикации и архитектуры самой конфигурации.
Давайте подробно разберем, в каких случаях и как это работает, и на что обратить особое внимание.
Самая распространенная задача — предоставить пользователям возможность работать с базой 1С так же, как они это делают в офисе, но через обычный веб-браузер (Google Chrome, Mozilla Firefox и др.). Для реализации этого сценария существует одно ключевое и незыблемое правило.
Конфигурация должна быть разработана на управляемых формах.
Рассмотрим, что это значит на практике:
Полный переход старой, большой конфигурации с обычных форм на управляемые — это, по сути, переписывание всего пользовательского интерфейса, что является крайне трудоемкой задачей. Однако существует гибридный подход. Вы можете доработать существующую конфигурацию:
Таким образом, для интерактивной работы пользователей ключевым фактором является не "типовая" или "самописная", а то, используется ли технология управляемых форм.
Часто публикация на веб-сервере нужна не для работы людей, а для того, чтобы организовать автоматический обмен данными с другими программами, например, с веб-сайтом, мобильным приложением или корпоративным порталом. В этом случае пользовательский интерфейс (формы) вообще не играет никакой роли.
Для таких задач платформа 1С предоставляет мощные механизмы, которые работают в любой конфигурации, независимо от типа форм.
Это стандартный способ для программного взаимодействия. Вы можете создать в своей самописной конфигурации (даже на обычных формах) объект Веб-сервис. В нем вы описываете операции (функции), которые будут доступны извне.
Посмотрим на пример. Допустим, нам нужно, чтобы интернет-магазин мог запрашивать актуальные остатки товаров. В 1С мы можем создать веб-сервис StockService с одной операцией GetStockBalance, которая принимает на вход артикул товара, а возвращает его остаток на складе. После публикации этого веб-сервиса сайт сможет отправлять к нему запросы и получать нужные данные в режиме реального времени. Тип форм в конфигурации при этом совершенно не важен.
Это более гибкий и современный механизм интеграции, работающий по принципам REST API. Он также не зависит от пользовательского интерфейса. С помощью HTTP-сервисов вы можете организовать произвольный обмен данными по протоколу HTTP, обрабатывая GET, POST, PUT, DELETE запросы. Это позволяет создавать очень гибкие и мощные интеграционные решения, например, для приема заказов с сайта в формате JSON.
При публикации базы в окне "Публикация на веб-сервере" вы можете явно указать, что именно вы хотите опубликовать: доступ для клиентских приложений, веб-сервисы или HTTP-сервисы. Можно опубликовать только что-то одно, например, только веб-сервисы для интеграции, не предоставляя пользователям доступ к интерфейсу.
Независимо от типа конфигурации, для успешной публикации необходимо выполнить ряд обязательных технических шагов. Процесс одинаков как для типовых, так и для самописных решений.
usr1cv8 или IUSR), нужно предоставить необходимые права:
C:\Program Files\1cv8\).1Cv8.1CD.Итог: возможность публикации самописной конфигурации на веб-сервере не вызывает сомнений. Главный вопрос, на который вы должны ответить перед началом работы: для чего нужна эта публикация? Если для интерактивной работы пользователей в браузере — проектируйте решение на управляемых формах. Если же для обмена данными с другими системами — смело используйте веб-сервисы или HTTP-сервисы, не обращая внимания на тип форм в конфигурации.