Подключение WEB к 1С-предприятие 7.7
6 Апреля, 2012Просмотров: 21434
Для реализации данной задачи рассмотрим "Web-расширение" для платформы "1С:Предприятие". "1С:Web-расширение" позволяет создать простой механизм для удаленного доступа пользователей к программным комплексам, реализованным на базе "1С:Предприятие".
"1С:Web-расширение" — это чисто технологический компонент, обеспечивающий связь "1С:Предприятия" и Web-сервера. Он реализован на основе технологии Active Server Pages (ASP) в среде Microsoft Internet Information Server 4.0 или выше.
Как известно, ASP-технология подразумевает включение программного кода (сценария) непосредственно в исходную HTML-страницу. Обнаружив этот код, сервер передает его программе-интерпретатору, выполняющей обнаруженный код и формирующей законченную HTML-страницу, которая затем оправляется сервером в браузер пользователя.
Сама ASP-технология не содержит встроенных средств для выполнения скриптов — эти функции возлагаются на сервер. В качестве стандартного набора таких исполняемых механизмов в составе IIS имеются JavaScript Engine и VBScript Engine для соответствующих языков. Однако самое важное здесь заключается в том, что IIS использует технологию Active Scripting, открытые интерфейсы которой позволяют разрабатывать и подключать произвольные скриптовые языки.
Именно этот факт используется в решении "1С", которое предусматривает создание ASP-приложений с применением встроенного языка "1С:Предприятие", схема которого приведена на рис. 1. Собственно продукт "1С:Предприятие 7.7. Web-расширение" включает две необходимые технологические программные части: Web-компоненту для "1С:Предприятия" и библиотеку V7 Scripting Engine.
В общем виде логика работы заключается в том, что при обработке страницы IIS передает в V7 Scripting Engine сформированный скрипт (просто складывая последовательные фрагменты кода), который фактически представляет собой модуль для исполнения в среде "1С:Предприятие". Кроме того, IIS передает контекст страницы в виде набора доступных объектов, которые библиотека также отправляет далее в "1С:Предприятие". Соответственно все эти объекты становятся доступными для "1С:Предприятия" через свой встроенный объект ASP (он входит в состав Web-компоненты). Через ASPобъект приложение может также вызывать процедуры и функции, реализованные на других скриптовых языках. Объекты самого IIS — Request, Response, Application, Session и Server — доступны из скрипта напрямую.
Задача разработки Web-приложения заключается в создании комплекса ASP-страниц, обеспечивающих взаимодействие удаленного пользователя с некой конфигурацией, работающей в среде "1С:Предприятие". Очевидно, что не существует неких универсальных схем разработки Web-приложений (впрочем, как и как обычных). Однако Интернет-доступ обязательно требует решения проблемы авторизации доступа. Учитывая это в общем случае Web-приложение должно состоять из трех частей:
Незащищенной части, по которой любой пользователь может ходить произвольным образом.
Блока, обеспечивающего авторизацию пользователя.
Защищенной части, в которую пользователь попадает только после авторизации. Перемещения здесь производятся под постоянным контролем механизма авторизации с учетом полученных пользователем прав доступа.
В версии 2.0 логика разработки и написания кода осталась в целом такой же, однако в новом продукте появились некоторые полезные дополнительные функции и средства:
- обеспечена синхронизация работы всех элементов Web-приложений с помощью Диспетчера;
- реализована возможность интерактивной настройки и контроля через стандартное средство администрирования Microsoft Management Console;
- добавлен специальный конструктор для создания макетов Web-приложений, в которые можно переносить справочники, документы, журналы и отчеты "1С:Предприятия".
При создании HTML страницы используются стандартные средства, для подключения 1С нужно активировать V7Script. Для этого в первую очередь нужно записать в самую первую строчку страницы директиву <%@Language=V7Script%>, которая указывает, что для выполнения программы IIS должен использовать библиотеку V7 Scripting Engine. Код скрипта пишется с использованием тега <%%>, т.е. он соответствует языку, который установлен для этой страницы в качестве первичного. Например вывод справочника в таблице:
<%@Language=V7Script%>
<%
Перем Номер;
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Тест</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table border="0" width="100%" cellspacing="1" cellpadding="2">
<% Если Строка(Request.QueryString("nohead").Item) = "" Тогда %>
<tr>
<td colspan="2" class="header"><center><h1>Коды брака.</h1></center>
</td>
</tr>
<% КонецЕсли; %>
<tr>
<td valign="top" align="left" width="95%">
<%
спр = СоздатьОбъект("Справочник.ТипДефекта");
спр.ПорядокКодов();
спр.ВыбратьЭлементы();
%>
<center>
<table align="center">
<hr>
<tr><td colspan=2>
<br>
</td></tr>
<tr class="reportheader">
<td align="center">Код</td>
<td align="center">Наименование</td>
</tr>
<%
Пока спр.ПолучитьЭлемент() = 1 Цикл
%><tr class="reportitem">
<td><center><%= СокрЛП(спр.код)%></center></td>
<td><left><%= СокрЛП(спр.Наименование)%></left></td>
</tr>
<%
КонецЦикла;
%>
</td>
</tr>
</table>
</center>
</tr>
</table>
</body>
</html>
Диспетчер Web-расширения — вызван необходимостью обеспечить надежную работу нескольких экземпляров ASP-приложений и нескольких систем "1С:Предприятие" одновременно. Диспетчер распределяет запросы на исполнение ASP-страниц, поступающих от IIS, среди доступных в данный момент "1С:Предприятий" в соответствии с заданными настройками. Пользователь можно вызвать окно Диспетчера, в котором видны параметры текущих настроек и статистика работы. Настройка самого диспетчера заключается в установке двух параметров — временного интервала сбора статистики и имени файла, используемого при обращении к Администратору.
Например запуск 1С Предприятие в режиме WEB расширения:
1cv7s.exe enterprise /D[путь] [/Nпользователь /Pпароль] /W:[имя]
Если имя отсутствует, то запускается в общем режиме, и в описании 1С будет рядом с WEB-расширение стоять *, если указано то вместо звездочки будет имя, требуется когда происходит запуск разных баз 1С.
Представляя свое решение, разработчики "1C" всегда подчеркивают, что создание Web-расширения не ставит целью конкурировать с
существующими средствами разработки Web-приложений. Задача более конкретная — открыть простой и удобный доступ к работающим прикладным системам "1С:Предприятия" через Web.
В рубрике: Программирование » Софт-обзор » Новости » Свои разработки » Web
Теги: 1Cv7 1С-предприятие WEB
Вы можете следить за комментариями к этой записи поRSS
Оставьте комментарий