13.02.2017 Альберт Хайров 9307
Веб-сервисы и 1С: “Время, деньги и бумаги”. Э...
 

Содержание:

  1. Эмулятор сервиса курса акций
  2. Как создать web-сервис. Создаем web-сервис
  3. Клиентская часть   
  4. Пару слов о WEB-сервисе на примере игры “Жизнь”
 
     
   На днях мне позвонил незнакомый человек и представившись Игорем, спросил, знаю ли я что-нибудь о биржевой торговле. Я ответил, что не знаю о биржах вообще ничего.  Игорь внезапно чему-то огорчился и повесил трубку. Я и, правда, мало знаю об этом, но мне вдруг показалась неплохой идеей в контексте истории с веб-сервисами сделать  эмулятор сервиса курса акций, который позволит из клиентской части получить курс акций, вычисляемый на сервере. Таким образом, это будет очередной пример создания веб-сервиса 1С, с отработкой отправки и получения xml-сообщений при обмене с веб-сервисом в режиме реального времени.    
     
                                       Как создать web-сервис. Создаем web-сервис  
     

Для начала создадим новый web-сервис с именем MarketRates (Рис. 1)  

Он будет выполнять три операции.  GetRate  с одним параметром CompanyCode, GetSharesTypesList -  без параметра и GetSharesList с  параметром SharesTypes.  Все параметры будут иметь тип string  пространства имен http://www.w3.org/2001/XMLSchema.  Операции GetSharesList и GetSharesTypesList  также будут возвращать значения типа string,  а GetRate будет возвращать  значение типа long.  На самом деле, конечно же, операции GetSharesList и GetSharesTypesList  будут возвращать, а GetSharesList  и получать  таблицы  или списки значений, сериализованные в   XML-текст.

 
                                                                                                          1.png  
   Рис 1.  
     
           Понадобится ещё пара справочников.  Назовем их "Виды акций" и "Компании".Справочнику компаний   добавим три реквизита:
 -  РейтингВерхняяГраница (тип число)
 -  РейтингНижняяГраница (тип число)
 -  ВидКомпании (тип -  справочник "Виды акций")
 
     
           Значение свойства «Имя файла публикации» будет wsGetRate.1cws

Создадим пустые пока модули-обработчики операций и сохраним сделанные изменения.

Если у вас файловый вариант базы, то перед сохранением не забудьте остановить веб-сервер, если он был запущен и база уже опубликована, и затем запустить его заново.

Еще одним недостатком файлового варианта базы является то что в таком режиме недоступны для отладки процедуры модуля web-сервисов.

  Теперь, если перейти по адресу https://localhost/WebServices/ws/wsGetRate.1cws?wsdl — то можно увидеть, что сервис отзывается.  

 
 

                                                               Клиентская часть

 
     

Теперь кратко о клиентской части. Форма обработки будет иметь две страницы. На первой мы разместим список видов акций, который можно будет получать с сервера, выделить нужные виды и заполнить вторую таблицу или список компаниями, отцы которых относятся к выделенным в верхнем списке.  На второй странице мы разместим диаграмму, которая будет отображать в виде графика изменяющиеся курсы.  

Запрашивать курсы будет обработчик ожидания, который мы назовем ВывестиКурсы().   Он будет подключаться по кнопке «Старт», а отключаться по кнопке «Стоп». Обработчик в свою очередь будет вызывать функцию в цикле запроса курса для конкретной компании, если она отмечена в списке.  Лучше было бы, конечно, передавать и получать таблицу значений, но решил упростить алгоритм – это ведь промежуточный пример.

Конечно же, курсы будет генерироваться на стороне web-сервиса генератором случайных чисел.  Со стороны клиента же для нас нет разницы, потому что реальный курс обработка будет получать при помощи той же самой технологии. Интерфейс обработки — рисунки 2 и 3, код — рисунок 4.

 
                                                                      2.png  
 

      Рис. 2

 
     
   3.png  
     
   Рис. 3  
     
   4.png  
     
   Рис. 4  
     
   На рисунке 5 листинг модуля «серверной» операции GetSharesTypesLis(). Остальные процедуры устроены также.  
     
   5.png  
     
 

 Рис. 5

 
     
 

Пару слов о WEB-сервисе на примере игры “Жизнь”

 
     
       В общем-то, для понимания работы веб-сервиса этих двух примеров вполне достаточно (первую часть статьи о web-сервисах “ Веб-сервисы и 1С: «Здравствуй, Name», время – деньги и «Жизнь»” можно прочитать ЗДЕСЬ, но сначала планировался пример создания web-сервиса 1с на примере игры «Жизнь». Почему это стоит сделать? Потому что, во-первых, мы сможем смоделировать не только получение, но и отправку параметров в XML-строках, во-вторых это просто интересный пример.

     Просто несколько фактов:

-        её правила очень просты, и при этом она более сорока лет привлекает внимание учёных. Игра «Жизнь» и её модификации повлияли на разделы таких наук, как математика, информатика, физика, например, теорию автоматов, теорию алгоритмов, математическое программирование, математическое моделирование, теорию графов, фрактальную геометрию и теорию принятия решений;

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

-        Фигура «glider» в 2003 году была предложена в качестве эмблемы хакеров

 
     
 

 Альберт Хайров,

разработчик компании ООО «Кодерлайн»

 
     
   Реализация - в третьей части.

 

Наши проекты

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
1С:Управление производственным предприятием

- Внедрение функционала управления НСИ;
- Рефакторинг;
- Оптимизация общег...

Автоматизация системы учета продаж газа на базе «1С:ERP Управление предприятием 2.0»
ООО «Эйр Продактс Газ»

Отрасль:
Производство промышленных газов

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Расчеты с контрагентами;
- Производственные операции;
- Управление скла...

Внедрение «1С:Бухгалтерия 8 ПРОФ» в компании «Мостехника»
ООО «Мостехника»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Документооборот (ECM):
- Учет рабочего времени;
Управление персоналом и ка...

Автоматизация производственного планирования нефтесервисной компании на базе 1С:ЕРП 2.0
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Блок планирования проектов (процессы объемно-календарного планирования пр...

МИР ХОББИ
МИР ХОББИ

Отрасль:
Торговля. Интернет магазин

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Оформление заказов поставщикам
Взаиморасчеты с покупателями
Оформление...

Автоматизация кадрового учета на базе «1С:ERP Управление предприятием 2.0»
Автопредприятие ПАО «Газпром»

Отрасль:
Транспорт

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Настройка подсистемы кадрового учета;
- Перенос персональных данных;
- З...

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

Внедренное типовое решение:
1С:Управление торговлей

- Оформление заказов поставщикам
- Оформление заказов покупателей
- Упр...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в дан...

Внедрение ПП "1С:CRM ПРОФ" в ООО «Торговый Дом Факел»
ООО «Торговый Дом Факел»

Отрасль:
Производство

Внедренное типовое решение:
1С:CRM ПРОФ

- Управление отношениями с клиентами (CRM) ...

Группа компаний ТМ «Дружба народов»
Группа компаний ТМ «Дружба народов»

Отрасль:
Пищевая промышленность

Внедренное типовое решение:
1С:ERP Управление предприятием 2.1

- Переход на новый релиз 2.1 программы «1С:ERP Управление предприятием»
- Разра...

ООО “РТИТС”
ООО “РТИТС”

Отрасль:
Транспортные системы

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Блок регламентированного кадрового учета и расчета заработной платы в 1С:ERP;...

ООО «ЛукБелОйл»
ООО «ЛукБелОйл»

Отрасль:
Нефтегазовая отрасль

Внедренное типовое решение:

- Обследовании бизнес-процессов «Документооборот», «Казначейство и Бюджети...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение