Skip to main content

Концепция разработки расширений

1. Универсальность

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

1.1 Работа с объектами

Для каждого объекта в системе СУЛ 2.0 будет создан отдельный модуль. Под объектами подразумеваются, например, товары, карты, клиенты и т. д. Каждое решение имеет свою структуру метаданных, поэтому для корректного сопоставления объекта 1С с объектом СУЛ будет реализована следующая система:

  1. Для работы с объектом СУЛ создаётся общий модуль (например, СУЛ_Номенклатура).
  2. В этом модуле реализуется функция для получения объекта в необходимой структуре для СУЛ.
  3. Общий модуль будет вызывать переопределяемый модуль, направляющий запрос в модуль, написанный для конкретной конфигурации.
  4. По названию и версии конфигурации, на которую устанавливается расширение, код однозначно определит необходимый модуль.

1.2 Выгрузка НСИ

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

1.3 Оповещения пользователю

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

1.4 Поиск объектов при сканировании

Для поиска объектов СУЛ по ШК с помощью сканера будет использоваться форма поиска, реализованная в расширении. События стандартных конфигураций перехватываться не будут.

2. Подключение и авторизация в сервисе

Параметры подключения:

  1. Адрес сервера.
  2. Таймаут подключения.
  3. Опция защищённого соединения.

Параметры авторизации:

  1. ID клиента.
  2. Логин.
  3. Пароль.

Эти настройки будут храниться в константе в формате JSON-строки. Токен авторизации будет сохраняться в параметре сеанса.

3. Расчёт скидок

Точки входа для расчёта скидок в СУЛ:

  1. Нажатие стандартной кнопки "Рассчитать скидки" в форме документа продажи.
  2. Событие "Перед оплатой".

4. Оффлайн-режим

Основой для реализации послужит оффлайн-режим из первой версии СУЛ, с учётом следующих изменений:

  1. Статус оффлайн-режима будет храниться в параметре сеанса.
  2. Проверка доступности сервиса (health) будет выполняться перед каждым запросом с таймаутом 1 секунда.

5. Логирование

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