) Уговорили...
1. Если вы уже заговорили про роутер, то можно было бы и написать, что можно перенаправлять на разные порты.
Вы не указали источник, где можно подчерпнуть больше информации.
Вы не указали явные проблемы, с которыми может столкнуться человек. К примеру если на том компе установлен скайп, со стандартными настройками, то апач не запустится. И т.д.
Вы привели заведомо ложные картинки с бесполезной информацией.
Например:
- вы не сказали, что важен регистр букв в названии базы, т.е. если путь указан base, то по пути Base, вы никуда не попадете.
- вы не сказали, что это за строка с files.1cws, так как если что то не получается, то люди начинают это делать ТОЧНО ТАК ЖЕ как и на картинке. А если на картинке что то не то, то они ищут как это сделать.
Вы не рассказали про лицензии.
2. Лишнее? Бесполезное можно считать лишним?
3. Тут как сказать, неверно многое, так как изложено не последовательно. Например не указали что надо установить сервер 1с. без этого работать не будет.А перешли сразу к настройкам.
4. , вот один из примеров успешной реализации
5. Не требует, так как есть куча такой же инфы в остальном инете, и можно было бы тогда сделать просто подборку ссылок для начинающих.

Я про все рассказал?

К примеру если на том компе установлен скайп, со стандартными настройками, то апач не запустится. И т.д.

Об этом я, кстати, сказал.

не указали что надо установить сервер 1с. без этого работать не будет

Не обязательно - работает на файловой базе

можно было бы тогда сделать просто подборку ссылок для начинающих

Конечно можно было:) Только потом нужно было бы еще оживить этого Франкенштейна.

А вообще, я не собирался описывать вообще ВСЕ нюансы. Да я их и не знаю. В статье я просто делюсь своим опытом. Согласен, что было бы хорошо добавить ссылки на доп. информацию, постараюсь это сделать.

1. Почему выбран веб-сервер Апач, а не стандартный IIS ?

Потому что эта статья про то, как запустить на Апаче

2. Если маршрутизатор работает в режиме Bridge, настройка маршрутизации не нужна. Да и что делать если веб-сервер подключен к маршрутизатору по "беспроводам"?

Мне, типа, и самому интересно узнать что делать в этом случае. Возьми и напиши про это - плюс тебе поставлю.

4. В документации(бумажный вариант, диск ИТС) описано достаточно понятно как дать доступ через веб-интерфейс к базе 1С.
5. Потому как в документации уже все расписано, наиболее актуальная документация на диске ИТС или its.1c.ru

Ну и где она эта документация и диск ИТС? А что делать тем, у кого их нет?

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

А я считаю - это все не нужно. На пальцах объяснять не собирался. Тогда вообще надо начать с установки платформы.

Вот как это появиться в статье, минус уберу. А так статья НИАЧЁМ

Да, ладно. Мне твой минус не мешает. В конце концов, я же не ставлю цель угодить тебе.

Одной из приятных особенностей технологии 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С в своих отдаленных филиалах, часто сталкиваются с проблемой отсутствия возможности установки 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С является удобным инструментом для пользователей, производительность рабочих мест которых оставляет желать лучшего. Благодаря простой настройке, минимальным отличиям в интерфейсе приложения и перечню разнообразных преимуществ, веб клиент завоевал определенную популярность в компаниях различного калибра.

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

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

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

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

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

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

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

Ну и, конечно, появляются практически неограниченные возможности удаленного доступа к базе: из любого места, с любого устройства, был бы браузер.

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

На настоящий момент поддерживаются два основных веб-сервера Apache и IIS, также на машине с веб-сервером должна быть обязательно установлена платформа и модули расширения веб-сервера . Их всегда можно установить дополнительно, просто запустив еще раз программу установки платформы:

Windows и IIS

Internet Information Services (IIS) по непонятным причинам не пользуется популярностью у администраторов и 1С-ников. А зря, игнорировать штатное решение в пользу некоторого стороннего ПО, пусть даже и неплохого, выглядит по крайней мере странно.

Для установки IIS на клиентской ОС, в нашем случае Windows 7 x64, перейдите в Панель управления - Программы и компоненты - Включение и отключение компонентов Windows .

В открывшемся окне выберите Службы IIS , затем, развернув список, перейдите в Службы интернета - Компоненты разработки приложений и установите флажок напротив Расширения ISAPI , остальные параметры можно оставить по умолчанию.

После установки IIS перейдем к его настройке, для этого откройте Панель управления - Администрирование - Диспетчер служб IIS .

В дереве слева выбираем Пулы приложений , щелкаем правой кнопкой мыши на DefaultAppPool - Дополнительные параметры и разрешаем 32-разрядные приложения , установив соответствующую опцию в True .

Теперь выставим необходимые права для групп IUSR и IIS_IUSRS. На папку с информационной базой выдаем права Изменение и Чтение и выполнение:

На папку bin платформы - Чтение и выполнение :

Затем запускаем 1С:Предприятие от имени администратора и загружаем нужную информационную базу в режим конфигуратора.

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

Готово! Для доступа к базе можем использовать адрес вида http://имя(адрес)_хоста/имя_публикации , в нашем случае http://192.168.3.109/Acc30 , запускаем браузер и проверяем работу.

Также можно настроить базу для работы с ней посредством платформы, для этого в диалоге добавления новой информационной базы указываете размещение на веб-сервере:

Следующим шагом вводите адрес подключения:

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

Windows и Apache 2.2

Если вы по каким-либо причинам не хотите использовать IIS, можно настроить работу 1С с другим популярным веб-сервером Apache. К сожалению разработчики Apache перестали публиковать бинарные сборки для Windows, предлагая обратиться к своим партнерам, поэтому перейдем на сайт Apache Haus и скачаем сборку 2.2.х архитектуры x86 , даже если у вас 64-разрядная операционная система.

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

Также вам потребуется установить Распространяемый пакет Microsoft Visual C++ 2008 , который нужен для нормальной работы сборки Apache.

Затем распакуем скачанный архив Apache в произвольную директорию, например, C:\Apache22 , из всего множества папок нас интересуют папки bin и htdocs , в первой расположены исполняемые файлы веб-сервера, во второй следует располагать веб-содержимое.

Откроем командную строку с правами администратора и перейдем в директорию bin веб-сервера:

Cd C:\Apache22\bin

Теперь установим Apache как службу:

Httpd -k install

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

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

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

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

Пошаговая инструкция как настроить web-доступ к базам 1С. Писал для себя как инструкцию чтобы не забыть в будущем. Может еще кому пригодится.

Настройка клиент-серверного доступа к 1С через WEB-интерфейс

В этой статье изложена инструкция как организовать работу с конфигурацией 1С через Internet обозреватель.

Для статьи была использована настройка 1С для работы с базой MS SQL Server и в качестве web-сервера использовался Internet Information Services входящий в поставку операционной системы.

Перед началом установки должны быть установлена 1С с сервером приложений, SQL Server 2005 и выше, запущен Internet Information Services.

В качестве примера для описания статьи использовались следующие версии программного обеспечения:

Все описанные шаги могут работать как на старших релизах программ, так и на младших. Минимальные требования указаны на сайте 1С - http://v8.1c.ru/requirements/

Перед началом настроек, на компьютер должны быть установлены выше указанные в таблице продукты. При этом сервер 1С, сервер SQL могут находиться на разных физически или виртуальных компьютерах. Желательно чтобы Сервер 1С и Internet Information Services находились на одном физическом и логическом сервере (так будет меньше проблем с настройками).

Весь процесс настройки разбит на 5 шагов:

1 - Регистрация конфигурации и базы на серверах 1С и SQL

2 - Настройка IIS на сервере для публикации конфигурации

3 - Публикация WEB-приложения из 1С

4 - Настройка библиотек для работы в 64-х разрядной ОС

5 - Настройка прав доступа на папки и Брандмауэра Windows

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

А также информация о используемых ресурсах

7. Используемые ресурсы

1. Регистрация базы на серверах 1С и SQL

1.1. Запустить Сервер 1С

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

1.2. Зарегистрировать кластер 1С

Запустить утилиту администрирования серверов 1С:

В открывшемся окне зарегистрировать новый центральный сервер 1С предприятия:

В появившемся окне ввести сетевое имя компьютера, на котором запущен 1С Сервер (или его IP-адрес):

1.3. Зарегистрировать базу 1С на сервере SQL

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

Выбираем "Создание новой информационной базы":

В появившемся окне есть возможность создать базу из шаблона, или создать новую пустую базу (в последствии можно будет загрузить базу, загрузить конфигурацию или создать свою конфигурацию):

При этом необходимо заметить, что поле "Имя базы данных " - это названия базы на SQL сервере. А поле "Имя информационной базы " - название базы на сервере 1С.

После чего выбираем вариант аутентефикации в 1С (Выбирать автоматически) и жмем кнопку "Готово":

1.4. Загрузить или создать конфигурацию 1С

Запустить конфигуратор с базой:

Загрузить ранее выгруженную информационную базу:

2. Настройка IIS на сервере

Для этого пункта информация была взята из статьи: http://infostart.ru/public/71480/

2.1. Проверка установленных компонент IIS

Для работы веб-клиента 1С:Предприятия необходимы службы IIS, которые небыли установлены по умолчанию при установке Windows 8.1 x64.

Для их установки следует перейти "Пуск - Панель управления - Программы и компоненты - Включение или отключение компонентов Windows". В появившемся дереве, в ветке "Службы IIS - Службы интернета - Компоненты разработки приложений" отметить все компоненты, как показано на рисунке. Затем нажать кнопку "Ок":

2.2. Разрешение 32-разрядных приложений в пуле приложений

Веб-клиент 1С:Предприятия 8.3 является 32-разрядным приложением. Поэтому для 64-разрядной ОС необходимо разрешить работу оных в пуле приложений сервера IIS. Для этого необходимо перейти "Пуск - Панель управления - Администрирование - Диспетчер служб IIS". В диспетчере служб выбрать "Пулы приложений - DefaultAppPool - Дополнительные параметры". В списке дополнительных параметров переменной "Разрешены 32-разрядные приложения" установить значение "True":

Установить значение в True для параметра "Разрешены 32-разрядные приложения":

2.3. Установка удостоверения пула приложений в качестве удостоверения анонимного пользователя

По умолчанию в качестве анонимного пользователя установлен пользователь IUSR, которого нет в системе. Дабы не создавать оного можно просто включить удостоверение пула приложений в качестве удостоверения анонимного пользователя. Для этого необходимо перейти "Пуск - Панель управления - Администрирование - Диспетчер служб IIS". В диспетчере служб перейти в "Проверка подлинности:

На пункте "Анонимная проверка подлинности" вызвав контекстное меню "изменить":

В открывшемся диалоге отметить "Удостоверение пула приложений". Закрыть диалог, нажав кнопку "ОК".

3. Публикация WEB-приложения из 1С

Для публикации приложения необходимо иметь полный доступ на папку проектов IIS. Есть 2 способа публикации приложения из 1С. 1 - сначала создать необходимую папку в каталоге "C:inetpubwwwroot" в нашем случае это папка с названием "Base1C" и дать права текущему пользователю на полный доступ на эту папку. 2 способ зайти в 1С из под администратора а потом дать необходимые права на папку уже опубликованного приложения. В э статье описан второй путь.

3.1. Для публикации конфигурации на сервере IIS необходимо запустить 1С из под администратора:

Вызываем контекстное меню на ярлыке 1С и выбераем "Запуск от имени администратора"

Выбираем базу и запускаем 1С в режиме конфигуратора:

3.2. Запустить публикацию на web-сервере

Для начала публикации переходим в меню "Администрирование - Публикация на веб-сервере":

В появившемся окне указать имя публикации, указать веб-сервер и указать путь на веб-сервере.

1С позволяет публиковать на любой доступный веб-сервер в сети с помощью утиллиты webinst. В статье использовался пример публикации на локальный компьютер:

Более подробную информацию по пунктам в окне публикации можно получить из 1С конфигуратора нажав на кнопку F1.

4. Настройка библиотек для работы в 64-х разрядной ОС

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

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

Открываем через Панель Управления - Администрирование Диспетчер служб IIS .

В открывшемся окне раскрываем группу "Сайты" и наш сайт (в примере Base1C).

Нажимаем на "" в группе IIS:

В открывшемся окне ищем строку с именем "ISAPI-dll" и нажимаем пункт меню в действиях "Добавить сопоставление сценария..."

В открытом окне "Добавление сопоставления сценария" в поле "Путь запроса" ввести символ * (звездочка, т.е. все). В поле "Исполняемый файл" выбрать библиотеку wsisapi.dll с каталога установленной 32-х разрядной версии 1С. В поле "Имя" можно задать любое имя (в примере Имя = 1С):

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

Настроить ограничения запроса можно нажав на кнопку "Ограничение запроса" в окне Добавление сопоставления сценария. В открывшемся окне убрать отметку с "Вызывать обработчик только при сопоставлении запроса с:":

Нажать кнопку Ok.

На появившейся вопрос ответить "Да":

После чего необходимо перезапустить службу IIS. Для этого необходимо перейти в корень панели "Подключения" (на название сервера) и в меню действия справа выбрать "Перезапустить":

После чего можем проверить, работает ли подключенная библиотека. Для этого переходим в "Ограничения ISAPI и CGI":

Еще раз следует отметить, что данную процедуру настройки библиотек следует делать каждый раз после публикации приложения из 1С.

5. Настройка прав доступа на папки и Брандмауэра Windows

5.1. Настройка доступов к папкам

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

Для настройки прав на пакпи необходимо в проводнике Windows вызвать контекстное меню для необходимой папки и выбрать в контекстном меню пункт "Свойства " и перейти на закладку "Безопасность "

В данном случае речь идет о правах на 3 папки:

1. "C:Program Files (x86)1cv88.3.5.1088bin" (в этой папке находится библиотека wsisapi.dll) (номер релиза "8.3.5.1088" может быть другой)

2. C:inetpubwwwrootBase1C (это созданная нами папка которая будет использоваться для доступа из интернет)

3. КаталогБазы (это база 1С, если используется файловый тип базы), в нашем примере база храниться на SQL сервере, поэтому каталога базы нет и доступа на него давать не надо.

Для всех папок (Пункты: 1,2,3) необходимо для пользователя IIS_IUSRS установить доступ "Полный доступ ":

Для папки с нашей базой (Пункт 3) данных для пользователя Users , установить доступ "Изменение ".

5.2. Настройка доступов к портам в Брандмауэре Windows

Если планируется использовать web-доступ не только локально, то необходимо настроить Брандмауэр Windows для доступа с внешних ресурсов, указав порт доступа 80. Автор не использовал настроек брандмауэра, а просто отключил его:

6. Доступ к опубликованной информационной базе

Для доступа к информационной базе надо зайти в обозреватель интернет (поддерживающий HTML5, например "многими любимый" Internet Explorer) и ввести в адресную строку:

Close