Подключение WEB к 1С-предприятие 7.7

6 Апреля, 2012 Dunadan KSMПросмотров: 20810
Для реализации данной задачи рассмотрим "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.
WEB0
В общем виде логика работы заключается в том, что при обработке страницы 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С:Предприятий" в соответствии с заданными настройками. Пользователь можно вызвать окно Диспетчера, в котором видны параметры текущих настроек и статистика работы. Настройка самого диспетчера заключается в установке двух параметров — временного интервала сбора статистики и имени файла, используемого при обращении к Администратору.
WEB1WEB2
Например запуск 1С Предприятие в режиме WEB расширения:
1cv7s.exe enterprise /D[путь] [/Nпользователь /Pпароль] /W:[имя]
Если имя отсутствует, то запускается в общем режиме, и в описании 1С будет рядом с WEB-расширение стоять *, если указано то вместо звездочки будет имя, требуется когда происходит запуск разных баз 1С.
Представляя свое решение, разработчики "1C" всегда подчеркивают, что создание Web-расширения не ставит целью конкурировать с 
существующими средствами разработки Web-приложений. Задача более конкретная — открыть простой и удобный доступ к работающим прикладным системам "1С:Предприятия" через Web.
twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

В рубрике: Программирование » Софт-обзор » Новости » Свои разработки » Web

Теги:

Вы можете следить за комментариями к этой записи поRSS

Оставьте комментарий

аноним

совет Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

комментатор / стать им

как?Укажите свой действующий email и пароль. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные включая адрес сайта, ник, описание, контакты и т.д.

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)