API (УАУ8)

Материал из КинтВики
Версия от 19:26, 21 ноября 2024; Дмитрий Малюгин (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Методы

PostDocument

Создание документов переданного вида. Обязательный параметр: Вид - имя документа в дереве метаданных или имя предопределенного элемента справочника яъВидыДокументов (для документов, которые делятся на несколько видов, например документ яъЗаказ).

Поддерживаются следующие виды:

  • яъЗаказПокупателя
  • яъЗаказПоставщику
  • яъЗаказНаПроизводство
  • ОплатаПлатежнойКартой
  • ПриходныйКассовыйОрдер
  • ПоступлениеНаРасчетныйСчет
  • _ПеремещениеРастений
  • ПеремещениеРезервов
  • ИзменениеХарактеристик

Реквизиты документа передаются в теле запроса, для успешного создания и проведения документа должны быть заполнены все реквизиты с типом проверки заполнения Выдавать ошибку. Номер и дата документа заполняются автоматически, если не переданы в запросе. Если в запросе передается номер документа, он должен быть уникальным в пределах информационной базы. Ссылочные реквизиты передаются JSON-структурой с одним из ключевых полей: ID или GUID, значения реквизитов (элементы справочников) должны быть предварительно созданы в информационной базе вручную или методом PostElement.

Пример создания заказа покупателя
/PostData?Method=PostDocument&Вид=яъЗаказПокупателя

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

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

  • Если склад указан в табличной части - используется склад из табличной части
  • Если склад не указан в табличной части - используется склад шапки
  • Если склад не указан ни в шапке ни в табличной части - товар не резервируется
Тело запроса
{
"Организация": {
"GUID": "8a276db6-ce58-11e5-982d-14dae9b19a48"
},
"идИнтернетЗаказа": "0001",
"Дата": "2020-01-01T00:00:00",
"ОплатаПлатежнойКартой": {
"СуммаДокумента": 500,
"ВидОплаты": {
"ID": "e1cib/data/Справочник.ВидыОплатОрганизаций?ref=98165404a66e4a8111e879fee15001c2"
}
},
"СкладРезервирования": {
"ID": "e1cib/data/Справочник.Склады?ref=8b25a0661889f40541be854e00d95269"
},
"Контрагент": {
"GUID": "3cc7dcfa-930d-11df-b942-001bfc345421"
},
"Товары": [
{
"Номенклатура": {
"GUID": "2b82b757-366b-11e9-982b-5404a66e4a81"
},
"Количество": 10,
"Цена": 150,
}
],
"ДополнительныеСвойства": [
{
"Свойство": "СуммаДоставки",
"Значение": 100
}
]
}
Пример ответа
{
"Success": true,
"Result": {
"Дата": "2020-01-01T00:00:00",
"Номер": "0000--000000045",
"Идентификатор": "e1cib/data/Документ.яъЗаказ?ref=98485404a66e4a8111eaa099a5a5b36d"
}
}

Изменение документов

Для вида документа «яъЗаказПокупателя» поддерживается изменение реквизитов. Для этого в тело запроса необходимо передать параметр Идентификатор (идентификатор заказа возвращается при успешном выполнении метода PostDocument). Реквизиты для изменения рекомендуется передавать в параметре «стРеквизиты», а не в теле запроса, так как реквизиты из тела запроса не всегда изменяются при вызове обработки заполнения документа. Если в запросе передана таблица товаров, позиции будут добавлены к существующим, если позиция уже есть в заказе, будет увеличено количество в строке. Если в запросе передан параметр Режим со значением УдалениеТоваров, количество товара будет уменьшено. В случае, если количество стало меньше или равно нулю, строка из заказа будет удалена. Данный функционал доступен начиная с версии 3.24.04.

Пример запроса для изменения реквизитов «Контрагент» и «Договор»
{
  "Идентификатор": "e1cib/data/Документ.яъЗаказ?ref=bca9d85ed320709611ef2232d2aed537",
  "стРеквизиты": {
    "Контрагент": {
      "Идентификатор": "e1cib/data/Справочник.Контрагенты?ref=9a58f2e8cf1cc29211ea4d76137ec466"
    },
    "ДоговорКонтрагента": {
      "Идентификатор": "e1cib/data/Справочник.ДоговорыКонтрагентов?ref=bca6d85ed320709611eeb4f2fc6d1fb8"
    }
  }
}
Пример запроса для уменьшения количества номенклатуры
{
  "Идентификатор": "e1cib/data/Документ.яъЗаказ?ref=9d415404a66e4a8911ef224f2be07e9b",
  "Режим": "УдалениеТоваров",
  "Товары": [
    {
      "Номенклатура": {
        "GUID": "2b82b757-366b-11e9-982b-5404a66e4a81"
      },
      "Количество": "10"
    }
  ]
}

Коды ошибок

Код ошибки (ErrorCode) Описание
3000 В параметрах не передан вид создаваемого документа.
3001 В параметрах передан вид документа, не поддерживаемый методом.
3002 Не удалось записать созданный документ.
3003 Передан вид документа, отсутствующий в конфигурации.
3004 Не удалось зарезервировать товары заказа покупателя.