Метод запроса: POST
Протокол: http
Порт: 80
Заголовки: Content-Type: application/json
Кодировка: UTF8
Адрес для запроса: записывается в константу «АдресДляЗапросаВБИС», созданную в расширении.
Авторизация: авторизация не требуется, запрос выполняется внутри локальной сети Тело запроса: строка JSON, индивидуальная для каждого метода, но обязательно содержащая параметры:
type – содержит тип запрашиваемых данных.
Data – содержит параметры отборов для данных
Возвращаемое значение: строка JSON, содержащая структуру запрашиваемых данных.
В БИС должны быть реализованы WEB-сервисы или иные инструменты, принимающие http запросы и возвращающие JSON структуры, соответствующие полученным параметрам.
В обработке реализованы только команды «Отобрать поступления» и «Отобрать хранение»
При отборе документов в зависимости от выбранного типа загрузки на вкладке «Результат отбора» динамически генерируется таблица, соответствующая составом колонок загружаемым документам. Перед созданием документов в базе пользователь имеет возможность выбрать какие документы нужно загружать, а какие нет (при автоматической загрузке по расписанию загружаются все документы, соответствующие отбору по дате изменения).
Обработка не содержит интерактивных команд для прямой загрузки НСИ. Загрузка НСИ осуществляется при загрузке документов, загружаются только те объекты, которые используются в загружаемых документах и при этом сами были изменены.
Для всех загружаемых из БИС объектов в типовом регистре ERP
«СоответствияОбъектовИнформационныхБаз» записывается соответствие идентификатора созданного элемента ERP полученному уникальному идентификатору объекта из БИС.
При последующих загрузках перед созданием нового объекта в ERP предварительно проверяется наличие полученного идентификатора в регистре и соответствующего ему объекта ERP. При его наличии, новый объект не создаётся, а вносятся изменения в существующий.
- Загрузка поступлений и корректировок товаров
Тело запроса к БИС:
{
Type:"getArrival",
Data : {
D1: "<Начало периода в формате ГГГГММДДччммсс*>",
D2: "<Конец периода в формате ГГГГММДДччммсс*>",
IDFirm: "<Код контрагента>", (необязательно)
DocType: "<Тип документа>", (необазятельно)
MaxSize: 100,
Page: 1,
ID: "<ID документа в БИС>" (необязательно)
}
}
Полученные данные записываются в типовые документы ERP «ПриобретениеТоваровУслуг» для поступлений и «Корректировка приобретения» для корректировок (при этом в ERP должна быть включена опция использования корректировок). При этом при заполнении документа проверяется наличие у контрагента договора с видом «С поставщиком» и при его отсутствии создаётся новый договор с наименованием «Основной договор с поставщиком». Если договор уже существует, то новый договор не создаётся и в документ подставляется существующий.
- Загрузка поступлений на хранение и возвратов с хранения
Тело запроса к БИС:
{
Type:"getArrivalMx",
Data : {
D1: "<Начало периода в формате ГГГГММДДччммсс*>",
D2: "<Конец периода в формате ГГГГММДДччммсс*>",
IDFirm: "<Код контрагента>", (необязательно)
DocType: "<Тип документа>", (необазятельно)
MaxSize: 100,
Page: 1,
ID: "<ID документа в БИС>" (необязательно)
}
}
Запросы выполняется пакетно, одновременно выгружается количество записей, соответствующее переданному параметру MaxSize. Номер пакета передается параметром Page. Таким образом при значении параметров 100 и 1 соответственно, запросвозвращаетпервуюсотнюдокументов, апризначениях 100 и 2 – вторую сотню и так далее. Возвращаемые запросом данные должны быть отсоритрованы по дате изменения в порядке возрастания.
Полученные данные записываются в типовые документы ERP
«ПриемкаТоваровНаХранение» и «ОтгрузкаТоваровСХранения». При этом при заполнении документа проверяется наличие у контрагента договора с видом «С поклажедателем» и при его отсутствии создаётся новый договор с наименованием «Основной договор с поклажедателем». Если договор уже существует, то новый договор не создаётся и в документ подставляется существующий.
- Контроль загрузки данных
Для контроля загрузки данных в расширении создается непериодический регистр сведений «ОшибкиЗагрузкиИзБИС» не подчиненный регистратору, со следующей структурой:
Тип реквизита |
Тип значения |
Наименование |
Назначение |
Измерение |
ДатаВремя |
Дата операции |
Дата изменения в БИС |
Измерение |
Строка |
Номер документа |
Номер документа в БИС |
Измерение |
Строка |
Тип документа |
Тип документа в БИС |
Реквизит |
Строка |
Ошибка |
Описание ошибки, по которой не удалось загрузить документ. |
Реквизит |
ДатаВремя |
Дата попытки |
Дата последней попытки загрузить документ. |
Во время загрузки данных, при возникновении ошибки и невозможности записать загруженный документ, данные об этом записываются в регистр для повторной попытки загрузки при следующем запуске обработки.
При следующем запуске загрузки обработка сначала пытается заново загрузить документы, не выгруженные ранее, делая запрос к БИС с отбором по конкретным номерам документов.
Увидеть список ошибок при загрузке и вручную запустить повторную их загрузку можно в обработке на вкладке «Контроль обмена»
Платформа 8.3.22.1704, 1С:ERP Управление предприятием 2.5.10.24.