Top.Mail.Ru
Заказать консультацию
специалиста 1С
Отправить заявку

ИнфоСофт использует файлы «cookie» с целью персонализации сервисов и повышения удобства пользования веб-сайтом. Вы можете запретить обработку сookies в настройках браузера. Пожалуйста, ознакомьтесь с политикой использования cookies.
Оставаясь на сайте, вы соглашаетесь с политикой использования cookies.

Произвольный алгоритм в модуле обмена «1С-Битрикс: Управление сайтом». Как это устроено?

Хренова Тамара Посмотреть все статьи >> Старший специалист по внедрению 1С франчайзинговой сети "ИнфоСофт".
05.08.2024
386
Время прочтения - 6 мин.
Заказать консультацию

Статья является продолжением Модуль обмена 1С-Битрикс: Управление сайтом. В чём сложности типового внедрения?.

Как мы рассмотрели в предыдущей статье, настройку обмена можно сделать гибкой. Что это значит? Значит то, что можно изменять настройки в зависимости от разных условий. Например, есть несколько организаций и зависимости от того, из какого интернет магазина пришёл заказ мы подставляем нужную организацию в загружаемый документ. Или необходимо загрузить заказ по данным требующим дополнительной обработки.

Данный кейс поможет разобраться с более сложным механизмом настройки обмена между 1С и интернет-магазином на базе Битрикс.

Разработчики модуля позаботились о простоте решения и создали в модуле обмена настройку «Произвольный алгоритм загрузки».

Произвольный алгоритм – это обработка в 1С, которая позволяет написать программу действий над объектами на внутреннем языке 1С.

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


Контрольный пример

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

Предположим, покупатель оформил заказ в интернет-магазине. Нам нужно автоматически получить этот заказ в 1С.

1.png


Выполним обмен.

2.png

 

Видим, что оформленный заказ на сайте пришёл в 1С.

3.png


Заметим, что по каким-то причинам поле «Контрагент» не заполняется. Помним, что контрагент может сопоставляться в базе по email, ИД, телефону. Если контрагент не находится, то создаётся новый по выгруженным данным из сайта. В нашем примере для более глубокого понимания алгоритма загрузки сделано так, что недостаточно данных выгруженных из сайта для создания объектов в 1С, и поэтому контрагент в заказе пустой.

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


Проверка выгруженных данных из сайта

Для начала нужно узнать информацию, которая выгружена из интернет-магазина. Выполнение задачи возможно без специалиста по сайту и «живого логирования». В 1С с помощью включенной точки останова в функции ДанныеЗаказовВXDTO находим XML:

4.png


В XML есть атрибут «Контрагент». Поле «Наименование» пустое, но поле «Ид» содержит наименование нашего контрагента. Попробуем «выудить» наименование для создания контрагента в базе.

Подпишитесь на дайджест!
Подпишитесь на дайджест, и получайте ежемесячно подборку полезных статей.

Работа с произвольным алгоритмом

В настройках загрузки документов модуля обмена с БУС на стороне 1С выберем у реквизита «Контрагент» источник данных «Свой алгоритм».

5.png

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

6.png


Модуль предлагает свой пример написания алгоритма, по которому можно понять принцип работы.

Как видим, исходя из примера, модуль загрузки содержит параметры, к которым можно программно обратиться с помощью «произвольного алгоритма».

Полный перечень доступных параметров можно посмотреть здесь: «Общий модуль» - «Общего назначения» - «Выполнить в безопасном режиме».

7.png

 

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

8.png


Берём из файла XML поле «ИД» и парсим строку, исключая ненужную информацию.

После окончания редактирования алгоритма применяем изменения и повторяем обмен с сайтом.

9.png


Готово! Как видим, после обновления настройки получения данных из сайта в 1С контрагент в базе создался с корректным наименованием.

10.png


Подведём итоги

Модуль обмена 1С-Битрикс: управление сайтом включает в себя огромное количество возможностей. С применением произвольного алгоритма можно решить большую часть задач по автоматизированию загрузки документов. Функционал можно применять для изменения загрузки организации, комментария, соглашения и т.д.


Заказать консультацию специалиста 1С
Оставьте заявку и наши эксперты проконсультируют вас по данной статье.
Отправить заявку
Рассказать друзьям
Для разработчиков 1С
Вам может быть интересно: