@a_ovchinnikov
Web developer

Как с помощью «Плана обмена» отправить данные по HTTP?

Необходимо разработать решение по отправке ряда данных из 1С во внешнюю систему, которые будут собираться с помощью "Плана обмена". Мануалов на эту тему вроде бы немало, но я не нашел ни одного, который бы объяснил каким образом сформировать пакет данных и отправить его по HTTP.

На данный момент вижу примерно такую последовательность действий:

1. Настроить "Авторегистрацию" изменений по нужным "Справочникам" в "Плане обмена";
2. Добавить в "План обмена" новый узел, который будет являться внешним сайтом;
3. При появлении нового сообщения в "Плане обмена" сформировать пакет данных в виде, который требует внешняя система;
4. Отправить данные по HTTP, дождаться ответа и пометить пакет, как успешно отправленный.

Поэтому у меня следующие вопросы:
  • правильна ли схема, описанная выше, или в 1С это должно выглядеть как-то по другому (я в данной платформе вообще не разбираюсь)
  • каким образом я могу отследить, что появились новые данные для отправки в узел?
  • подойдет ли XDTO для формирования сообщения, которое будет отправлено внешней системе


Если есть какие-то более правильные способы реализации подобного функционала, я их с удовольствием выслушаю.

Спасибо!
  • Вопрос задан
  • 1737 просмотров
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
Если есть какие-то более правильные способы реализации подобного функционала, я их с удовольствием выслушаю.

Сколько людей - столько и мнений.

Поэтому у меня следующие вопросы:

1) В вашем представлении о работе платформы есть неточности. Если на пальцах, то на самом деле все выглядит следующим образом. При авторегистрации или при регистрации программно согласно алгоритмов в таблице узла ничего не происходит. На самом деле происходит заполнение таблиц "Изменения", которые подчинены регистрируемым объектам. К этим таблицам можно даже обращаться запросами. Для примера у складов таблица для запроса будет иметь вид Справочник.Склады.Изменения. Эти таблицы состоят из трех колонок - ссылка на оригинальный регистрируемый объект, ссылка на узел куда регистрируем и номер пакета. Сразу после регистрации номер пакета не заполнен и заполняется конкретным номером только в момент формирования пакета данных на отправку. Детальнее про работу с планом вам все же придется почитать в документации.

2) С помощью периодического вызова метода ПланыОбмена.ВыбратьИзменения(). Он возвращает выборку из уже зарегистрированных для отправки объектов. Детальнее в справке.

3) Если вам нужно формировать XML-файл, к структуре которого есть строгие требования, которые желательно сразу проверить на соответствие схеме, то да. Если вам нужно просто создать XML-файл (а еще лучше JSON), то просто создайте в памяти из массивов, структур и соответствий требуемый вам объект и далее сериализируйте его в нужный вам формат с помощью функций ЗаписатьXML() или ЗаписатьJSON().
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
fosihas
@fosihas
Автоматизации учета на 1С.
Тут посмотри, там один из разделов как раз про обмены)
https://its.1c.ru/db/pubintromobile
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы