Home » Уроки по 1С 8.3 » 1Cv8: Работа с HTTPСоединение, HTTPЗапрос
google




1Cv8: Работа с HTTPСоединение, HTTPЗапрос

Вот и закончился сезон отпусков, началась работа, а у кого-то учеба. Этим уроком продолжаю серию обучающих материалов по 1С Предприятие 8.

В рамках этого урока познакомимся с объектами HTTPСоединение, HTTPЗапрос. Для понимания работы с указанными объектами сделаем модуль обновления курсов валют.

Урок можно разбить на следующие этапы:

  1. Коррекция структуры и данных для обновления курсов валют;
  2. Создание Общего модуля обрабатывающего обновление валют;
  3. Создание обработки обновления курсов;
  4. Создание тестов на базе xUnitFor1C для проверки правильности работы обновления курсов валют.

1. Коррекция структуры и данных для обновления курсов валют

Добавим возможность указания необходимости обновления курсов из интернет:

  • В справочник Валюты добавим реквизит «ОбновлятьИзИнтернет», тип Булево;
  • В регистр сведений Курсы валют добавим ресурс Кратность (число 10);
  • В регистре сведений Курсы валют изменим точность курса, укажем: Число 10, 4;
  • В общей форме «ФормаЭлементаВалюты» добавим отображение реквизита ОбновлятьИзИнтернет;

Для валюты Доллар США (USD) укажем код 840, для Евро 978, у обоих валют установим признак ОбновлятьИзИнтернет в Истина.

2. Создание Общего модуля обрабатывающего обновление валют

Создадим общий модуль «РаботаСКурсами», оставим галочки только на «Сервер».

В типовых 1С блок получения курсов валют раскидан на большое количество модулей и вызовов. В моем примере все будет значительно проще, но поставленная задача будет решена.

Добавим текст общего модуля:

3. Создание обработки обновления курсов;

Для получения курсов валют создадим обработку «ОбновитьКурсыВалют», включим ее в подсистему Администрирование. Реквизиты:

  • НачДата — Дата;
  • КонДата — Дата;
  • Табличная часть
    • Валюты
      • Обновить (Булево)
      • Валюта (справочник.Валюты)

Добавим команду Загрузить.

В итоге получим следующие:

cfg-update-cur

При создании формы на сервере получим список валют для обновления курсов:

Обработчик команды заполнить:

Для проверки загрузим курсы за любой период. Посмотрим содержимое регистра сведений, убедимся что курсы скачались.

4. Создание тестов на базе xUnitFor1C для проверки правильности работы обновления курсов валют.

Проверка работоспособности функционала является важной частью разработки. Не всегда можно проверить правильность работы кода простой пробежкой глазами по данным. Реализуем проверку работы функционала скачивания и разбора курса валют используя фреймворк xUnitFor1C.

Важно: В уроке используется 4 версия, редакция подправленная мной, позволяющая работать в режиме отключенной модальности. На момент написания статьи создан Pull Request на внесение доработки в основной репозиторий в ветку dev.

Создадим тест с формате xUnitFor1C — обработка, текст теста в модуле объекта.

В приведенном примере получение курса валюты будет происходить в транзакции, таким образом будет произведена проверка, но данные в базе не изменятся.

Запустим раннер тестов и выполним их.

test-runner

Для проверки можно изменить ожидаемый результат и получить падение теста.

test-fail

test-fail-note

Приведенный пример работы с HTTPСоединение крайне прост и не отображает всех возможностей работы с internet из 1С, но достаточен для общего понимания работы с ним. В дальнейшем рассмотрим другие возможности (работа с авторизацией, получение файла).

Скачать урок


Posted on by Ушаков Сергей
Categories: Уроки по 1С 8.3 Метки: ,,,,



Добавить комментарий

Войти с помощью: 

Социальные сети


Я в Twitter
Яндекс.Поиск
Поиск обычный
Счетчики
Рейтинг@Mail.ru Яндекс.Метрика