Смотреть что такое "веб-клиент" в других словарях. Настройка веб-серверов для работы с «1С:Предприятием Настройка операционной системы

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

Схема и принцип работы веб клиента 1С

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

К основным преимуществам такого режима работы можно отнести:

  • Не требуется установка дополнительных приложений на клиентской части структуры;
  • Достаточно просто реализуется с технической точки зрения;
  • Можно обеспечить доступ к базе из любого места, где есть интернет;
  • Практически любая операционная система: Windows, iOS, *nix – овые системы могут выступать в качестве рабочей среды.

Для установки веб-сервера под 1С чаще всего используются:

  • Продукт компании Microsoft — IIS (Internet Information Services);
  • Apache сервер.

Особенности настройки и установки IIS

На всех современных компьютерах, с установленной операционной системой Windows есть возможность поднять IIS сервер. Эта возможность включена в стандартную поставку.

Для того чтобы это сделать, необходимо обладать правами администратора. В «Панели управления» необходимо зайти в «Программы и компоненты», если операционка версии 7 и выше, либо в пункт «Установка и удаление программ» для XP.

Установка веб-сервера на слабый компьютер может привести к значительным провалам в скорости работы всей системы. Поэтому этапы установки IIS из под XP мы дальше рассматривать не будем.

Следующим действием будет вызов меню «Включение или отключение компонентов Windows».

Чтобы долго не колесить по «Панели управления» в поисках необходимого подменю, можно воспользоваться поиском, окно которого расположено в правой части окна. Набрав слово «компонент» Вы сразу же обнаружите необходимую ссылку.

Всплывшее окно будет иметь вид, представленный на рис.2.

В выпавшем дереве необходимо проставить флажки в ветвях Службы IIS->Службы интернета:

  1. Общие функции HTTP: Статическое содержимое, Обзор каталогов, Документ по умолчанию, Ошибки HTTP;
  2. Проверка работоспособности и диагностика: Монитор запросов, Ведение журнала HTTP;
  3. Разработка приложений: Фильтры ISAPI, Расширения ISAPI, Расширяемость.NET5, ASP.NET, ASP;
  4. Средства управления: Консоль управления.

То есть, фактически должно появиться подобное рис. 3.

Особенности настройки и установки Apache

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

Ниже будет рассмотрен вариант установки и настройки этой программы на операционной системе Windows 7.

До открытия окна, представленного на Рис. 4, установка программы ничем не отличается от любой другой инсталляции.

Здесь необходимо будет прописать:

  1. Имя сервера;
  2. Имя домена;
  3. Адрес электронной почты администратора, на который будут приходить оповещения.

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

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

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

Установка веб клиента и веб сервера 1С

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

  1. Заходим с административными правами в режим Конфигуратор;
  2. Находим пункт меню Администрирование;
  3. Нажимаем Публикация на веб сервере.

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

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

Все остальные флажки в настройках лучше оставить по умолчанию. Нажимаем кнопку «Опубликовать», разрешаем перезапуск сервера, получаем готовый продукт.

Забив в браузере строку вида http:// имя вашего сервера/ имя данное базе, можно проверить качество выполненной работы.

Кроме работы через web-клиент, публикация на web-сервере поддерживает и другие варианты работы. Запустить работу через приложение, установленное на клиентском компьютере, можно просто добавив базу в список выбора, открываемом при запуске программы.

Поставив переключатель в положение «На веб-сервере» и заполнив адресную строку базы, Вы получите необходимый доступ.

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

Некоторые минусы web-клиента

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

  • В первую очередь существенно различается политика в области лицензирования. Web-клиенту не доступны локальные лицензии, установленные на ПК;
  • Многие организации очень трепетно относятся к информации, хранящейся в базе. Веб-сервер, доступный из любой точки всемирной паутины, крайне уязвим;
  • Работа через веб-клиент имеет значительные ограничения по использованию файловой системы, обменами данными, электронкой.

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

Одной из приятных особенностей технологии 1С:Предприятие является то, что прикладное решение, разработанное по технологии управляемых форм, может запускаться как в тонком (исполняемом) клиенте под Windows, Linux, MacOS X, так и как веб-клиент под 5 браузеров – Chrome, Internet Explorer, Firefox, Safari, Edge, и все это – без изменения исходного кода приложения. Более того – внешне приложение в тонком клиенте и в браузере функционирует и выглядит практически идентично.
Найдите 10 отличий (под катом 2 картинки):

Окно тонкого клиента на Linux:

То же окно в веб клиенте (в браузере Chrome):

Зачем мы сделали веб-клиент? Говоря несколько пафосно, такую задачу перед нами поставило время. Уже давно работа через Интернет стала необходимым условием для бизнес-приложений. Вначале мы добавили возможность работы через Интернет для нашего тонкого клиента (некоторые наши конкуренты, кстати, на этом и остановились; другие, напротив, отказались от тонкого клиента и ограничились реализацией веб-клиента). Мы же решили дать нашим пользователям возможность выбрать тот вариант клиента, который им подходит больше.

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

Постановка задачи

Итак, требования к проекту: веб-клиент должен делать то же самое, что и тонкий клиент, а именно:
  1. Отображать пользовательский интерфейс
  2. Исполнять клиентский код, написанный на языке 1С
Пользовательский интерфейс в 1С описывается в визуальном редакторе, но декларативно, без попиксельной расстановки элементов; используется около трех десятков типов элементов интерфейса - кнопки, поля ввода (текстовые, цифровые, дата/время), списки, таблицы, графики и т.д.

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

И тонкий клиент (при работе через веб), и веб-клиент пользуются одним и тем же набором веб-сервисов для общения с сервером приложений 1С. Реализация у клиентов, конечно, разная – тонкий клиент написан на С++, веб-клиент – на JavaScript.

Немного истории

Проект создания веб-клиента стартовал в 2006 году, в нем (в среднем) участвовала команда из 5 человек. На отдельных этапах проекта привлекались разработчики для реализации специфической функциональности (табличного документа, диаграмм и т.д.); как правило, это были те же разработчики, что делали эту функциональность в тонком клиенте. Т.е. разработчики заново писали на JavaScript компоненты, ранее созданные ими на C++.

С самого начала мы отвергли идею какой-либо автоматической (хотя бы частичной) конверсии C++ кода тонкого клиента в JavaScript веб-клиента ввиду сильных концептуальных различий этих двух языков; веб-клиент писался на JavaScript с чистого листа.

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

Первая версия платформы 1С:Предприятие с поддержкой веб-клиента вышла в 2009 году. Веб-клиент на тот момент поддерживал 2 браузера – Internet Explorer и Firefox. В первоначальных планах была поддержка Opera, но из-за непреодолимых на тот момент проблем с обработчиками закрытия приложения в Opera (не удавалось со 100%-ной уверенностью отследить, что приложение закрывается, и в этот момент произвести процедуру отключения от сервера приложений 1С) от этих планов пришлось отказаться.

Структура проекта

Всего в платформе 1С:Предприятие есть 4 проекта, написанных на JavaScript:
  1. WebTools – общие библиотеки, используемые остальными проектами (сюда же мы включаем Google Closure Library).
  2. Элемент управления ФорматированныйДокумент
  3. Элемент управления Планировщик (реализован на JavaScript и в тонком клиенте, и в веб-клиенте)
  4. Веб-клиент
Структура каждого проекта напоминает структуру Java-проектов (или.NET проектов – кому что ближе); у нас есть неймспейсы, и каждый неймспейс лежит в отдельной папке. Внутри папки лежат файлы и классы неймспейса. В проекте веб-клиента около 1000 файлов.

Структурно веб-клиент по-крупному разделяется на следующие подсистемы:

  • Управляемый интерфейс клиентского приложения
    • Общий интерфейс приложения (системные меню, панели)
    • Интерфейс управляемых форм, включающий, в том числе, около 30 элементов управления (кнопки, различные типы полей ввода – текстовые, цифровые, дата/время и пр., таблицы, списки, графики и т.д.)
  • Объектная модель, доступная разработчикам на клиенте (всего более 400 типов: объектная модель управляемого интерфейса, настройки компоновки данных, условного оформления и пр.)
  • Интерпретатор встроенного языка 1С
  • Расширения браузеров (используются для функциональности, не поддерживаемой в JavaScript)
    • Работа с криптографией
    • Работа с файлами
    • Технология внешних компонент, позволяющая их использовать как в тонком, так и веб-клиенте

Особенности разработки

Реализация всего вышеописанного на JavaScript – дело непростое. Возможно, веб-клиент 1С – одно из самых больших client-side приложений, написанных на JavaScript – около 450.000 строк. Мы активно используем в коде веб-клиента объектно-ориентированный подход, упрощающий работу с таким большим проектом.

Для минимизации размера клиентского кода мы вначале использовали свой собственный обфускатор, а начиная с версии платформы 8.3.6 (октябрь 2014) стали использовать Google Closure Compiler . Эффект использования в цифрах – размер фреймворка веб-клиента после обфускации:

  • Собственный обфускатор – 1556 кб
  • Google Closure Compiler – 1073 кб
Использование Google Closure Compiler помогло нам повысить быстродействие веб-клиента на 30% по сравнению с нашим собственным обфускатором. Кроме того, на 15-25% (в зависимости от браузера) снизился объем памяти, потребляемой приложением.

Google Closure Compiler очень хорошо работает с объектно-ориентированным кодом, поэтому его эффективность именно для веб-клиента максимально высокая. Closure Compiler делает для нас несколько хороших вещей:

  • Статическая проверка типов на этапе сборки проекта (обеспечивается тем, что мы покрываем код аннотациями JSDoc). В итоге получается статическая типизация, очень близкая по уровню к типизации в С++. Это помогает отловить достаточно большой процент ошибок на стадии компиляции проекта.
  • Уменьшение размера кода через обфускацию
  • Ряд оптимизаций выполняемого кода, например, такие как:
    • inline-подстановки функций. Вызов функции в JavaScript – достаточно дорогая операция, и inline-подстановки часто используемых небольших методов существенно ускоряют работу кода.
    • Подсчет констант на этапе компиляции. Если выражение зависит от константы, в него будет подставлено фактическое значение константы
В качестве среды разработки веб-клиента мы используем WebStorm.

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

Какие задачи решали/решаем

В ходе реализации проекта мы столкнулись с рядом интересных задач, которые нам пришлось решать.

Обмен данными с сервером и между окнами

Существуют ситуации, когда обфускирование исходного кода может помешать работе системы. Код, внешний по отношению к исполняемому коду веб-клиента, вследствие обфускации может иметь имена функций и параметров, отличающиеся от тех, которые наш исполняемый код ожидает. Внешним кодом для нас является:
  • Код, приходящий с сервера в виде структур данных
  • Код другого окна приложения
Чтобы избежать обфускации при взаимодействии с сервером мы используем тэг @expose:

/** * @constructor * @extends {Base.SrvObject} */ Srv.Core.GenericException = function () { /** * @type {string} * @expose */ this.descr; /** * @type {Srv.Core.GenericException} * @expose */ this.inner; /** * @type {string} * @expose */ this.clsid; /** * @type {boolean} * @expose */ this.encoded; }
А чтобы избежать обфускации при взаимодействии с другими окнами мы используем так называемые экспортируемые интерфейсы (интерфейсы, у которых все методы являются экспортируемыми).

/** * Экспортируемый интерфейс контрола DropDownWindow * * @interface * @struct */ WebUI.IDropDownWindowExp = function(){} /** * Перемещает выделение на 1 вперед или назад * * @param {boolean} isForward * @param {boolean} checkOnly * @return {boolean} * @expose */ WebUI.IDropDownWindowExp.prototype.moveMarker = function (isForward, checkOnly){} /** * Перемещает выделение в начало или конец * * @param {boolean} isFirst * @param {boolean} checkOnly * @return {boolean} * @expose */ WebUI.IDropDownWindowExp.prototype.moveMarkerTo = function (isFirst, checkOnly){} /** * @return {boolean} * @expose */ WebUI.IDropDownWindowExp.prototype.selectValue = function (){}

We used Virtual DOM before it became mainstream)

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

Оптимизация работы веб-клиента

Чтобы наш веб-клиент работал быстрее, мы по максимуму стараемся задействовать штатные возможности браузера (CSS и т.п.). Так, командная панель формы (расположенная практически на каждой форме приложения) отрисовывается исключительно средствами браузера, динамической версткой на базе CSS.

Тестирование

Для функционального тестирования и тестирования производительности мы используем инструмент собственного производства (написанный на Java и C++), а также набор тестов, построенных на базе Selenium .

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

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


Наш инструмент тестирования и тестируемое приложение

Наш инструмент и Selenium дополняют друг друга; например, если какая-то кнопка на одном из экранов поменяла свое местоположение – Selenium это может не отследить, но наш инструмент заметит, т.к. делает попиксельное сравнение скриншота с эталоном. Также инструмент в состоянии отследить проблемы с обработкой ввода с клавиатуры или мыши, так как именно их он и воспроизводит.

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

Для расследования инцидентов замедления работы разработчики используют разные инструменты; в основном используется Dynatrace AJAX Edition производства компании DynaTrace . Проводится запись логов выполнения проблемной операции на предыдущей и на новой сборке, затем логи анализируются. При этом время выполнения единичных операций (в миллисекундах) может не быть решающим фактором – в браузере периодически запускаются служебные процессы типа уборки мусора, они могут наложиться на время выполнения функций и исказить картину. Более релевантными параметрами в этом случае будет количество выполненных инструкций JavaScript, количество атомарных операций над DOM и т.п. Если количество инструкций/операций в одном и том же сценарии в новой версии увеличилось – это почти всегда означает падение быстродействия, которое нужно исправлять.

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

Расширения браузеров

В случае, когда прикладному решению нужна функциональность, которой нет в JavaScript, мы используем расширения браузеров:
  • для работы с файлами
  • для работы с криптографией
  • работа с внешними компонентами
Наши расширения состоят из двух частей. Первая часть – то, что называется расширением браузера (как правило, написанные на JavaScript расширения для Chrome и Firefox), которые взаимодействуют со второй частью - бинарным расширением, реализующим нужную нам функциональность. Надо упомянуть, что мы пишем 3 версии бинарных расширений – под Windows, Linux и MacOS. Бинарное расширение поставляется в составе платформы 1С:Предприятие и находится на сервере приложений 1С. При первом вызове с веб-клиента оно загружается на клиентский компьютер и устанавливается в браузере.

При работе в Safari наши расширения используют NPAPI, при работе в Internet Explorer - технологию ActiveX. Microsoft Edge пока не поддерживает расширения, поэтому веб-клиент в нем работает с ограничениями.

Дальнейшее развитие

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

Другие задачи - развитие архитектуры, рефакторинг, повышение производительности и надежности. Например, одно из направлений – дальнейшее движение в сторону асинхронной модели работы. Часть функциональности веб-клиента на настоящий момент построена на синхронной модели взаимодействия с сервером. Асинхронная модель сейчас становится в браузерах (и не только в браузерах) более актуальной, и это заставляет нас модифицировать веб-клиент путем замены синхронных вызовов на асинхронные (и соответствующего рефакторинга кода). Постепенный переход к асинхронной модели объясняется необходимостью поддержки выпущенных решений и постепенной их адаптации.

Теги: Добавить метки

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

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

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

Таким образом, независимо от клиентского приложения (толстый, тонкий, веб-клиент), вся разработка прикладного решения ведется полностью в конфигураторе 1С:Предприятия, серверный и клиентский код пишется на встроенном языке 1С:Предприятия.

Работа Интернет-браузере без установки системы на компьютер пользователя

Для работы в режиме веб-клиента требуется веб-сервер, настроенный на работу с 1С:Предприятием 8. Браузер клиента взаимодействует с веб-сервером по протоколу HTTP или HTTPS. Веб-сервер, в свою очередь, взаимодействует с 1С:Предприятием 8 в файловом или клиент-серверном варианте работы.

В качестве веб-сервера используется Apache или IIS.

Работа под управлением различных операционных систем

Все основные компоненты платформы способны функционировать как под управлением операционной системы Windows, так и под управлением операционной системы Linux. Кроме этого веб-клиент способен работать еще и на компьютерах под управлением Mac OS X.

Благодаря тому, что взаимодействие процессов между собой осуществляется по протоколу TCP/IP, в составе системы могут присутствовать компоненты с различными операционными системами. Подробнее...

Работа на iPad

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

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

Крупные корпорации, использующие программные продукты 1С в своих отдаленных филиалах, часто сталкиваются с проблемой отсутствия возможности установки 1С на отдельно взятых рабочих местах сотрудников. Иногда причиной этому могут стать устаревшие компьютеры, иногда отдаленность, иногда отсутствие IT-персонала. Разработчики 1С решили эту проблему в версии платформы 8.2, интегрировав в нее специальный веб-клиент. Организация работы в таком виде клиента позволит существенно сэкономить на модернизации компьютеров и содержании штата администраторов 1С.

Внешне веб-клиент ничем не отличается от тонкого клиента, за исключением того, что интерфейс 1С открывается в браузере. Для запуска веб клиентов 1С необходима публикация веб-сервера и наличие Интернета на рабочих местах. За связь базы данных и пользовательского интерфейса веб-клиента отвечает веб-сервер и технологии DHTML и HTTPRequest. В момент работы данные передаются через HTTP на веб-сервер, компилируются, а непосредственно исполнение происходит на стороне клиента, в среде интернет-браузера.

Достаточная популярность режима веб клиента 1С объясняется перечнем преимуществ:

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

Кроме плюсов, режим веб-клиента имеет и определенные недостатки:

  1. Уязвимость веб-сервера, который становиться доступным в любой точке мира;
  2. Определенные ограничения по обмену данными и эксплуатации файловой системы;
  3. Доступность только для конфигураций, использующих управляемый тип приложения и тонкий клиент;
  4. Недоступность локальных лицензий.

Если вы твердо решили, что Web клиент 1С отлично подходит для пользователей, то вам придется настроить и опубликовать веб-сервер. В качестве примера рассмотрим настройку стандартного IIS, встроенного в Windows.

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

Чтобы начать настройку сервера зайдите в «Панель управления» -> «Программы и компоненты» -> «Включение или отключение компонентов». Найдите в дереве ветвь «Службы IIS/Службы интернета» и проставьте следующие галки:

  • В разделе «Общие функции HTTP»:
    • «Просмотр каталога»;
    • «Документ по умолчанию»;
    • «Статическое содержимое»;
    • «Ошибки HTTP».
  • «Проверка работоспособности и диагностика»:
    • «Ведение журнала HTTP»;
    • «Монитор запросов».
  • «Компоненты разработки приложений»:
    • «ASP»;
    • «ASP.NET»;
    • «Расширение ISAPI»;
    • «Расширяемость.NET»;
    • Фильтры ISAPI».
  • «Средства управления»:
    • «Консоль управления IIS».

Для публикации настроенного сервера необходимо установить модули расширения веб-сервера 1С. Для этого в процессе установки 1С необходимо отметить соответствующий пункт в окне изменения способа установки и установить компоненты. Затем запускайте 1С в режиме конфигуратора с административными правами и нажимайте в меню «Администрирование» -> «Публикация на веб сервере…». Платформа 1С самостоятельно обнаружит настроенный веб-сервер, и вам останется только задать имя базы и ее место расположения.


После того как вы нажмете кнопку «Опубликовать», сервер должен перезапуститься. Теперь можно проверить выполнение работы, произведя запуск веб клиента 1С, прописав в браузере строку: «http:ИмяСервера/ИмяБазы». Необходимо предусмотреть, чтобы все пользователи имели доступ к месту расположения БД на чтение и запись. В ином случае настройка веб-клиента 1С на рабочих местах не даст результата.

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

Печать (Ctrl+P)

Настройка веб-серверов для работы с «1С:Предприятием»

1. Общая информация

Данная статья описывает механизм настройки веб-серверов для работы с веб-клиентом и Web-сервисами, а также настройка поддержки OpenID-аутентификации. После публикации обращение к опубликованным компонентам будет выполняться следующим образом:
● Обращение к веб-клиенту. Для запуска веб-клиента необходимо использовать адрес, который формируется по следующим правилам: <Имя хоста веб-сервера>/<Имя виртуального каталога> . Если имя виртуального каталога DemoCfg , то для запуска веб-клиента следует набрать следующий URL (для получения доступа с локальной машины): http://localhost/DemoCfg.
● Обращение в Web-сервису. Для получения доступа к Web-сервису необходимо использовать адрес, который формируется следующим образом:
<Имя хоста веб-сервера>/<Имя виртуального каталога>/ws/<Имя Web-сервиса> или <Имя хоста веб-сервера>/<Имя виртуального каталога>/ws/<Адрес Web-сервиса> .
Так, если виртуальный каталог имеет имя DemoWS , имя Web-сервиса в конфигураторе указано как ДемонстрацияРаботыWS , а в качестве адреса указано DemoWorkWS , то обращение к Web-сервису можно выполнять одновременно по двум адресам (для получения доступа с локальной машины):
http://localhost/DemoWS/ws/ДемонстрацияРаботыWS или http://localhost/DemoWS/ws/DemoWorkWS .
Подробнее про Web-сервисы .
● Обращение в HTTP-сервису. Для получения доступа к HTTP-сервису необходимо использовать адрес, который формируется следующим образом:
<Имя хоста веб-сервера>/<Имя виртуального каталога>/hs/<путь к ресурсу>.
Подробнее про HTTP-сервисы см. здесь.
● OpenID-аутентификация выполняется системой автоматически.
Веб-серверы семейства Internet Information Services (далее IIS) поставляются вместе с операционной системой, и для упрощения понимания, какой веб-сервер вы используете, приведем таблицу соответствия версии веб-сервера и операционной системы:

Версия IIS Версия операционной системы
IIS 5.1 Windows XP Professional
IIS 6.0 Windows Server 2003 или Windows XP Professional x64 Edition
IIS 7.0 Windows Vista или Windows Server 2008
IIS 7.5 Windows 7 или Windows Server 2008 R2
IIS 8.0 Windows 8 или Windows Server 2012
IIS 8.5 Windows 8.1 или Windows Server 2012 R2
IIS 10.0 Windows 10

Дистрибутив веб-сервера Apache (как для ОС Windows, так и для ОС Linux) можно получить на веб-сайте проекта: http://httpd.apache.org/download .

2. Общие требования

На компьютере, где выполняется публикация, должен быть установлен и настроен поддерживаемый веб-сервер. Для установки веб-сервера Internet Information Services может потребоваться дистрибутив используемой операционной системы. При установке веб-сервера необходимо обязательно установить поддержку ISAPI расширений. Для установки веб-сервера требуются административные привилегии на компьютере, на который будет установлен требуемый веб-сервер. Публикация может выполняться двумя способами:
● С помощью диалога публикации на веб-сервере, если на компьютере с веб-сервером имеется возможность запустить конфигуратор необходимой разрядности.
● С помощью утилиты webinst.(Вызывать утилиту webinst следует из каталога bin 32-разрядной версии «1С:Предприятия»)

Для выполнения публикации на веб-серверах необходимы административные привилегии на компьютере, где выполняется публикация:

● Для ОС Windows Vista и старше, чтобы выполнить публикацию, следует запускать конфигуратор с помощью пункта Запуск от имени администратора контекстного меню приложения или программы запуска. Если публикация выполняется с помощью утилиты webinst, то от имени администратора должна быть запущена или сама утилита, или интерпретатор командной строки Windows.
● Для ОС Linux, чтобы выполнить публикацию, следует получить права суперпользователя (пользователь root) с помощью команды su или запускать приложение, которое выполняет публикацию, с помощью команды sudo.

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

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

Публикация возможна только в том случае, если «1С:Предприятие» расположено на компьютере с веб-сервером.
Для веб-сервера IIS 7.x и старше не поддерживается публикация в том случае, если свойство Каталог (или параметр dir утилиты webinst) указывает на каталог %SYSTEMDRIVE%\Inetpub\wwwroot.
ПРИМЕЧАНИЕ. Для работы с конфигурацией через веб-сервер конфигурация не должна быть пустой.

3. Виды публикации

3.1. Общая схема публикации

Общая схема публикации выглядит следующим образом:

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

Для публикации веб-клиента следует использовать версию «1С:Предприятия», использующуюся для работы с информационной базой, к которой планируется получить доступ с помощью веб-клиента. Если на компьютере установлены две версии, например, 8.3.3.100 и 8.3.3.150 и запущен сервер «1С:Предприятия» версии 8.3.3.150 , то для публикации следует использовать конфигуратор или утилиту webinst ровно этой же версии.
При выполнении публикации следует помнить, что разрядность регистрируемого расширения веб-сервера должна совпадать с разрядностью самого веб-сервера.

При публикации на веб-сервере IIS следует помнить, что:
● Публикация всегда выполняется для веб-сайта по умолчанию (Default Web Site);
● Публикация всегда выполняется для пула приложений по умолчанию (DefaultAppPool);
● Для пула приложений, используемого для работы «1С:Предприятия», должна быть отключена поддержка среды.NET. Для этого следует установить свойство пула приложений Версии среды.NET Framework в значение Без управляемого кода.
Для выполнения публикации из конфигуратора, необходимо воспользоваться диалогом публикации (Администрирование – Публикация на веб- сервере… ).

Рис. 1. Публикация на веб-сервере

Затем следует выполнить следующие действия:
● Ввести имя виртуального каталога в поле Имя , при этом имя виртуального каталога может состоять только из символов латинского алфавита.
● В поле Веб-сервер указать тип веб-сервера, для которого выполняется публикация.
● В поле Каталог указать физическое местоположение каталога, в котором будут расположены файлы, описывающие виртуальный каталог. При использовании веб-сервера Apache имя каталога должно состоять только из символов латинского алфавита.
● В зависимости от необходимости установить флажки Публиковать тонкий и веб-клиент и Публиковать Web-сервисы .
● Для веб-сервера IIS можно указать необходимость выполнять аутентификацию на веб-сервере средствами ОС.
● При необходимости выбирать Web-сервисы, которые необходимо опубликовать. Колонка Адрес может быть изменена. В данной колонке задается синоним Web-сервиса. Обращение к Web-сервису возможно как по имени, так и по синониму.
● При необходимости – выполнить настройки остальных параметров публикации.
● Нажатие кнопки Опубликовать запускает процесс публикации. Нажатие кнопки Отключить выполняет удаление публикации с выбранного веб-сервера.

После выполнения публикации будет предложено перезапустить веб-сервер в следующих случаях:
● изменилась версия «1С:Предприятия»;
● изменился путь к модулю расширения веб-сервера;
● выполнена новая публикация для веб-сервера Apache;
● выполнено отключение публикации.
При использовании анонимной аутентификации и файловой информационной базы, при выполнении публикации происходит проверка наличия прав доступа на каталог информационной базы у пользователя, от лица которого выполняется анонимный доступ. Если пользователь не обладает необходимыми правами, выдается предупреждение о невозможности работы с этой информационной базой через веб-сервер. Рекомендуется или дать права на каталог с информационной базой, или установить флажок Использовать аутентификацию операционной системы на веб-сервере.
Если публикация из конфигуратора недоступна (например, при использовании 64-разрядной ОС Windows), публикацию можно выполнить с помощью
утилиты командной строки webinst, которая доступна в ОС Windows и Linux в обеих разрядностях. Далее будет подробно описан диалог публикации и
ключи командной строки утилиты webinst.

3.2. Диалог публикации

Диалог публикации служит для создания публикации или подготовки файла-шаблона для публикации с помощью утилиты webinst (с использованием параметра командной строки -descriptor).
Все параметры, которые можно редактировать при создании публикации, размещены на двух закладках. Рассмотрим их подробнее.

3.2.1. Кнопки диалога

Кнопка Опубликовать выполняет публикацию на веб-сервере. При публикации происходит создание каталога на диске и настройка указанного веб-сервера для работы с «1С:Предприятием». Следует помнить, что публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию (Default Web Site ) и для пула приложений по умолчанию (DefaultAppPool ).
Под ОС Linux выполняются следующие действия:
● Для каталога, в котором расположен файл default.vrd , в качестве группы-владельца устанавливается группа пользователя, от имени которого работает веб-сервер;
● Для файла default.vrd устанавливается доступ по чтению для группы, включающей пользователя, от имени которого работает веб-сервер.
В случае публикации файловой информационной базы, для каталога с файлом информационной базы в качестве группы-владельца устанавливается группа пользователя, от имени которого работает веб-сервер, а также настраивается наследование группы-владельца для обеспечения работы с информационной базой.

Рис. 2. Публикация на веб-сервере

Кнопка Отключить выполняет удаление приложения из веб-сервера и каталога публикации, если это необходимо.
Кнопка Сохранить выполняет сохранение параметров, указанных в диалоге публикации на веб-сервере, в файл. При сохранении система запрашивает имя и место расположения файла, в который будет выполнено сохранение. Сохранение будет выполнено в формате файла default.vrd . С помощью этой команды можно создавать файлы шаблонов, которые будут использоваться в качестве параметра -descriptor утилиты webinst. В качестве значений атрибутов ib и base элемента point будут записаны параметры той информационной базы, из которой выполняется сохранение файла.
Кнопка Загрузить позволяет загрузить для редактирования произвольный файл default.vrd. При загрузке игнорируются атрибуты ib и base элемента point загружаемого файла.
Кнопка Закрыть выполняется закрытие диалога.
Кнопка Справка открывает окно со справочной информацией о диалоге публикации.

3.2.2. Закладка «Основные»
3.2.2.1. Общие параметры
Рис. 3. Публикация на веб-сервере. Основные

На данной закладке можно задать основные параметры публикации.
Имя. Указывает имя публикации. При публикации с помощью утилиты webinst описывается параметром -wsdir . В файле default.vrd соответствует атрибуту base элемента point.

Веб-сервер . Указывает, для какого веб-сервера выполняется публикация. Веб-сервера Apache добавляются в список в том случае, если они обнаружены на компьютере. При публикации с помощью утилиты webinst , используемый веб-сервер указывается одним из параметров iis, apache2 , apache22 или apache24 . При работе в ОС Linux возможна публикация только для веб-сервера Apache.
В том случае, если система не смогла однозначно определить версию установленного на компьютере веб-сервера Apache (2.2 или 2.4), в списке будут присутствовать обе версии веб-сервера. При этом следует учитывать, что для веб-сервера Apache версии 2.2 и 2.4 различаются изменения, выполняемые в конфигурационном файле веб-сервера. Поэтому неверное указание версии веб-сервера приведет к неработоспособности публикации.

Каталог . Указывает физический каталог на диске, в котором будет находиться файл default.vrd и куда будет отображен виртуальный каталог веб-сервера. Каталог должен существовать. При публикации с помощью утилиты webinst описывается параметром -dir.

Публиковать тонкий и веб-клиент . Отвечает за возможность работы с опубликованной информационной базой с помощью тонкого и веб-клиента. Если флажок установлен, возможна работа с опубликованной информационной базой с помощью тонкого и веб-клиента. В файле default.vrd соответствует атрибуту enable элемента point .

Публиковать стандартный интерфейс OData . Отвечает за возможность получения доступа к стандартному интерфейсу OData прикладного решения. Подробнее механизм стандартного интерфейса OData описан в книге 1С:Предприятие 8.3. “Руководство разработчика”. В файле default.vrd соответствует атрибуту enableStandardOData элемента point .

Публиковать дистрибутив . Определяет возможность получения и установки клиентского приложения в том случае, если не совпадают версии клиентского приложения и сервера. В качестве дистрибутива используется zip-архив, полное имя которого указывается в качестве значения свойства Расположение публикуемого дистрибутива. В файле default.vrd эти свойства соответствуют атрибуту pubds t элемента point . В архиве должен
располагаться дистрибутив клиентского приложения. При установке будут использоваться параметры установки, указанные в файле 1cestart.cfg (аналогично обычной установке клиентского приложения).

Использовать аутентификацию операционной системы. Разрешает системе установить возможность аутентификации ОС на веб-сервере IIS.

Адрес перехода при окончании работы веб-клиента позволяет указать URL, на который будет выполняться переход после окончания работы веб- клиента. В файле default.vr d соответствует элементу exitURL .

3.2.2.2. Закладка Web-сервисы
Рис. 4. Публикация Web-сервисов

Публиковать Web-сервисы . Установка данного флажка приведет к тому, что будут опубликованы Web-сервисы, созданные в конфигурации и перечисленные в таблице, расположенной ниже флажка. В файле default.vrd соответствует атрибуту enabl e элемента ws . Если флажок сброшен, то это эквивалентно отсутствию элементу ws в файле default.vrd или наличие элемента ws с атрибутом enable, установленным в значение true.

Публиковать Web-сервисы по умолчанию . Отвечает за возможность использования в данной информационной базе Web-сервисов, которые опубликованы без явного указания разрешения использования. В файле default.vrd соответствует атрибуту pointEnableCommon элемента ws.
Таблица ниже флажка Публиковать Web-сервисы содержит перечень публикуемых Web-сервисов и позволяет управлять публикацией каждого Web-сервиса. Первая колонка управляет публикацией конкретного Web-сервиса. Если флажок сброшен, то данный Web-сервис будет запрещен к использованию (его нельзя будет вызвать). В файле default.vrd соответствует атрибуту enable элемента point .
Вторая колонка (с именем Имя) содержит имя Web-сервиса, как оно задано при создании. Описание Web-сервисов приведено в книге 1С:Предприятие 8.3. “Руководство разработчика”. В файле default.vrd соответствует атрибуту name элемента point.
Последняя колонка таблицы (с именем Адрес) содержит псевдоним имени публикуемого Web-сервиса. Обращение к Web-сервису возможно как по имени, так и по псевдониму. Псевдоним Web-сервиса можно редактировать в окне публикации. В файле default.vrd соответствует атрибуту alias элемента point.
Web-сервисы, которые расположены в подключенных расширениях, не отображаются в данной таблицы и могут быть опубликованы только редактированием файла default.vrd вручную.
Публиковать Web-сервисы расширений по умолчанию. Отвечает за возможность использования Web-сервисов, которые поставляются в расширениях конфигурации. В файле default.vrd соответствует атрибуту publishExtensionsByDefault элемента ws .

3.2.2.3. Закладка HTTP-сервисы

Закладка HTTP сервисы предназначена для управления возможностью доступа к прикладному решению с помощью HTTP-сервисов.

Рис. 5. Публикация HTTP-сервисов

Установка данного флажка приведет к тому, что будут опубликованы HTTP-сервисы, созданные в конфигурации и перечисленные в таблице, расположенной ниже флажка. В файле default.vrd соответствует атрибуту publishByDefault элемента httpServices. Если флажок сброшен, то это эквивалентно отсутствию элементу httpServices в файле default.vrd или наличие элемента httpServices с
атрибутом publishByDefault , установленным в значение false .

Таблица ниже флажка Публиковать HTTP сервисы по умолчанию содержит перечень публикуемых HTTP-сервисов и позволяет управлять публикацией каждого HTTP-сервиса. Первая колонка управляет публикацией конкретного HTTP-сервиса. Если флажок сброшен, то данный HTTP-сервис будет запрещен к использованию (его нельзя будет вызвать). В файле default.vrd соответствует атрибуту enable элемента service .
Вторая колонка (с именем Имя ) содержит имя HTTP-сервиса, как оно задано при создании. Описание HTTP-сервисов приведено в книге 1С:Предприятие 8.3. “Руководство разработчика”. В файле default.vrd соответствует атрибуту name элемента service .
HTTP-сервисы, которые расположены в подключенных расширениях, не отображаются в данной таблицы и могут быть опубликованы только редактированием файла default.vrd вручную.

Публиковать HTTP-сервисы расширений по умолчанию. Отвечает за возможность использования HTTP-сервисов, которые поставляются в расширениях конфигурации. В файле default.vrd соответствует атрибуту publishExtensionsByDefaul t элемента httpServices

3.2.3. Закладка «Прочие»
Рис. 6. Прочие параметры публикации на веб-сервере

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

Каталог временных файлов . Позволяет указать каталог временных файлов для работы расширения веб-сервера или файлового варианта информационной базы. В файле default.vrd соответствует атрибуту temp элемента point .

Группа Пул соединений . Описывает элемент pool файла default.vrd. Подробнее см. здесь. Также параметры этой группы управляют работой системы отслеживания разрыва соединений.

Группа Отладка. Описывает элемент debug файла default.vrd.

Группа OpenI D. Описывает элемент openid файла default.vrd.

Разделение данных . Описывает элемент zones файла default.vrd. Подробнее остановимся на структуре таблицы с разделителями.

В таблицу попадают все независимые разделители, существующие в конфигурации или загруженном файле. Первая колонка (без имени) определяет необходимость создания элемента zone для выбранного разделителя. Следует помнить, что сопоставление элемента выполняется не по имени разделителя, а по его порядковому расположению в списке. Если отключается первый разделитель, то имеет смысл отключить и все остальные, т. к. параметры элемента zones будут применены системой к другим разделителям.
Колонка Имя содержит имя разделителя, как оно задано в свойствах общего реквизита. Флажок в следующей колонке определяет, будет задано значение разделителя в элементе zone или нет. Если флажок установлен, то в качестве значения атрибута value будет использовано значение из колонки Значение.
Флажки в колонках Указание и Безопасное отвечают за атрибуты safe и specify (соответственно) элемента zone файла default.vrd.
Параметр Фоновые задания в файловом варианте описывает возможность использования фоновых заданий в файловом варианте информационной базы (атрибут allowexecutescheduledjobs корневого элемента point ).