Как опубликовать http сервис 1с из расширения
Настройка веб-сервера IIS
Большинство пользователей при работе в тонком или веб-клиенте используют в основном публикацию информационных баз на основании протокола HTTP. С одной стороны — это простой и быстрый способ дать доступ к информационной базе пользователю, у которого нет дистрибутива тонкого клиента, и он может работать только в веб-клиенте или у пользователя нет прямого доступа к серверу "1С:Предприятие". С другой стороны – информационные базы, опубликованным таким образом, категорически не рекомендуются публиковать в глобальной сети Интернет, так как в таком случае используется незащищенный канал, данные по которому могут быть перехвачены злоумышленниками. Например, распространенные виды атак это:
Внимание! В статье не рассматривается выпуск и получение сертификата проверенных поставщиков. Этот пункт должен быть выполнен самостоятельно на основании предпочтений выбора провайдера услуг. В статье предполагается что, пропуская шаг выпуска самоподписанных сертификатов, у пользователя или администратора он имеется в наличие и будет подставлен в настроечные файлы, вместо указанных в статье самоподписанных сертификатов.
План работ:
Включение компонент веб-сервера.
Windows Server 2012 R2, 2016 и 2019.
Выпуск самоподписанного сертификата (Необязательно).
1. Включение компонент веб-сервера
По умолчанию в операционной среде Windows компоненты веб-сервера не установлены. В зависимости от версии установка может несущественно различаться. Мы будем рассматривать два варианта – это распространенный дистрибутив Windows 10, если планируются использовать для пробного включения шифрования протокола и Windows Server 2016/2018, если уже планируется непосредственное разворачивание публикации в продуктивной зоне.
1.1. Windows 10
Включение компонентов веб-сервера IIS в операционной системе Windows 10 выполняется достаточно просто. Для начала нужно открыть раздел "Программы и компоненты" ("Programs and Features") в панели управления (Control panel). Сделать можно это несколькими способами:
Нажать сочетание клавиш Win + R и в открывшемся окне ввести "appwiz.cpl" и нажать ОК.
Открыть панель управления (Control panel) и выбрать пункт меню Программы – Программы и компоненты (Programs – Programs and features).
В окне "Программы и компоненты" ("Programs and Features") нажмите на кнопку "Включение и отключение компонентов Windows" ("Turn Windows features on or off").
Когда откроется окно "Компоненты Windows" ("Windows features") в нем необходимо будет проставить флажки для следующих элементов:
Компоненты разработки приложений
Средства управления веб-сайтом
Консоль управления IIS
После этого нажимайте на кнопку "OK" и дождитесь завершения выполнения операции. После того как включение компонент будет выполнено, можно переходить к пункту "2. Публикация информационной базы".
1.2 Windows Server 2012 R2, 2016 и 2019
Настройка компонент для Windows Server 2012 R2, Windows Server 2016 и Windows Server 2019 одинаковая и все настройки производятся в диспетчере серверов (Server Manager).
Откройте диспетчер серверов (Server Manager) и нажмите Управление – Добавить роли и компоненты (Manage – Add Roles and Features).
В ответ на нажатие откроется окно мастера добавления ролей и компонентов (Add Roles and Features).
В этом окне нажмите два раза "Далее" ("Next") пока мастер не переключится на страницу ролей сервера (Server Roles).
Во вкладке роли сервера (Server Roles) установите флажок "Web Server IIS". Так как эта роль зависит от другой роли ([Tools] IIS Management Console), то будет предложено установить ее дополнительно. Это можно сделать с помощью нажатия кнопки "Добавить компоненты" (Add Features) в открывшемся окне. После чего нажимаем кнопку "Далее" ("Next") пока мастер не дойдет до вкладки "Роль веб-сервера IIS" ("Web Server Role IIS"). На этой вкладке нажимайте кнопку "Далее" ("Next") и попадете на вкладку "Службу ролей" ("Role Services"). Во вкладке нужно найти пункт "Application Development" и выбрать в нем с помощью флажков пункты "ISAPI Extensions" и "ISAPI Filters". Как только закончите с установкой флажков нажимайте "Далее" ("Next") и "Установить" ("Install").
На этом установка веб-сервера завершена. Можно переходить к настройкам сертификатов.
2. Выпуск самоподписанного сертификата
Выпуск самоподписанного сертификата для веб-сервера IIS максимально простой.
Для реальных систем не рекомендуем использовать самоподписанный сертификат.
Для начала процедуры выпуска откройте окно Диспетчера служб IIS (Internet Information Services (IIS) Manager) и выделите сервер в списке Подключений (Connections) . После этого нажмите на ссылку "Сертификаты сервера" ("Server Certificates") .
Откроется окно доступных сертификатов сервера (Server Certificates) в котором нужно нажать "Создать самозаверенный сертификат…" ("Create Self-Signed Certificate…").
В окне мастера создания самоподписанного сертификата остается указать только произвольное название сертификата. В большинстве случаев, во избежание путаницы лучше явно указывать в качестве значения "Полное имя сертификата" ("Specify a friendly name for the certificate") адрес сервера, на котором расположен сервер IIS. Как только имя сертификата будет задано нажимайте на кнопку OK и переходите к пункту привязки сертификата.
3. Привязка сертификата
Предполагается, что сертификат получен и добавлен в список сертификатов сервера. Если сертификат получен с помощью распространенного сертифицирующего центра, то его нужно предварительно импортировать в окне "Сертификаты сервера" ("Server Certificates").
Как только сертификат появится в списке, переходим непосредственно к его привязки к публикации сайта. Для этого выделяем "Default Web Site" и в окне "Действия" ("Actions") нажимаем на пункт "Привязки…" ("Binding…").
В этом окне можно увидеть, что публикация работает только на порту 80, который относится к незащищенному протоколу HTTP. Чтобы его расширить, нажмите кнопку Добавить… (Add…) слева от списка привязок сайта и в открывшемся окне выберите Тип (Type) в качестве значения "https". Завершением настройки будет выбор ранее импортированного сертификата в списке "SSL-сертификат" ("SSL certificate"). Нажимаем кнопку OK и закрываем мастер привязок сайта.
Можно переходить к публикации информационной и проверки его работоспособности.
4. Проверка публикации
Для публикации информационной базы нужно открыть конфигуратор конкретной базы от имени администратора и перейти в пункт меню "Администрирование". После этого выбрать "Публикация информационной базы".
В окне публикации указать имя публикации и по желанию определить каталог, где будут находиться настройки публикации. Его также можно оставить по умолчанию.
После этого требуется нажать кнопку "Опубликовать" и дождаться окончания операции.
Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:
Речь идёт об операции из меню конфигуратора "Администрирование"-"Публикация на веб-сервере" (ИТС):
Поддержка этой операции в обновляторе стала возможной благодаря консольной утилите 'webinst.exe' (ИТС), которая идёт в комплекте с платформой 1С при установке компоненты 'Модули расширения веб-сервера'.
Настройка параметров публикации базы
Заходим в свойства базы и нажимаем ссылку "<настроить. >" справа от пункта "Публикация" (доступна также групповая настройка):
В открывшемся диалоге заполняем необходимые параметры:
Веб-сервер
Поддерживается публикация для веб-серверов IIS и Apache, при этом они должны быть настроены специальным образом:
- инструкция для IIS (ИТС)
- инструкция для Apache (ИТС)
Веб-сервер и платформа 1С, которую мы используем для публикации, должны работать на одном компьютере.
Создаём новый или выбираем уже созданный веб-сервер:
Адрес, включая порт
Здесь нужно указать адрес по которому будет доступно содержимое веб-сервера. Эту информацию можно узнать из настроек веб-сервера.
Для веб-серверов IIS эта информация указана в оснастке "Диспетчер служб IIS".
Эта настройка никак не влияет на операцию публикации в обновляторе. Он носит информативный характер и позволяет:
- отличать один веб-сервер от другого (если их несколько)
- формировать ссылку на опубликованную базу, чтобы вы сразу могли перейти по ней и проверить корректность публикации
Версия платформы
Здесь необходимо указать версию и битность платформы, которая будет использована обновлятором для публикации базы на веб-сервере.
Обратите внимание, что с одним веб-сервером можно использовать только одну версию платформы 1С.
Если требуется использовать параллельно несколько версий платформы 1С для публикации, то обычно:
- заводят по отдельному веб-серверу Apache на каждую версию платформы (обновлятор полностью поддерживает этот сценарий работы)
- делают специальную настройку веб-сервера IIS (обновлятор не поддерживает этот вариант)
Разрядность веб-сервера и платформы 1С должны:
- либо совпадать (32 и 32, 64 и 64)
- либо это должен быть 64-разрядный IIS и 32-разрядная платформа 1С; при этом требуется специальная настройка IIS (ИТС)
Не забудьте дать полные права на папку, куда установлена платформа 1С, для группы пользователей IIS_IUSRS (если используется IIS), либо для учётной записи от имени которой запускается служба Apache.
Путь к конфигурационному файлу
Эта настройка указывает обновлятору на конфигурационный файл установленного веб-сервера Apache.
Корневая папка по умолчанию для новых публикаций
Эта папка используется для автоматического формирования каталога для публикации конкретной базы, если нажать кнопку 'звёздочка' справа поля "Каталог публикации".
Вы можете расположить эту папку в любом удобном для вас месте на компьютере.
Не забудьте дать полные права на эту папку для группы пользователей IIS_IUSRS (если используется IIS), либо для учётной записи от имени которой запускается служба Apache.
Скрипт для перезапуска веб-сервера
Формат скрипта - последовательность команд, предназначенных для исполнения командным интерпретатором (подробнее).
Я сам подсматриваю синтаксис таких скриптов здесь и здесь.
Обновлятор будет будет запускать этот скрипт после публикации или отключения публикации на веб-сервере, если для операции будет включён соответствующий параметр.
Для генерации этого скрипта обновлятором нажмите ссылку "Сгенерировать скрипт".
Имя публикации
Придумайте имя, по которому база будет доступна на веб-сервере. Используйте кнопку 'звёздочка', чтобы обновлятор сам сгенерировал подходящее имя.
Каталог публикации
Укажите отдельную папку для публикации этой базы на веб-сервере. Она может быть расположена в любом месте на компьютере.
Не забудьте дать полные права на эту папку для группы пользователей IIS_IUSRS (если используется IIS), либо для учётной записи от имени которой запускается служба Apache.
Используйте кнопку 'звёздочка', чтобы обновлятор сам сгенерировал подходящую папку для публикации.
Публиковать доступ для клиентских приложений
Эта опция отвечает за возможность работы с опубликованной информационной базой с помощью тонкого, мобильного и веб-клиента.
Публиковать стандартный интерфейс OData
Отвечает за возможность получения доступа к стандартному интерфейсу OData (ИТС) прикладного решения.
Публиковать дистрибутив тонкого клиента
Определяет возможность получения и установки клиентского приложения (тонкого клиента) в том случае, если не совпадают версии клиентского приложения и сервера. В качестве дистрибутива используется zip-архив:
- Windows x86 - дистрибутив 32-разрядного клиентского приложения для ОС Windows.
- Windows x86_64 - дистрибутив 64-разрядного клиентского приложения для ОС Windows.
- MacOS x86_64 - дистрибутив 64-разрядного клиентского приложения для ОС MacOS.
Не забудьте дать полные права на папку с дистрибутивами для группы пользователей IIS_IUSRS (если используется IIS), либо для учётной записи от имени которой запускается служба Apache.
Переходить при окончании работы веб-клиента
Позволяет указать URL, на который будет выполняться переход после окончания работы веб-клиента.
Публиковать Web-сервисы по умолчанию
Отвечает за возможность использования в данной информационной базе Web-сервисов, которые опубликованы без явного указания разрешения использования.
Публиковать Web-сервисы расширений по умолчанию
Отвечает за возможность использования Web-сервисов, которые поставляются в расширениях конфигурации.
Публиковать Web-сервисы из списка
Содержит перечень публикуемых Web-сервисов (ИТС) и позволяет управлять публикацией каждого Web-сервиса.
Первая колонка управляет публикацией конкретного Web-сервиса. Если флажок сброшен, то данный Web-сервис будет запрещен к использованию (его нельзя будет вызвать).
Вторая колонка (с именем Имя) содержит имя Web-сервиса, как оно задано при создании.
Последняя колонка таблицы (с именем Адрес) содержит псевдоним имени публикуемого Web-сервиса. Обращение к Web-сервису возможно как по имени, так и по псевдониму.
Использовать OpenID-аутентификацию
Этот флаг включает для данной информационной базы возможность использования OpenID-аутентификации.
Использовать в качестве OpenID-провайдера
В этом случае публикуемая информационная база будет выступать в роли OpenID-провайдера.
Опция "Время жизни аутентификации" указывает время жизни признака аутентификационных данных в секундах. Максимальное время жизни аутентификационных данных составляет 604 800 секунд (7 суток).
Содержимое списка адресов представляет собой регулярное выражение, которое определяет маску разрешенных имен сайтов, на которые могут выполняться переадресации пользовательского веб-браузера после исполнения команды OpenID-провайдера.
Каталог временных файлов
Позволяет указать каталог временных файлов для работы расширения веб-сервера или файлового варианта информационной базы.
Фоновые задания в файловом варианте
Этот параметр описывает возможность использования фоновых заданий в файловом варианте информационной базы.
Размер пула соединений
Размер пула ‑ максимальное количество соединений в пуле.
Время жизни соединения в пуле
Время жизни соединения в пуле ‑ максимальное время жизни соединения в пуле, в секундах. Если в течение указанного времени соединение не было востребовано, оно будет удалено из пула.
Число попыток соединения с сервером 1С
Максимальное количество попыток установки соединения с сервером «1С:Предприятия».
Время ожидания соединения с сервером 1С
Время ожидания установления соединения с сервером «1С:Предприятия», миллисекунды.
Время ожидания между попытками соединения с сервером 1С
Время ожидания между попытками установления соединения с сервером «1С:Предприятия», миллисекунды.
Таймаут проверки соединения с сервером 1С
Период проверки соединения с сервером 1С
Период проверки системы отслеживания разрыва соединений, миллисекунды.
Отладка
Указывает необходимость запуска в отладочном режиме.
Адрес отладчика
Указывает адрес отладчика, к которому нужно автоматически подключиться для отладки, где localhost указывает на поиск на локальном компьютере, «1560» ‑ номер сетевого порта. Если порт не указан, то будут проверяться все порты в диапазоне портов 1560–1591. Указание tcp:// эквивалентно tcp://localhost. Если адрес отладчика не указан, в процессе исполнения кода на встроенном языке отладка производиться не будет.
Если протокол отладки, указанный с помощью атрибута protocol, не совпадает со схемой, указанной в атрибуте url, соединение с отладчиком не будет установлено и работа продолжится без возможности отладки.
Управление публикацией на веб-сервере
Где находится
В контекстном меню базы:
Вывод информации
Публикация
Не забудьте дать полные права на папку с публикуемой базой для группы пользователей IIS_IUSRS (если используется IIS), либо для учётной записи от имени которой запускается служба Apache.
Отключить публикацию
Расписание
При необходимости вы можете вставить операцию "Управление публикацией на веб-сервере" в скрипт, вот так:
Далее сохранить (кнопка "Сохранить") файл со скриптом на диск.
И далее в расписании выбрать операцию "запуск скрипта" и указать этот файл:
Внимание. Если скрипт включает в себя перезагрузку веб-сервера, не забудьте включить в задаче опцию "Запускать с наив. правами":
Действия при обновлении платформы
Примерный порядок действий для обновления платформы 1С при уже имеющихся публикациях на веб-сервере.
- Выгнать пользователей из баз (в обновляторе это меню "Опасные операции", пункт "7. Запретить работу в базе").
- Удалить старую платформу 1С.
- Установить новую платформу 1С.
- Изменить версию платформы (если она была там прописана) на новую в свойствах веб-сервера в обновляторе.
- Запустить повторную публикацию из обновлятора с перезагрузкой веб-сервера. Для этой операции обновлятор должен быть запущен правой кнопкой мыши, пункт "Запуск от имени администратора". Закрыть обновлятор (чтобы следующие операции мы выполняли без повышенных привилегий).
- Разблокировать базы (в обновляторе это меню "Опасные операции", пункт "8. Разрешить работу в базе. ").
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Создаем php файл с текстом:
<?php
// Проверка наличия ошибок
if ($output === FALSE)
echo "cURL Error: " . curl_error($ch);
>
//Выводим сервисную информацию по выполнению запроса
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds for url ' . $info['url'];
// Очистка ресурсов
curl_close($ch);
*/
echo "<br>";
echo "<br>";
$obj = json_decode ( $output , true );
echo "Выводит все содержимое JSON";
echo "<br>";
var_dump ( $obj ); // Выводит все содержимое JSON в браузер
echo "<br>";
echo "<br>";
echo "Выводит одну запись из массива JSON";
echo "<br>";
$Code = $obj [1]['Code'];
echo $Code ;
echo "<br>";
$Naim = $obj [1]['Naim'];
echo $Naim ;
echo "<br>";
echo "<br>";
echo "Выводит циклически из массива JSON все записи";
echo "<br>";
foreach ( $obj as $key => $value)
<
foreach ( $obj [ $key ] as $key => $value )
<
echo $key .':'. $value . PHP_EOL ;
echo "<br>";
>
>
?>
Результат выполнения
/*
//Первый способ
// Получение файла JSON используя file_get_contents($url)
//отправляем запрос с параметрами
$username = "Администратор";
$password = "1";
$auth = base64_encode("$username:$password"); //Создаем строку авторизации
//по типу Basic auth, для авторизации в веб-сервисе
$context = stream_context_create([
'http' => [
'method' => "GET",
'header' => "Authorization: Basic $auth"
]
]);
$url ='http://localhost/test/hs/ob/OblistAll';
$output = file_get_contents($url, false, $context);
*/
//Второй способ
//Получение файла JSON используя curl
//Авторизация
$username = "Администратор";
$password = "1";
$host_api font-size: medium;">localhost /test";
$ch = curl_init ( $host_api );
// Проверка наличия ошибок
if ( $output === FALSE )
<
echo "cURL Error: " . curl_error ( $ch );
>
//Выводим сервисную информацию по выполнению запроса
$info = curl_getinfo ( $ch );
echo 'Took ' . $info ['total_time'] . ' seconds for url ' . $info ['url'];
// Очистка ресурсов
curl_close ( $ch );
echo "<br>";
echo "<br>";
$obj = json_decode ( $output , true );
echo "Выводит все содержимое JSON";
echo "<br>";
var_dump ( $obj ); // Выводит все содержимое JSON в браузер
echo "<br>";
echo "<br>";
echo "Выводит одну запись из массива JSON";
echo "<br>";
$Code = $obj [1]['Code'];
echo $Code ;
echo "<br>";
$Naim = $obj [1]['Naim'];
echo $Naim ;
echo "<br>";
echo "<br>";
echo "Выводит циклически из массива JSON все записи";
echo "<br>";
foreach ( $obj as $key => $value)
<
foreach ( $obj [ $key ] as $key => $value )
<
echo $key .':'. $value . PHP_EOL ;
echo "<br>";
>
>
?>
Перейдем на закладку Шаблоны URL и добавим новый шаблон URL:
Укажем имя Hello, шаблон /hello:
Для шаблона URL добавим новый метод:
Добавим еще пару строк кода:
Ответ . Заголовки . Вставить ( "Content-Type" , "text/html; charset=utf-8" ) ;На этом все. Сохраняем конфигурацию базы данных.
Установка веб-сервера
Теперь нужно установить веб-сервер.
1С поддерживает два веб-сервера:
Apache
Apache является бесплатным кроссплатформенным веб-сервером. Для его установки переходим по ссылке и в верхней части скачиваем Apache нужной разрядности. Разрядность определяется по разрядности платформы 1С. Я скачаю 32-х разрядную:
Распакуем скачанный архив и скопируем папку Apache24 на диск C, так как по умолчанию в конфигурационном файле прописан именно такой путь.
Так как теперь используется не стандартный порт, то для проверки в браузере нужно ввести localhost:8080.
Если каталог с Apache был скопирован в Program Files, то нужно дать права на каталог с Apache для роли Пользователи:
Теперь нужно установить Apache как службу. Для этого закроем окно с веб-сервером и запустим командную строку от имени администратора. В командной строке введем cd C:\Apache24\bin, чтобы перейти в каталог с apache:
Для запуска службы в каталоге C:\Apache24\bin запустим ApacheMonitor.exe. В трее появится значок для управления службой Apache:
Щелкнем по нему левой кнопкой мыши и выберем команду Start:
IIS (Internet Information Services)
В открывшемся окне в группе Службы IIS нужно отметить следующие компоненты:
И дождаться окончания их установки.
В открывшемся окне в правой части нажать на кнопку Запустить:
По умолчанию IIS запускается на 80 порту. Для проверки нужно в браузере в адресной строки ввести localhost, должна загрузиться страница с IIS:
Чтобы изменить порт нужно в диспетчере IIS в левой части в разделе Сайты выделить Default Web Site:
И в правой части нажать на кнопку Привязки:
В поле Порт указать нужный порт, например 8080 и нажать ОК:
Чтобы 64-х разрядный IIS мог работать с 32-х разрядной платформой 1С нужно в диспетчере IIS в левой части выделить пункт Пулы приложений, в списке пулов выделить DefaultAppPool и нажать на кнопку Дополнительные параметры:
В открывшемся окне нужно для свойства Разрешены 32-разрядные приложения установить True и нажать ОК:
Модули расширения веб-сервера
Теперь нужно установить модули расширения веб-сервера 1С (если они еще не установлены). Для этого в Windows перейдем в Приложения и возможности, найдем нужную версию платформы 1С и нажмем Изменить:
В открывшемся окне выберем Изменить и нажмем Далее:
Здесь нужно отметить пункт Модули расширения веб-сервера и продолжить установку:
Я буду выполнять публикацию на веб-сервере Apache, для IIS процесс ничем не отличается.
В открывшемся окне нужно ввести произвольное имя (на латинице), выбрать веб-сервер Apache 2.4, в свойстве каталог выбрать созданную нами папку C:\Apache24\htdocs\testbase\. Затем нужно снять все флажки, в том числе на закладке Web-сервисы:
Нажимаем Опубликовать:
1С предложит перезапустить веб-сервер, откажемся и сделаем это вручную через ApacheMonitor командой Restart:
Для выполнения публикации базы данных вам потребуются: установленная программа 1с (файловый или клиент-серверный вариант базы - не важно), дистрибутив установки 1С, установить web-сервер (IIS, Apache), иметь права администратора компьютера на текущем пользователе для того чтобы устанавливать программное обеспечение и назначать права на папки.
В данной статье, мы будем использовать файловую базу данных и веб-сервер IIS. Настройку веб-сервера будем рассматривать в минимально необходимом варианте для целей публикации 1с.
Вне зависимости, какой веб-сервер вы предпочли, публикация базы будет состоять их нескольких подобных шагов:
Запускаем из дистрибутива программы файл 1CEnterprise 8.msi. В появившемся окне выбираем "Изменить"
Теперь щелкаем "Далее >"
Выбираем для установки "Модули расширения веб-сервера" и, щелкнув "Далее >", устанавливаем выбранный компонент.
Теперь нам надо получить работающий веб-сервер. Как уже отмечалось, для демонстрации был выбран IIS. Качать ничего ниоткуда не надо, он уже есть в Windows, и сейчас мы его установим.
Для того чтобы добраться до установки дополнительных компоненты Windows нам потребуются некоторые права. Интерфейс системы может быть настроен у всех по разному, поэтому воспользуемся командной строкой чтобы вызвать "Панель управления"
Нажимаем кнопки Win+R чтобы вызвать командную строку, вводим "Control" и нажимаем OK
После этого у нас должна открыться "Панель управления"
Для удобства выбираем просмотр "Мелкие значки" и выбираем "Программы и компоненты". Далее нам необходим выбрать пункт "Включение или отключение компонентов Windows"
Для того, чтобы web-сервер работал в локальной сети нам необходимо найти каталог со службами IIS и проставить следующие галочки:
Расширения ISAPI, Контроль управления IIS, Служба управления IIS, Сценарии и средства управления IIS.
После этого нажимаем OK и применяем наши изменения.
Сейчас нам надо вновь вернуться в Панель управления и перейти в этот раз по ссылке "Администрирование". После подключения дополнительных компонентов Windows здесь появится оснастка "Диспетчер служб IIS"
Запускаем ее, выбираем "Пулы приложений" >" Default App Pool", щелкаем правой кнопкой мыши и в появившемся меню выбираем пункт "Дополнительные параметры", устанавливаем параметр "Разрешены 32-разрядные приложения" в True.
Дополнительно настроим Default Web Site и пропишем ему IP-адрес нашего компьютера в сети. Щелкаем правой кнопкой мыши на "Default Web Site" , выбираем "Изменить привязки", указываем IP адрес машин с Web-сервером и сохраняем. Порт по умолчанию 80.
Создаем папку для обмена. В нашем случае она будет расположена на диске D, назовем ее Exchange.
Добавляем пользователю IUSR необходимые права на чтение на каталог Bin текущего релиза конфигурации и права на изменение каталога базы, если база файловая. (Правая кнопка мыши на папке, Свойства-Безопасность). Вот выдержка из ИТС, думаю, тут можно без комментариев оставить:
Далее, проводим публикацию в конфигураторе. Для этого надо войти в меню "Администрирование - Публикация на веб-сервере". Отключаем все галочки, оставляем только Http-сервис "Передача данных". Он нам не особо нужен, но без него при публикации нам сообщат, что нечего публиковать. Для того, чтобы публиковать сервисы из расширения, 1с рекомендует ставить галочку "Публиковать Http-сервисы по умолчанию". Можно ее поставить и все будет работать. Но я предлагаю отредактировать файл и внести туда настройки базы вручную. Поэтому, галку можно не ставить.
В нашем каталоге обмена создано два файла, оба можно прочитать обычным блокнотом. Интересовать нас будет default.vrd
Открываем и пролистываем до секции HTTP-сервисов, они в конце. Тут сейчас один-единственный http-сервис, который называется "Передача данных". Копируем его:
Меняем у нового блока соответствующие поля на названия нашего http-сервиса из расширения. Name = "HS_Price", rootUrl = "hs_price", reuseSessions = "autouse" (почему то с значением use у меня работать на захотел). Сохраняем.
Пытаемся вызвать наш сервис. Все заработало, но надоедает окно авторизации. Данные в него вводить не очень удобно, для авторизации нужно указать данные учетной записи 1с.
Читайте также: