11 Главная
Григорич edited this page 2023-06-06 12:26:41 +00:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Добро пожаловать в Вики.

Разделы Вики:

  1. Решение проблем
  2. Важно знать

Решение проблем

Запуск с последнего успешно загруженного ID:

  1. В .env переменную LAST_ID заменить на ID, который был успешно загружен последним, либо после которого имеется ошибка. POST-запросом ID не отправляется, поэтому необходимо выполнять поиск по имени в инфоблоках и искать человека, который был успешно принят принимающей стороной. Кроме того, можно поискать информацию в логах.
  2. Перезапустить docker-compose командой docker-compose up -d --force-recreate, чтобы подгрузились новые переменные окружения.

Отправка только определённых полей

  1. Открываем файл src/models.py.
  2. Комментируем поля, которые не должны отправляться.
  3. Обязательно оставить поле ID, без него не запишется состояние последнего отправленного элемента инфоблока.
  4. После внесения изменений необходимо проверить работу локально.
  5. В случае успеха пересобрать образ docker.

Добавление новых данных в обработчике

  1. Открываем файл src/models.py.
  2. Добавляем новый атрибут. Название атрибута должны совпадать с кодом свойства инфоблока.
  3. Если нет понимания, какой тип данных будет приниматься или поле необязательно к заполнению, то тип данных можно выставить Optional[Any].
  4. После внесения изменений необходимо проверить работу локально.
  5. В случае успеха пересобрать образ docker.

Важно знать

  1. В скрипт обработчика лезть для добавления новых полей нет необходимости. Для этого нужно поменять только файл с моделями.
  2. Все данные должны быть записаны в соответствующие свойства инфоблока, чтобы не пришлось менять логику обработчика.
  3. Атрибуты в файле с моделями должны в точности соответствовать свойствам инфоблока. Допускается отсутствие определённых свойств инфоблока в моделях. Не допускается наличие атрибутов модели, которых нет в свойствах инфоблока.
  4. Все данные должны передаваться в свойствах инфоблока. Исключение - ID элемента.
  5. Принимающая сторона и обработчик обязаны предварительно согласовать атрибуты передаваемых данных. Атрибуты должны быть записаны как свойства инфоблока.