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

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

Максимально снизить системные требования к пользовательским машинам и по полной использовать возможности, реализованные в можно выполнив публикацию 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/Имя публикации» и обнаружив там форму идентификации пользователя.

Отправить эту статью на мою почту

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

Выполним несколько простых шагов:

1. Скачаем и установить сервер Apache. Сервер Apache стабильной версии 2.2, которая без проблем работает с 1С, можно скачать .

2. Замените файл конфигурации сервера Apache "httpd.conf" , обычно конфигурационный файл находится по этому пути - "C:\Apache24\conf", если вы устанавливали Apache в корень диска "С". Только после замены проверьте каждую строку в файле, чтобы все пути совпадали с реальными.

3. В итоге ваш веб-сервер Apache должен заработать примерно так:

4. Открываем конфигуратор нужной базы 1С (обязательно от имени администратора ), которую планируем опубликовать на веб-сервере Apache, например, я для теста опубликую демо-версию типовой конфигурации 1с торговля 8 ред. 11.1:

5. В конфигураторе 1С кликаем по главному меню Администрирование - Публикация на веб-сервере:

Здесь выбираете веб-сервер Apache 2.2, задаете имя базы (любое, например DemoTrd), в поле "Каталог" указываете путь к Вашему серверу Apache, где хранятся веб-документы, если сервер устанавливали в корень диска "С", то путь будет такой - "C:\Apache24\htdocs\". Нажимает кнопку Опубликовать. Дополнительно, 1С Вас попросит перезапустить службу сервера Apacge, согласитесь. В итоге публикация будет успешно выполнена:

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

Также перейдите в главном меню в "Сервис" - "Параметры", и установите там флаги "Устанавливать режим разрешения отладки" и "Начинать отладку при запуске":

Также обязательно включите в файл настройки публикации 1С (C:\Apache24\htdocs\default.vrd) специальную строку - "", в моем случае файл "default.vrd" будет

1. Скачать веб-сервер APACHE

там выбрать Binaries – папка Win32 - файл httpd-2.2.25-win32-x86-no_ssl.msi – если установка происходит по Windows) и установить.

Настраивать и переписывать файлы APACHE не нужно (везде нажимать "Далее"). После установки он сам появится и запустится в системных значках. В следующем окне вверху можно вписать любую информацию, на работоспособность это не влияет.

2. После установки проверить работоспособность web-сервера. При переходе в браузере по адресу http: //localhost должно отображаться следующее окно:

3. Если при установке платформы 1С не были установлены компоненты работы с веб-сервером, их надо установить (через установку платформы):

4. Далее зайти в "Конфигуратор"-"Администрирование"-"Публикация на веб-сервере...". Необходимо английскими буквами указать имя базы в поле "Имя". Выбрать пустой каталог (путь к нему не должен содержать русских символов, см. пример ниже).

Установить флаг "Публиковать Web-сервисы", в списке веб-сервисов установить флажок у нужного сервиса.

После выполнения этих действий проверить доступность веб-сервиса 1С можно, введя в браузере:

ip-компьютера/ИмяБазы/ws/Алиас указанный при публикации.1cws?wsdl. При этом должно открыться XML описание свойств и методов веб-сервиса(а не страница ошибки)

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

Пошаговая инструкция настройки web-сервисов для 1Сv8 и IIS

1. Установка IIS выполняется стандартными средствами. Необходимо установить следующие компоненты:

Web Management Tools:

IIS 6 Scripting Tools

IIS 6 WMI Compatibility

IIS Metabase and IIS configuration compatibility

IIS Management Console

IIS Management Scripts and Tools

World Wide Web Services:

ISAPI Extensions

Default Document

Directory Browsing

Static Content Compression

Request Filtering

Набор достаточных компонент приведен на скриншоте ниже.


2. Если при установке платформы 1С не были установлены компоненты работы с веб-сервером, их надо установить (через установку платформы):

Далее зайти в "Конфигуратор"-"Администрирование"-"Публикация на веб-сервере...". Необходимо английскими буквами указать имя базы в поле "Имя". Выбрать пустой каталог (путь к нему не должен содержать русских символов, см. пример ниже). Установить галку "Публиковать Web-сервисы", в списке веб-сервисов установить флажок у сервиса "rg1CTCService". Нажать "Опубликовать".

В диалоге о перезапуске веб-сервера нажать "да".

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

3. Указать права для обработчика web-сервисов 1С. Права на запуск (Execute) модулей добавляются для группы IIS_IUSRS на папку...1cv81\BIN\

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

5. В консоли IIS. Кликаем правой кнопкой мыши на строку с созданной нами папкой. Преобразовываем её в приложение.


6. Добавить настройки для обработки файлов 1С. На вкладке Handler Mappings добавить скрипты (не скрипты со звездочкой) для расширения -"*.1cws".

Имя любое.

Request Restrictions -> Access -> Script или Execute.

7. Для обработчиков нужно указать дополнительные параметры (Edit Feature Permission). Установить флаги запуска скриптов и приложений.

8. Проверить наличие обработчика web-сервисов 1С на вкладке ISAPI and CGI Restrictions для сервера.

Если установка идет в 64 разрядном окружении, то для обработчика нужно включить режим Alpplication Pool -> DefaultAppPool -> Enable 32-bit Application -> True.

9.. Для проверки правильности выполнения обратиться по адресу IP-компьютера/ИмяБазы/ws/Алиас_указанный_при_публикации.1cws?wsdl.

При этом должно открыться XML описание свойств и методов веб-сервиса(а не страница ошибки)

В соответствии со скриншотом пункта 2 адрес будет выглядеть следующим образом: http: //ip/IB/ws/WSName.1cws?wsdl

Для начала скажу, что я не гуру ни в Apache, ни в 1С, ни в IIS. Тем не менее, окунуться пришлось, так как передо мной встала простая задача — локальная сеть плюс несколько баз 1С:8.3 плюс несколько пользователей. И, естественно, защита от возможных сбоев …и минимальный бюджет.

Не буду писать про попытку, в общем удачную, использования 1С совместно с sql-сервером postgres. Снимаю шляпу перед этой СУБД, но я от этого пути отказался.

Выбор пал на использование файловых версий баз и публикацию их на веб-сервере. 1С работает с Apache и IIS. Про достоинства Apachе можно не рассказывать — у всех на слуху. В отношении 1С можно добавить лишь то, что публикация баз происходит на Apache без дополнительных настроек. Повозиться пришлось лишь с дистрибутивом этого популярного веб-сервера, который грамотно пропишется в установленных программах ОС Windows. Да, забыл упомянуть, что всё разворачивается на этих ОС. Проблема состоит в том, что 1С не видит Apache, если сервер установлен простым копированием. Баловался созданием кустарных установщиков Apache для того, чтобы версию 2.4 поставить — не помогло. Ну не видит 1С-ка веб-сервер и всё тут. Тем не менее, подходящий дистрибутив версии 2.2 был найден.

Всё пошло как по маслу. До начала реальной работы нескольких пользователей с несколькими базами. Периодически у всех в сети появлялась надпись «Сеанс отсутствует или удалён» с предложением перезагрузить базу, либо выйти. Программа при этом, что логично, прекращала работу у всех пользователей сразу. Работа в таком режиме продолжалась. Потерь данных не было, но терпение моё и сотрудников не было безгранично. Попытки найти решение на просторах интернета не привели ни к чему, кроме усугубления ситуации при изменении параметров работы Apache (ThreadsPerChild; MaxRequestsPerChild; TimeOut).

Тогда я решил пробовать перейти с Apache на IIS. При этом, IIS поднимался на платформе обычной настольной Win7x64 из состава штатной поставки операционки. По настройкам IIS под нужды веб-сервиса 1С в сети информации много. Например вот . Сначала всё шло неплохо, но…

Через непродолжительное время опять произошло падение с той же самой ошибкой.

Тогда я попробовал создать несколько пулов приложений и распределить веб-приложения (базы) между ними. В результате w3wp.exe, рабочий процесс IIS, был запущен столько раз, сколько пулов приложений было задействовано при загрузке баз данных. При этом именем пользователя каждого запущенного процесса стало имя пула приложений IIS. Нагрузка была распределена.

Что могу сказать? Сутки работы проходят без сбоев. Заметно увеличилось потребление оперативной памяти. Но раньше оно, возможно, тоже было бы большим. Просто процессы и httpd сервера Apache, и w3wp сервера IIS вылетали до нужного разрастания. По достижении некоторой критической массы.

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

просмотров