1C-Company / DirectBank

DirectBank (прямой обмен с банком) – новая технология системы "1С:Предприятие 8"
51 stars 18 forks source link

Версии формата обмена с Банком #70

Closed naty-stolayrova closed 4 years ago

naty-stolayrova commented 4 years ago

1 и 2) В AvailableAPIVersion клиент сообщает с какой максимальной версией формата он умеет работать. В APIVersion клиент сообщает, в каком формате сформированы данные тела запроса. Банк должен присылать в настройке обмена максимальную версию формата, но не выше AvailableAPIVersion. 3) Сломается. Если клиент сообщает, что поддерживает только очень старую версию, то рекомендуем возвращать ошибку с текстом о неподдерживаемой версии формата. Пусть клиент обновит свою конфигурацию.

Originally posted by @SevDmitry in https://github.com/1C-Company/DirectBank/issues/45#issuecomment-574169412

naty-stolayrova commented 4 years ago

Добрый день!

Ранее мы задавали вопрос по версии формата обмена с банком, передаваемой в составе файла настроек. Сам вопрос находится по ссылке https://github.com/1C-Company/DirectBank/issues/45#issuecomment-574150995, а ответ на него представлен в комментарии выше. Не могли бы вы расширить ответ применительно к нашей ситуации.

Мы сейчас пытаемся настроить интеграцию 1С с банком через DirectBank. При этом на стороне банка мы выполнили поддержку нескольких версий форматов: 2.03, 2.1.2, 2.2.1 и 2.2.2.

Рассмотрим ситуацию: В 1С есть возможность загрузить настройки обмена с банком из файла. Для этого клиенту нужно предварительно получить этот файл от банка. Предположим, что банк предоставит клиенту файл с настройками, в котором указана самая последняя версия формата обмена, поддерживаемая банком - в нашем случае это версия 2.2.2. То есть в файле с настройками будет указан тег Settings/Data/FormatVersion = 2.2.2. При этом у клиента установлена 1С, которая поддерживает формат обмена ниже, чем 2.2.2, но который входит в список форматов, поддерживаемых на стороне банка. Например, пусть у клиента установлена 1С с форматом обмена 2.1.2.

Вопросы:

  1. Что произойдет с системой 1С клиента, когда клиент попытается загрузить настройки с указанной в них версией 2.2.2, в то время как 1С клиента работает на версии 2.1.2 ?
  2. Если при загрузке такого файла в 1С произойдет конфликт версий (или если загружаемые настройки не применятся), то правильно ли я понимаю, что для избежания этого конфликта (или для корректного применения настроек), при формировании файла настроек на стороне банка, следует предварительно узнать версию формата обмена, поддерживаемой в клиентской 1С ?
  3. Что произойдет с ситемой 1С в обратной ситуации: когда, например, система 1С клиента поддерживает формат обмена в версии 2.3.1, а загружается файл настроек с версией 2.2.2 ?
SevDmitry commented 4 years ago
  1. Будет создана настройка, но в формате 2.1.2
  2. Конфликт не произойдет.
  3. Будет создана настройка в формате 2.2.2
naty-stolayrova commented 4 years ago

Спасибо большое за ответы!