1С:Шина
06.06.2023

Пример настройки обмена данными с помощью http-сервисов "1С:Шины".

В статье будет показан пример создания обмена между информационными базами на различных платформах "1С:Предприятие". Для примера будет использована информационная база ("Управление торговлей", редакция 11 (11.4.13.282)), развернутая на "устаревшей" платформе 8.3.15.2107, а также информационная база ("Бухгалтерия предприятия КОРП", редакция 3.0 (3.0.135.22) ) на платформе 8.3.23.1688. Так как в примере используется платформа 8.3.15.2107, в которой нет возможности использовать сервисы интеграции для организации обмена с "1С:Шиной", для взаимодействия с "1С:Шиной" в этом случае будут использованы http-сервисы.

1. Настройки на стороне "1С:Шины".

В среде разработки "1С:Шины" необходимо:

В настройках приложения "1С:Шины":

1.1 Создание проекта

Для создания проекта нужно открыть панель управления сервером "1С:Шины", выбрать пункт меню "Приложения", далее "+ Новое приложение":

В открывшемся окне указать "Новый проект", заполнить поля:

Указать режим разработки, выбрать тип СУБД и нажать кнопку "Создать". Пример настройки приложения:

Новое приложение появится в списке со статусом "Создается". Через некоторое время статус приложения изменится на "Работает":

Для настройки процесса интеграции необходимо открыть приложение в среде разработки, для этого нужно в списке приложений нажать на кнопку "Редактировать":

Откроется новая вкладка браузера, в которой будет отображена среда разработки:

Далее необходимо добавить новый элемент проекта — процесс интеграции. Для этого нужно выбрать подсистему "Основной", далее нажать правую кнопку мыши – откроется контекстное меню, в котором нужно выбрать "Новый", далее "Элемент проекта". Откроется меню выбора элементов проекта, в нем нужно выбрать вид добавляемого элемента проекта — "Процесс интеграции", задать имя и нажать "Ввод".

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

Из информационной базы "Управления торговлей", использующей устаревшую платформу, будет отправляться запрос в http-сервис "1С:Шины" (будет создан позднее). В http-сервисе "1С:Шины" будет формироваться сообщение из полученного запроса, которое будет отправлено в узел "ПрограммныйИсточник". Из узла "ПрограммныйИсточник" сообщение поступит в узел "Канал1СНазначение" для дальнейшей передачи в информационную базу "Бухгалтерии предприятия", в которой доступны сервисы интеграции. После обработки входящего сообщения в модуле сервиса интеграции будет сформировано ответное сообщение, которое будет отправлено в "1С:Шину", а далее передано в исходную систему через http-запрос.

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

В дальнейшем, после публикации и настройки информационных баз, вернемся и заполним эти реквизиты корректно:

Далее необходимо создать http-сервис "1С:Шины", который будет использоваться для взаимодействия с информационной базой, размещенной на устаревшей платформе. Для этого нужно выбрать подсистему "Основной", далее нажать правую кнопку мыши – откроется контекстное меню, в котором нужно выбрать "Новый", далее "Элемент проекта". Откроется меню выбора элементов проекта, в нем нужно выбрать вид добавляемого элемента проекта — "http", задать имя и нажать "Ввод".

Настройки http-сервиса:

После создания http-сервиса нужно создать шаблон URL http-сервиса. Для этого нужно выбрать ранее созданный http-сервис, далее нажать правую кнопку мыши – откроется контекстное меню, в котором выбрать "Новый", далее "Шаблон URL HTTP Сервиса". Откроется окно, в котором нужно указать имя шаблона и нажать "Ввод":

Настройки шаблона URL http-сервиса:

Формирование сообщения будет происходить из тела входящего http-запроса, для этого в обработчике метода "ОтправитьСообщение" напишем следующий код:

Копировать в буфер обмена
метод ОтправитьСообщение(Запрос: HttpСервисЗапрос)
    если Запрос.Заголовки.Содержит("GetExchangeRate")
        знч Сообщение = новый СообщениеИнтеграции({"GetExchangeRate":Истина}, Запрос.Тело)
        ОбменДляСтарыхВерсий.ОтправитьСообщениеВУзлы(Сообщение, ОбменДляСтарыхВерсий.Схема.Узлы.ПрограммныйИсточник) 
    ;   
;

Адрес http-сервиса формируется следующим образом: {АдресПубликацииПриложения}/api/{КорневойURLСервиса}/{ПутьКРесурсу}?{ПараметрыЗапроса}. Более подробно это указано в документации к "1С:Шине" (Разработка/Функциональность/HTTP-сервис/«HttpСервис»). Для того чтобы обратиться к созданному http-сервису, необходимо использовать следующий адрес: "http://Адрес сервера 1С:Шины:Порт сервера 1С:Шины/applications/HTTPExample-dev/api/exchange/sendmessage". На этом настройка схемы интеграции завершена, можно переходить к публикации приложения.

1.2 Публикация проекта

После настройки схемы интеграции ее необходимо опубликовать, для этого нужно нажать клавишу F9 либо в контекстном меню процесса интеграции выбрать пункт "Опубликовать проект":

1.3 Настройка приложения

Для того чтобы открыть опубликованное приложение из среды разработки, нужно, нажав правую кнопку мыши, открыть контекстное меню процесса и выбрать пункт "Открыть приложение":

Сервер "1С:Шины" запросит имя пользователя и пароль. Для аутентификации используйте учетную запись администратора и пароль, который был задан при установке сервера "1С:Шины". После успешной авторизации откроется вкладка приложения "1С:Шины", на ней будет отображен список процессов интеграции, существующих в приложении. В тестовом примере будет единственный процесс интеграции "Основной::ОбменДляСтарыхВерсий":

1.3.1 Добавление информационных систем в приложение

Для добавления информационных баз в приложении "1С:Шины" необходимо перейти на вкладку "Инфосистемы" и нажать на кнопку "+Добавить систему":

Откроется окно добавления информационной системы. Добавим информационную систему "Бухгалтерия" с кодом "БП", т.к. эта информационная база использует для работы платформу 8.3.23.1688, для которой доступны сервисы интеграции. Добавление информационной системы, которая использует устаревшую платформу, не требуется, т.к. для этих целей будут использоваться http-сервисы.

После добавления информационных систем необходимо получить ключ, который они будут использовать при подключении к серверу "1С:Шины". Чтобы получить ключ, нужно выбрать информационную систему, а затем нажать кнопку "Выдать ключ API":

Скопируйте и сохраните идентификатор ключа и секрет клиента. Позднее эти настройки будут использоваться при подключении информационной базы "1С" к серверу "1С:Шины".

1.3.2  Включение информационных систем в состав приложения

Для включения информационной системы в состав приложения необходимо перейти на вкладку "Процессы" и выбрать процесс "Основной::ОбменДляСтарыхВерсий":

После настройки состава групп необходимо запустить процесс интеграции:

На этом настройки в "1С:Шине" завершены, далее можно переходить к настройке информационных баз.

2. Настройка информационных баз

В тестовом примере рассмотрим загрузку курсов валют в информационную базу "Управления торговлей" из информационной базы "Бухгалтерии предприятия". Для этих целей создадим расширение, в котором выполним необходимые доработки.

2.1. Доработки в информационной базе "Управления торговлей"

В информационной базе "Управления торговлей" необходимо создать расширение со следующими параметрами:

Для отправки запроса для загрузки курсов валют доработаем обработку "ЗагрузкаКурсовВалют" следующим образом: добавим на форму этой обработки команду, которая будет выполнять http-запрос. Для этого добавим форму обработки в расширение:

В расширении в форме обработки "ЗагрузкаКурсовВалют" добавим новую команду "ОтправитьЗапросВБухгалтерию", которую разместим на командной панели формы.

Код команды приведен ниже:

Копировать в буфер обмена
&НаКлиенте
Процедура инт_ОтправитьЗапросВБухгалтерию(Команда)

    МассивВалют = Новый Массив;
    Для каждого Стр Из Объект.СписокВалют Цикл
        Если Стр.Загружать Тогда
            МассивВалют.Добавить(Стр.КодВалюты);
        КонецЕсли;
    КонецЦикла;

    Если МассивВалют.Количество() > 0 Тогда

        АдресСервера = "127.0.0.1";
        АдресСервиса = "applications/HTTPExample-dev/api/exchange/sendmessage";
        Порт = 9090;

        HTTPЗапрос = Новый HTTPЗапрос(АдресСервиса);

        ПараметрыЗапроса = Новый Структура;
        ПараметрыЗапроса.Вставить("НачалоПериода", Объект.НачалоПериодаЗагрузки);
        ПараметрыЗапроса.Вставить("ОкончаниеПериода", Объект.ОкончаниеПериодаЗагрузки);
        ПараметрыЗапроса.Вставить("МассивВалют", МассивВалют);

        HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
        HTTPЗапрос.Заголовки.Вставить("GetExchangeRate", Истина);

        HTTPЗапрос.УстановитьТелоИзСтроки(ЗначениеВJSON(ПараметрыЗапроса));
        РезультатЗапроса = ВыполнитьЗапрос(HTTPЗапрос, АдресСервера, Порт, "POST");

        Если РезультатЗапроса.ЗапросВыполнен Тогда
            ОтветСервиса = "Запрос успешно отправлен." + ?(РезультатЗапроса.ОтветСервиса = "", "", Символы.ПС + "Ответ:" + Символы.ПС + РезультатЗапроса.ОтветСервиса);
        Иначе 
            ОтветСервиса = "Ошибка:" + Символы.ПС + РезультатЗапроса.ТекстОшибки;
        КонецЕсли;
        Сообщить(ОтветСервиса);

    КонецЕсли; 

КонецПроцедуры

В переменных "АдресСервера" и "Порт" необходимо указать адрес и порт сервера "1С:Шины". В переменной "Адрес сервиса" указан адрес http-сервиса, созданного в разделе 1. Для корректной работы команды добавим в модуль формы код выполнения http-запроса:

Копировать в буфер обмена
&НаКлиенте
Функция ВыполнитьЗапрос(Знач HTTPЗапрос, Знач АдресСервера, Знач Порт, ТипЗапроса = "GET")

    Результат = Новый Структура;
    Результат.Вставить("ЗапросВыполнен", Ложь);
    Результат.Вставить("ОтветСервиса", "");
    Результат.Вставить("ТекстОшибки", "");

    Попытка
        Соединение = Новый HTTPСоединение(АдресСервера, Порт, , , , 60);
        Если ТипЗапроса = "POST" Тогда
            HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
        Иначе
            HTTPОтвет = Соединение.Получить(HTTPЗапрос);
        КонецЕсли; 
    Исключение
        Результат.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
        НСтр("ru = 'Не удалось установить соединение с сервером %1 по причине:
        |'"), АдресСервера, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); 
        Возврат Результат;
    КонецПопытки;

    Если HTTPОтвет.КодСостояния <> 200 Тогда
        ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
        НСтр("ru = 'Запрос ""%1"" не выполнен. Код состояния: .'"),
        HTTPЗапрос.АдресРесурса,
        HTTPОтвет.КодСостояния) + Символы.ПС + HTTPОтвет.ПолучитьТелоКакСтроку();
        Результат.ТекстОшибки = ТекстОшибки;
        Возврат Результат;
    КонецЕсли;

    Если HTTPОтвет.КодСостояния = 401 
        Или HTTPОтвет.КодСостояния = 403 Тогда
        ИнформацияОбОшибке = JSONВЗначение(HTTPОтвет.ПолучитьТелоКакСтроку());
        Результат.ТекстОшибки = ИнформацияОбОшибке["error"]["message"];
        Возврат Результат;
    КонецЕсли;

    Результат.ЗапросВыполнен = HTTPОтвет.КодСостояния = 200;
    Результат.ОтветСервиса = HTTPОтвет.ПолучитьТелоКакСтроку();

    Возврат Результат;

КонецФункции

&НаКлиенте
Функция ЗначениеВJSON(Значение)
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    ЗаписатьJSON(ЗаписьJSON, Значение);
    Возврат ЗаписьJSON.Закрыть();
КонецФункции

&НаКлиенте
Функция JSONВЗначение(Строка, МассивСвойствИЗначений = Неопределено)
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(Строка);
    Возврат ПрочитатьJSON(ЧтениеJSON, Истина, МассивСвойствИЗначений);
КонецФункции


Для загрузки курсов валют необходимо также создать http-сервис, который будет использоваться для обработки ответа из информационной базы "Бухгалтерии предприятия КОРП". Для этого в расширении добавим http-сервис "ОбменДанными" со следующими настройками:

На вкладке "Шаблон URL" добавим новый шаблон с именем "ЗагрузкаКурсовВалют" и шаблоном "/put_exchange_rate":

Для шаблона добавим метод "POST" с обработчиком "ЗагрузкаКурсовВалют":

Функция "ЗагрузкаКурсовВалют" будет выполнять обработку входящего POST-запроса и загружать полученные данные в регистр сведений "КурсыВалют":

Копировать в буфер обмена
Функция ЗагрузкаКурсовВалют(Запрос)

    СобытиеЖурналаРегистрации = "ОбменШина";
    ТекстСообщения = "Загрузка курсов валют из бухгалтерии";
    ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации, УровеньЖурналаРегистрации.Информация, , , ТекстСообщения);

    Попытка
        СтрокаJSON = Запрос.ПолучитьТелоКакСтроку();
        Если СтрокаJSON <> "" Тогда
            МассивДанных = JSONВЗначение(СтрокаJSON, "Период");
            ЗагрузитьКурсыВалют(МассивДанных);
        КонецЕсли;
        Ответ = Новый HTTPСервисОтвет(200);
    Исключение
        СобытиеЖурналаРегистрации = "ОбменШина";
        ТекстСообщения = "Не удалось загрузить курсы валют. " + ОписаниеОшибки();
        ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации, УровеньЖурналаРегистрации.Ошибка, , , ТекстСообщения);
        Ответ = Новый HTTPСервисОтвет(400);
    КонецПопытки;

    Возврат Ответ;

КонецФункции

Функция JSONВЗначение(Строка, ИменаСвойствСоЗначениямиДата = Неопределено)
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(Строка);
    Возврат ПрочитатьJSON(ЧтениеJSON, Истина, ИменаСвойствСоЗначениямиДата);
КонецФункции

Процедура ЗагрузитьКурсыВалют(МассивДанных)

    Для каждого Стр Из МассивДанных Цикл
        МенеджерЗаписи = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
        МенеджерЗаписи.Период = Стр.Получить("Период");
        МенеджерЗаписи.Валюта = Справочники.Валюты.НайтиПоКоду(Стр.Получить("КодВалюты"));
        МенеджерЗаписи.Кратность = Стр.Получить("Кратность");
        МенеджерЗаписи.Курс = Стр.Получить("Курс");
        МенеджерЗаписи.Записать();
    КонецЦикла;

КонецПроцедуры

После создания http-сервиса необходимо опубликовать информационную базу "Управления торговлей" на веб-сервере:

Более подробно про публикацию информационной базы на веб-сервере можно прочитать в статье на ИТС. После публикации обратиться к созданному http-сервису можно по следующему адресу:

"http://Адрес веб-сервера/Имя публикации/ru_RU/hs/exchange_esb/get_currency". 

Вернемся к настройками узла http в "1С:Шине", которые выполнялись в разделе 1, и поменяем URL "test.exchange.ru" на адрес созданного http-сервиса:

2.2. Доработки в информационной базе "Бухгалтерии предприятия"

Необходимо создать аналогичное расширение для доработок информационной базы "Бухгалтерии предприятия", как в разделе 2.1. В созданном расширении добавить сервис интеграции с названием "Обмен для старой платформы":

 

Далее необходимо загрузить информацию о доступных каналах интеграции из опубликованного приложения "1С:Шины". Для этого в меню "Действия" внизу формы сервиса интеграции необходимо выбрать пункт "Загрузить каналы":

В открывшейся форме требуется указать:

Затем нужно нажать кнопку "Получить каналы сервиса".

Список заполнится каналами вида "Канал1СИсточник" и "Канал1СНазначение", созданными на этапе настройки конфигурации шины (см. раздел 1.1 "Создание проекта"):

В списке необходимо установить отметки для полученных каналов, далее нажать на кнопку "Загрузить" и перейти на вкладку "Каналы" – в список должны добавиться те каналы, которые были выбраны:

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

В обработчик "Канал1СНазначениеОбработкаПолученияСообщения" добавим следующий код:

Копировать в буфер обмена
Процедура Канал1СНазначениеОбработкаПолученияСообщения(Сообщение, Отказ)

    СобытиеЖурналаРегистрации = "Сервисы интеграции.Обработка";
    ТекстСообщения = "Обрабатывается сообщение 1C:Шины, ID:" + Сообщение.Идентификатор + Символы.ВК + " От : " + Сообщение.КодОтправителя;
    ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации, УровеньЖурналаРегистрации.Информация, , , ТекстСообщения);

    Попытка

        Если Сообщение.Параметры.Получить("GetExchangeRate") <> Неопределено Тогда 

            РазмерСообщения = Сообщение.Параметры.Получить("РазмерСообщения");
            Если РазмерСообщения <> Неопределено Тогда
                РазмерБуфера = Число(РазмерСообщения);
            Иначе
                РазмерБуфера = 1024;
            КонецЕсли;
            Тело = Новый БуферДвоичныхДанных(0);
            Буфер = Новый БуферДвоичныхДанных(РазмерБуфера);
            Поток = Сообщение.ПолучитьТелоКакПоток();
            Пока Истина Цикл
                Прочитано = Поток.Прочитать(Буфер, 0, РазмерБуфера);
                Если Прочитано > 0 Тогда
                    Тело = Тело.Соединить(Буфер);
                КонецЕсли;
                Если Прочитано < РазмерБуфера Тогда
                    Прервать;
                КонецЕсли;
            КонецЦикла; 

            ВходящееСообщение = ПолучитьСтрокуИзБуфераДвоичныхДанных(Тело); 

            Если ВходящееСообщение <> "" Тогда
                ДанныеДляЗапроса = JSONВЗначение(ВходящееСообщение, "НачалоПериода,ОкончаниеПериода"); 
                СформироватьИсходящееСообщение(ДанныеДляЗапроса);
            КонецЕсли;

        КонецЕсли; 

    Исключение

        Отказ = Истина;
        СобытиеЖурналаРегистрации = "Сервисы интеграции.Обработка";
        ТекстСообщения = ОписаниеОшибки() + ". Не удалось обработать сообщение ID:" + Сообщение.Идентификатор + " от : " + Сообщение.КодОтправителя;
        ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации, УровеньЖурналаРегистрации.Ошибка, , , ТекстСообщения);

    КонецПопытки; 

КонецПроцедуры

В обработчике входящего сообщения сформируем ответное сообщение для отправки данных о курсах валют:

Копировать в буфер обмена
Процедура СформироватьИсходящееСообщение(ДанныеДляЗапроса)

    СобытиеЖурналаРегистрации = "Сервисы интеграции.Обработка";
    ТекстСообщения = "Формирование сообщений 1С:Шины.";
    ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации, УровеньЖурналаРегистрации.Информация, , , ТекстСообщения);

    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        | Валюты.Ссылка КАК Валюта,
        | Валюты.Код КАК КодВалюты
        |ПОМЕСТИТЬ втВалюты
        |ИЗ
        | Справочник.Валюты КАК Валюты
        |ГДЕ
        | Валюты.Код В(&МассивВалют)
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        | втВалюты.КодВалюты КАК КодВалюты,
        | КурсыВалют.Период КАК Период,
        | КурсыВалют.Курс КАК Курс,
        | КурсыВалют.Кратность КАК Кратность
        |ИЗ
        | втВалюты КАК втВалюты
        | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
        | ПО втВалюты.Валюта = КурсыВалют.Валюта
        |ГДЕ
        | КурсыВалют.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода";

    Запрос.УстановитьПараметр("МассивВалют", ДанныеДляЗапроса.Получить("МассивВалют"));
    Запрос.УстановитьПараметр("НачалоПериода", ДанныеДляЗапроса.Получить("НачалоПериода"));
    Запрос.УстановитьПараметр("ОкончаниеПериода", ДанныеДляЗапроса.Получить("ОкончаниеПериода"));

    РезультатЗапроса = Запрос.Выполнить();
    Если Не РезультатЗапроса.Пустой() Тогда

        НовоеСообщение = СервисыИнтеграции.инт_ОбменДляСтаройПлатформы.СоздатьСообщение();
        НовоеСообщение.Параметры.Вставить("PutExchangeRate", Истина);

        ТекстJSON = Новый ЗаписьJSON;
        ТекстJSON.ПроверятьСтруктуру = Ложь;
        ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(,Символы.Таб); 
        ТекстJSON.УстановитьСтроку(ПараметрыЗаписиJSON);

        МассивВалют = Новый Массив;
        Выборка = РезультатЗапроса.Выбрать();
        Пока Выборка.Следующий() Цикл
            ДанныеВалюты = Новый Структура("КодВалюты,Период,Курс,Кратность");
            ЗаполнитьЗначенияСвойств(ДанныеВалюты, Выборка);
            МассивВалют.Добавить(ДанныеВалюты); 
        КонецЦикла;
        ЗаписатьJSON(ТекстJSON, МассивВалют);
        СтрокаJSON = ТекстJSON.Закрыть(); 

        Тело = НовоеСообщение.ПолучитьТелоКакПоток();
        Буфер = ПолучитьБуферДвоичныхДанныхИзСтроки(СтрокаJSON); 
        Тело.Записать(Буфер, 0, Буфер.Размер);
        Тело.Закрыть();

        СервисыИнтеграции.инт_ОбменДляСтаройПлатформы.Канал1СИсточник.ОтправитьСообщение(НовоеСообщение);

    КонецЕсли;

КонецПроцедуры

Функция JSONВЗначение(Строка, ИменаСвойствСоЗначениямиДата = Неопределено)
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(Строка);
    Возврат ПрочитатьJSON(ЧтениеJSON, Истина, ИменаСвойствСоЗначениямиДата);
КонецФункции

Также для корректной работы указанного выше кода необходимо добавить справочник "Валюты" и регистр сведений "Курсы валют" в расширение:


На этом настройки в конфигурации завершены.

2.2.1. Подключение информационной базы "Бухгалтерии предприятия" к серверу "1С:Шины"

После настройки конфигурации необходимо задать настройки подключения информационной базы к сервису интеграции в режиме "1С:Предприятие".

Для этого необходимо:

Чтобы настроить подключение к серверу "1С:Шины", необходимо нажать "Редактировать". В группе "Настройки внешнего сервиса интеграции" задать свойства:

Для сохранения настроек нужно нажать "ОК" и в форме списка сервисов интеграции установить флажок "Активность" у выбранного сервиса:

2.2.2. Запуск регламентного задания для обмена с "1С:Шиной"

Чтобы обмен выполнялся в автоматическом режиме, необходимо запустить регламентное задание "Обработка сервисов интеграции". Для этого в информационной базе "Бухгалтерии предприятия" нужно выбрать раздел "Администрирование", далее "Обслуживание", далее "Регламентные и фоновые задания":

В списке регламентных заданий необходимо найти задание "Обработка сервисов интеграции", задать для него расписание ("каждый день; каждые 120 секунд") и запустить его:

На этом настройки информационных баз завершены, можно переходить к проверке обмена.

3. Проверка работы обмена

Для того чтобы проверить загрузку курсов валют в информационной базе "Управления торговлей", перейдем в раздел "НСИ и Администрирование", откроем справочник "Валюты":

В форме списка справочника "Валюты" необходимо нажать на кнопку "Загрузить курсы валют", далее откроется обработка для загрузки курсов, в которой необходимо выбрать интервал и валюты для загрузки:

Далее требуется нажать на кнопку "Отправить запрос в бухгалтерию". Если запрос успешно отправлен, то будет отображено соответствующее сообщение:

Счетчик сообщений в панели управления "1С:Шины" увеличится:

Чтобы убедиться, что обмен полностью прошел, необходимо открыть элемент справочника "Валюты" и перейти на вкладку "Курсы валют". В списке курсов валют должен появится курс на запрошенную дату: