Говорят, в 1С-программировании есть чистые эльфы.

Утонченные разработчики, которые по исчерпывающим ТЗ создают нетленные творения в светлых комнатах с тихой музыкой и приглушенным светом:)

С еженедельными meetup и обсуждением scrum-“куриц” за кофе с капкейком:)

Мы читали про них, но пока не видели.

Работа программиста / внедренца 1С
(и вообще большинства специалистов по 1С)
– это не только программирование

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

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

Но есть и темы, которые явно не стали “массовым знанием”.

Поэтому считаем полезным выпустить дополнительные материалы.

Запуск 1С:Предприятия под веб-клиентом

Cегодняшняя тема – родом из летнего опроса (да, мы читаем ответы:)

Тема “1С и web” продолжает оставаться относительно новой, для многих – terra incognita, с которой еще предстоит разбираться.

Поэтому – забирайте:

Вводная информация по запуску 1С под веб-клиентом

Самый первый, вводный видео-урок.

Особенности веб-клиента

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

Общая схема работы с информационными базами «1С:Предприятие» через веб-браузер

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

Публикация базы на веб-сервере

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

Установка веб-сервера IIS на Windows Server 2008. Публикация информационной базы «1С:Предприятие»

Один из веб-серверов, с которым может работать «1С:Предприятие», – это IIS от Microsoft. Он входит в поставку Windows Server.
В этом видео рассказывается, как установить IIS и выполнить на нем публикацию информационной базы под Windows Server 2008.
Подключаемся к опубликованной базе при помощи Internet Explorer.

Настройки публикации в диспетчере служб IIS

В этом видео при помощи Диспетчера служб IIS рассматриваем, что происходит на веб-сервере при публикации базы – какие настройки установлены, и что расположено в каталоге публикации.

Особенности публикации файловых информационных баз

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

Подключение к опубликованной на веб-сервере базе при помощи тонкого клиента

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

Установка веб-сервера IIS на Windows Server 2012 R2. Настройка работы с 32-битным расширением

В этом видео рассматривается процесс установки веб-сервера IIS под ОС Windows Server 2012 R2.
Рассказывается, какие настройки необходимо сделать, чтобы обеспечить работу 32-битного расширения под 64-битную ОС.

Публикация информационной базы на веб-сервере под Windows Server 2012 R2

В этом видео рассказывается, как выполнить публикацию информационной базы под ОС Windows Server 2012 R2, что публикация должна выполняться в конфигураторе от имени администратора.

Настройка 64-разрядного модуля расширения веб-сервера для IIS

В этом видео рассказывается, как установить 64-битный сервер «1С:Предприятие» и как настроить веб-сервер на работу с этой платформой.

06.04.2014

Имеется:

Windows 8.1 Профессиональная.

1С предприятие, версия 8.3.4.465.

База данных ЗУП 3.0.

Необходимо установить доступ к указанной базе ЗУП через интернет браузер или тонкий клиент.

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

    2. Публикация базы данных из 1С предприятия.

    После установки IIS нужно запустить конфигуратор от имени локального администратора и опубликовать базу.

  1. Конфигуратор сам сконфигурирует IIS.

Соглашаемся на перезапуск сервера IIS после публикации новой базы.


    7. Открываем порт в брандмауэре.

    Панель управления - Брандмауэр Windows - Дополнительные параметры.

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

8. Организация работы через интернет.

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

  1. 9. Запуск браузера.

    В моем случае, строка запуска браузера будет выглядеть так:

http - указание протокола.

i7 - dns имя компьютера или ip адрес веб-сервера.

180 - порт IIS (можно не указывать, если порт по умолчанию)

hrm30 - каталог публикации (c:\inetpub\wwwroot\HRM30)

Для тонкого клиента строка указывается в настройках подключения.

Все, можно работать!

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

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

Основные требования

Минимальные системные требования к серверной части архитектуры могут значительно различаться и сильно зависят от:

  1. Задач, решаемых программой;
  2. Интенсивности документооборота;
  3. Количества единовременно подключенных пользователей;
  4. Размера и количества опубликованных и прописанных баз данных.

Однако без двух вещей при публикации 1С на веб-сервере обойтись просто невозможно:

  • Развернутого в системе веб-сервера;
  • Установленного и запущенного модуля расширения, поставляемого фирмой 1С.

Веб-сервер

В качестве этого элемента нашей структуры может выступать как Internet Information Server (IIS), поставляемый в составе операционных систем от фирмы Microsoft, так и Apache сервер. Конечно, есть и платные аналоги этих решений, но про них мы разговор вести не будем.

Дополнительным плюсом продуктов Apache является возможность их запуска из Linux подобных операционных систем.

Мы рассмотрим вариант с IIS, т.к. он не требует поисков и установки продуктов сторонних производителей.

Модули расширения веб-сервера

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

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

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

Установка и запуск Web-сервера

Для того, чтобы запустить IIS на компьютере с установленной Windows, необходимо произвести следующую последовательность действий (на примере Windows 7):


Рис.3

Удостовериться в том, что веб-сервер заработал, можно забив в адресной строке любого браузера строку вида «http://localhost» и получив картинку, как на Рис.4.

Рис.4


Рис.6.

В некоторых случаях (в частности, если работа программы осуществляется в среде 64 разрядной операционной система), после публикации базы на сервере, возможно придется донастраивать работы с библиотеками, используемыми платформой 1С. Это можно выполнить из подменю «Сайты».

Выбрав конкретную, только что опубликованную базу в списке, необходимо активировать утилиту «Сопоставление обработчиков» (Рис.7).
Рис.7

В нашем случае нам понадобится установить соответствие между ISAPI-dll и исполняемым файлом wsisapi.dll, находящимся в папке BIN, установленной версии платформы.

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

Публикация базы на сервер

Настройка прав пользователей

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

Нам необходимо разрешить полный доступ пользователю IIS_USERS:

  • К папке «C:\inetpub\wwwroot\Имя публикации», где хранится ресурс;
  • К папке с используемой версией программы, где хранится библиотека wsisapi.dll;
  • К месту, где хранится база.

Выполнив вышеперечисленные действия, мы можем проверить работоспособность нашей публикации, забив в окне браузера строку вида «localhoct/Имя публикации» и обнаружив там форму идентификации пользователя.

Имеется windows-сервер c 1С 8.3 (БД - MSSQL).
Задача - настроить публикацию базы на линуксовом web-сервере.
Тонкости - модуль 1С для апача работает только с 2.0 и 2.2, а текущая версия в большинстве дистрибутивов - 2.4+
Пишется больше для себя, чтобы не забыть. Ну и мало ли, вдруг пригодится еще кому - не придется бегать по форумам в поисках нужных команд.

Железо - дал гигабайт оперативки, одно ядро и 20 гигабайт диска. Увеличить никогда не поздно.
ОС: Debian Stable, привык я к нему.

Ставлю минимум, включая ssh-сервер, но не включая web. К этому еще вернемся.

После установки базовая настройка по вкусу, я обычно ставлю локаль utf8, ставлю sudo, mc и vim, остальное по потребностям.
Дальше надо поставить apache 2.2. Причем сделать это правильным способом, а не просто скачав deb-пакет. :)

Сперва добавляем в /etc/apt/sources.list строчки со ссылкой на предыдущую версию дистрибутива.
deb http://mirror.yandex.ru/debian/ wheezy main deb-src http://mirror.yandex.ru/debian/ wheezy main
Можно, конечно, написать oldstable - в настоящий момент тоже будет правильно. Но только в настоящий, потому рано или поздно выйдет новая стабильная версия и в oldstable и тогда вместо apache 2.2 там будет 2.4. Хотя, надеюсь, к тому времени 1С обновится и заработает с более новыми версиями апача. Но кто их знает? :)
Где mirror.yandex.ru - там пишется имя вашего любимого сервера с репозиторием.

Потом обновляем индексы - apt-get update - и смотрим, что у нас тут есть по apache командой apt-cache showpkg apache2
Там много всего выводится, но нас интересует только начало вывода:
Package: apache2 Versions: 2.4.10-10+deb8u3 (/var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages) Description Language: File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages MD5: Description Language: en File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-en MD5: Description Language: ru File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-ru MD5: 2.4.10-10+deb8u1 (/var/lib/apt/lists/security.debian.org_dists_stable_updates_main_binary-i386_Packages) Description Language: File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages MD5: Description Language: en File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-en MD5: Description Language: ru File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-ru MD5: 2.2.22-13+deb7u6 (/var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_binary-i386_Packages) Description Language: File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_binary-i386_Packages MD5: Description Language: en File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_i18n_Translation-en MD5: Description Language: ru File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_i18n_Translation-ru MD5:

Видим, что кроме 2.4.10 имеется версия 2.2.22-13+deb7u6 - то, что нужно.
Ставим: apt-get install apache2=2.2.22-13+deb7u6
Или, точнее: apt-get install apache2=2.2.22-13+deb7u6 apache2-mpm-worker=2.2.22-13+deb7u6 apache2.2-common=2.2.22-13+deb7u6 apache2.2-bin=2.2.22-13+deb7u6 , а остальные зависимости уже подтянутся автоматом.

После этого ставим апачей на холд, чтобы не обновить случайно.

Apt-mark hold apache2 apache2-mpm-worker apache2.2-common apache2.2-bin apache2 помечен как зафиксированный. apache2-mpm-worker помечен как зафиксированный. apache2.2-common помечен как зафиксированный. apache2.2-bin помечен как зафиксированный.
Можно запустить service apache2 start и стукнуть телнетом на 80 порт для проверки, если лень браузер запускать.

telnet localhost 80
Trying::1... Connected to localhost. Escape character is "^]". 1 501 Method Not Implemented

Method Not Implemented

1 to /index.html not supported.


Apache/2.2.22 (Debian) Server at 1cweb Port 80
Connection closed by foreign host.

Ругается - значит работает.

Теперь ставим 1С.
Нужны только веб-сервисы 1С (пакет 1c-enterprise83-ws ). И 1c-enterprise83-common , который в зависимостях прописан. И 1c-enterprise83-server , который в зависимостях не прописан, но без него утилита публикации пишет «Ошибка сегментирования».
В принципе, необходим только модуль для апача wsap22.so из пакета 1c-enterprise83-ws , а всё остальное можно через текстовый редактор сделать. Но я человек ленивый и лучше потрачу несколько мегабайт на 1С, чем буду руками вбивать строчки в конфиги. :)

Дальше надо создать папку для хранения настроек опубликованных БД 1С. Можно в дереве вебсервера, но я лучше отдельно сделаю, прямо в корне, /1с.
После этого из папки с установленными файлами 1С (/opt/1C/v8.3/i386 ) запускаем утилиту публикации webinst со следующими параметрами (публикую нашу тестовую базу):
./webinst -apache22 -wsdir testlitupp -dir /1c/testlitupp -connstr "Srvr=10.0.0.4;Ref=testlitupp;" -confPath /etc/apache2/apache2.conf Публикация выполнена

Apache22 - наша версия вебсервера
-wsdir testlitupp - папка на вебсервере, в которой будет доступна опубликованная база (http://вашсервер/testlitupp)
-dir /1c/testlitupp - папка, в которой будет храниться файл default.vrd с настройками публикации
-connstr «Srvr=10.0.0.4;Ref=testlitupp;» - ip сервера 1С и имя публикуемой базы данных
-confPath /etc/apache2/apache2.conf - путь к конфигу apache

Если было написано «Публикация выполнена», значит всё прошло удачно. Если пишет «Ошибка сегментирования», то вы, скорее всего, забыли поставить 1c-enterprise83-server .
По результатам имеем файл default.vrd

И несколько новых строк в файле конфигурации веб-сервера:

LoadModule _1cws_module "/opt/1C/v8.3/i386/wsap22.so" # 1c publication Alias "/testlitupp" "/1c/testlitupp/" AllowOverride All Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "/1c/testlitupp/default.vrd"
Перезапускаем апач (service apache2 restart) и идём смотреть, что там опубликовалось.
Опубликовалось, просит пароль.

И впускает в базу.

Работает. Дополнительные настройки публикации делаются через редактирование vrd-файлов (к примеру, включение отладки), а допиливанием интерфейса веб-клиента должны заниматься ваши программисты 1С.
Если будете дописывать опции, к примеру, с подключением сервисов руками, то не забудьте удалить в файле default.vrd последний слэш в строчке «base="/testlitupp" ib="Srvr=10.0.0.4;Ref=testlitupp;"/ >», я с этим долго возился. Если не удалить и что-то дописать после, то вылетает «ошибка 500» без дополнительной информации.
Какая будет нагрузка на вебсервер - я ещё не знаю, у нас это пока в тестовом режиме работает и хватает выделенных ресурсов. Но добавить памяти или ядер по мере увеличения потребностей проблем не составит.

В целом, в других дистрибутивах linux всё делается аналогично, различия только в способах установки старой версии apache.

Сегодня оставлю небольшой пост-заметку о настройке 1C 8.3 в части организации доступа через WEB сервер 1С и службы IIS 8.

Раньше я по старинке давал доступ пользователям к 1С средствами сервера терминалов. Тогда у меня на работе стоял Windows 2003 сервер c 1C версии 7, была лицензия сервера терминалов, где был развернут терминальный сервер. Статью по настройке этого добра я тоже когда-то писал, . Все было норм, но вот теперь у нас появилось новое железо (на базе Intel Xeon CPU E3-1220 v3, 8gb ОЗУ), новая 1С (v 8.3), новая операционная система (WIndows Server 2012 r2).

С начала наша бухгалтерия (8 пк) работали по сетевому диску, но в этом случае программа работает по принципу закачки файлов по сети и это ооочень медленно. Решено было найти способ ускорить работу.

Подумал о сервере терминалов, но у меня нет лицензии на сервер терминалов (в интернете не нашел, а покупать сказали дорого). Выход подсказали случайно, оказывается есть в 1C поддержка WEB сервера. Так как опыт с тем же Apache у меня есть и принцип работы я знаю, то решил освоить и WEB сервер 1C.

Установка и проверка всех компонентов

Начнем настройку с установки компонентов 1С Web сервера. Проверим, что у нас установлен модуль-расширение веб-сервера 1С. Если не установлен ставим.

Публикуем базу на веб сервер

Заходим в базу 1С в режиме конфигуратора. Далее идем в меню «Администрирование» - «Публикация на веб-сервере»

Публикуем!

Выставляем права на папки 1C

Следующий шаг, выставить права на следующие папки:

Папка bin в 1С.

Права ставим как на скрине ниже в меню безопасность.

Подключаемся к веб-серверу с компьютеров клиентов

Для этого создаем подключение к БД 1С - Пишем название подключения -> выбираем На веб-сервере -> далее как на картинке ниже:

После этого Вам будет доступно подключение к 1С уже через веб-сервер.

Ошибки с которыми встретился:

1C8.3 IIS «Обнаружено потенциально опасное значение Request.Path», полученное от клиента

После настройки Web сервера 1С столкнулся с проблемой: могу зайти по IP в 1С, логинюсь, но все меню не работали, не мог открыть ни одного окна кроме рабочего стола 1С. Долго парился, пока не нашел решение в инете.

Что нужно сделать:
1. Открываем IIS. Пуск - Выполнить - находим «Диспетчер служб IIS»
2. Открываем наш «сайт»
3. Идем в меню «Сопоставления обработчиков»
4. Ищем ISAPI-dll , и выбираем изменить.
5. Меняем путь запроса с «*.dll» на «*», Исполняемый файл (у Вас может быть другая версия 1С просьба быть внимательней) - «C:\Program Files (x86)\1cv8\8.3.6.2390 \bin\wsisapi.dll».
6. Сохраняем.

7. Проверяем.

На этом пока все. Если есть вопросы, постараюсь помочь.