Web Расширение 1С

Web Расширение 1С

Форум 1С программирование, форум: общие вопросы программирования (Dev), тема: WEB-расширение. WEB расширение 1С 8. 0 Создание web приложений и web сервисов для 1Cv8. Программный продукт.

Для одного проекта было необходимо использование веб-сервисов 1С, мы строили систему автоматизации склада, и терминалы сбора данных напрямую подключаются к 1С, сами клиенты разработаны на.NET. Получилась очень интересная структура.

Полученную информацию о настройках 1С в режиме работы веб-сервиса а так же написание простенькой конфигурации и клиента на C# в виде tutorial лабораторной работы, которую затем успешно презентовал в институте. Лабораторная работа получила немного замысловатое название: Организация обмена информацией между клиент-серверным разноплатформенным решением, используя Web-Сервисы в примере источника, разработанного на платформе 1С: Предприятие 8.2 и клиента на платформе.NET 4.0 языке C# Всем, кто заинтересовался, прошу под кат. Цель работы Освоить технологию построения веб-сервисов, формирование WSDL описания веб-сервиса.

Изучить принципы сериализации объектов в XML схемы для возможности передачи через Web-Сервисы. Оборудование и программное обеспечение. Microsoft Windows 7 x64. Платформа 1С: Предприятие 8.2.

Internet Information Server. Visual Studio 10 Ultimate Теоретическое введение Все чаще и чаще встречаются обмены, используя технологию Web-Сервисов. Это удобно, т.к для хостовой базы данных достаточно установить расширение Web-Сервиса и обработчик данных, а для клинтского решения подключиться к Web-Сервису. Технология является мультиплатформенной и на данный момент ее использование весьма актуально. Примерами веб-сервисов, использующих WSDL описание, можно назвать:. веб-сервис Центробанка, для получения ежедневных данных.

веб-сервис Яндекса проверки правописания. ряд веб сервисов авиастатистики, для мониторинга полетов, сведений о погоде, и.т.п. WSDL (Web Services Description Language) — язык описания веб-сервисов и доступа к ним, основанный на языке XML. (спецификация ). SOAP (Simple Object Access Protocol — простой протокол доступа к объектам) — протокол обмена структурированными сообщениями в распределенной вычислительной среде.

SOAP используется для обмена произвольными сообщениями в формате XML и удалённого вызова процедур (RPC). (спецификация ). XDTO (XML Data Transfer Objects) — механизм объектного моделирования данных, описываемых с помощью схемы XML (подробнее ). Большинство способов сериализации примитивных типов разработана компанией W3 и их описание находится в пространстве имен «». Рабочее задание Задание 1: Установка платформы 1С: Предприятие, установка компоненты IIS сервера, связь Web-Расширения 1С с сервером IIS.

При установке платформы 1С: Предприятие необходимо установить Web-Расширение. Выбранные компоненты в момент установки 1С В меню « Панель управления Все элементы панели управления Программы и компоненты» Необходимо выполнить установку дополнительных компонентов Windows « Включение или отключение компонентов Windows» где указать компоненты IIS. Кроме выбранных по умолчанию компонентов, надо добавить еще компоненты, связанные с технологией ISAPI, именно благодаря этой технологии расширение веб-сервера 1С имеет возможность связаться с веб-сервером IIS, и тип аутентификации «по URL», чтобы допускать к веб-сервису используя аутентификацию пользователей базы данных 1С. После установки рекомендуется перезапустить операционную систему.

Выбранные компоненты в момент установки IIS В меню « Панель управления Все элементы панели управления Администрирование» запустить консоль « Диспетчер служб IIS», где открыть элемент « Пулы приложений» открыть пул « DefaultAppPool» в контекстном меню выбрать « Дополнительные параметры» где элемент « Разрешены 32-рязрядные приложения» надо установить « True». Это необходимо для работы Web-Расширения 1С, т.к. Оно является 32-битным приложением.

Это удобно для отладки (т.к. При публикации из конфигуратора будет по умолчанию подставляться « DefaultAppPool»), для продуктива я рекомендую создавать отдельные пулы для каждого сервиса без управляемой среды. В той же консоли « Диспетчер служб IIS», выбрать элемент « Default Web Site», выбрать действие « Проверка подлинности» где необходимо включить вариант: « Анонимная проверка подлинности». Теперь возможна публикация Web-Сервисов 1С на сервере IIS. Но для того, чтобы было возможно выполнить эту публикацию, необходимо запустить Конфигуратор 1С: Предприятия от имени пользователя « Администратор». Задание 2: Создание простой конфигурации 1С. Первое, с чего стоит начать разработку любой конфигурации: надо создать роль Администратора (В соответствии с — ее стоит назвать ПолныеПрава) Считаем, что в базе данных есть информация обо всех заказах, содержащая количество и тип номенклатуры, который был заказан, в одном заказе может быть список, содержащий номенклатуру и количество, заказ так же имеет свой номер и дату его создания.

Информацию обо всех заказах надо передать через Web-Сервис. Для описания этого необходимо создать объекты базы данных: Рис. Структура данных в созданной конфигурации 1С Справочник « Номенклатура», без дополнительных реквизитов. В реквизитах «по умолчанию» содержится информацию о наименовании и коде номенклатуры.

Документ « Заказ покупателя», который будет содержать табличную часть « Товары», каждая строка которой будет иметь информацию о номенклатуры (элемент типа « СправочникСсылка.Номенклатура») и количестве (элемент « Количество» типа « Число» беззнаковое с 15 знаками до запятой и 3 после). Далее можно запустить 1С в режиме предприятия и создать несколько документов, заполненных созданными нами же номенклатурами и соответствующим количеством. Задание 3: Создание и публикация Веб-Сервиса 1С. В группировке « Общие» конфигурации создать новый элемент типа « XDTO-пакеты», первоначально для передачи номенклатуры. Его можно назвать, например « NomenclatureXDTO». Ваз 21102 инструкция по эксплуатации. URL пространство имен, в соответствии со спецификацией WSDL необходимо назначить в виде URL адреса спецификации данного пакета, например « ».

В этом пакете необходимо создать тип объекта, например « Nomenclature», в котором есть реквизиты « Code» и « Name», с соответствующим типом « string (Теперь надо создать второй XDTO пакет, который будет содержать информацию о заказах покупателей, его можно назвать « ClientOrderXDTO» в пространсте имен « ». В первую очередь необходимо подключить директиву импорта « », для того, чтобы можно было использовать созданный нами пакет сериализации номенклатуры. Программа для разрешения экрана нетбука. Это необходимо для передачи номенклатуры, содержащейся в табличной части документа « Заказы покупателей». Теперь надо создать тип объекта « ClientOrderRow», содержащий одну строку табличной части.

Web Расширение 1с 7.7 Скачать

Этот тип будет состоять из совокупности реквизитов « Nomenclature» и « Count», соответственно для номенклатуры необходимо указать тип объекта «Nomenclature (а для количества, « double (Тип объекта, содержащий сам заказ можно назвать « ClientOrder» должен содержать номер заказа, дату создания и массив элементов из табличной части заказа. « Number» типа строка, « Date» типа « dateTime (и « Products» типа « ClientOrderRow (при этом необходимо указать, что минимальное количество « 0», а максимальное количество « -1», это говорит о том, что этот объект будет массивом. Но, поскольку необходимо возвращить список заказов, то необходимо создать тип объекта, содержащий этот массив, потому надо создать еще один элемент, называемый « ArrayOfClientOrders», у которого будет всего один реквизит, называемый « ClientOrder» типа « ClientOrder (Рис 4. Структуры XDTO пакетов в 1С На этом создание описания передаваемых значений можно считать оконченным. Необходимо описать сам веб сервис и его методы.

В группировке «Общие» конфигурации надо создать объект, Web-Сервиса. Его можно назвать « Service».

Во вкладке «Прочее» надо указать пространство имен, которому принадлежит веб-сервис, например « », а так же список XDTO пакетов, содержащий только что созданные пакеты «, ». Во вкладке «Операции» создать метод « GetClientOrders», который будет возвращать значения « ArrayOfClientOrders », при этом установить возможность возвращать пустые значения и нажать на поле с лупой, называемое «Имя метода», тем самым в модуле веб-сервиса будет создана функция, который будет вызвана при обращении к данному методу веб-сервиса. Для того, чтобы корректно описать функцию, получающую из базы данных и возвращающую список заказов покупателей, необходимо знать внутренний язык 1С, потому код этой функции находится в приложении 1. В пояснении нуждается то, что « ФабрикаXDTO», это некоторый менеджер, который выполняет сериализацию объектов, и этот сериализованный объект необходимо возвратить.

При этом происходит выборка всех заказов, содержащихся в базе данных, сериализация полей номера, даты, и строк табличной части, при этом номенклатура, нуждается в дополнительной сериализации, и уже упакованный объект вставляется в общую структуру. Собирается массив упакованных объектов, сериализуется в пакет массива. И отправляется клиенту, как результат вызванной функции.

Для публикации веб-сервиса в меню конфигуратора 1С выбрать « Администрирование Публикация на веб-сервере», после чего указать название публикации веб-сервиса, например « Company», имя сервиса, например « Service» и адрес « service.1cws», а так же указать путь для публикации, например « C: inetpub wwwroot Company ». После этого WSDL структура Web-Сервиса будет доступна по адресу « » Задание 4: Создание клиента на C# платформы.NET 4.0. В Visual Studio создать новое консольное приложение C#. Далее вызвать контекстное меню над элементом проекта « Reference», и выполнить действие « Add service reference», в открывшемся меню нажать на кнопку « Advanced», откроется окно, где необходимо нажать на кнопку « Add Web Reference». Откроется меню, в которое необходимо вставить ссылку на WSDL описание веб-сервиса. Подключение веб-сервиса к проекту на C# Для созданного в 1С веб-сервиса эта ссылка будет иметь вид « », после корректного получения описания веб-сервиса надо указать название пространства имен.NET, из под которого будет доступно обращение к веб-сервису, например « CompanyService», затем нажать на кнопку « Add Reference», Visual Studio автоматически сгенерирует классы по этому описанию.

Web Расширение 1с

В проекте достаточно будет вызывать методы сгенерированного класса, при этом сериализация и вызов будут выполнять платформой.NET. Далее необходимо написать программу, которая будет обращаться к веб сервису, и выводить пользователю полученные данные. Для этого необходимо знать язык C#, код программы представлен в приложении 2. Из этого кода надо пояснить, то, что создание объекта « Service», есть не что иное, как создание менеджера обращения к сервису. От этого имени будут вызывать методы веб-сервиса. « 1CWebServiceClientConsole» — это общее пространство имени проекта, оно выбирается при создании.

Web Расширение 1с 8.3

Пространство имени веб-сервиса, полученное из WSDL структуры полностью включено в пространство имени проекта, что позволяет вызывать удаленные методы «как свои». Построение такой архитектуры является прозрачной для программистов, но при этом необходимо понимать в какие моменты и что проходит сериализацию для последующей передачи. Подобная архитектура клиент-серверных приложений на данный момент самая популярная.