mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-01-06 03:54:27 +02:00
CDEK: Договоренности о доставке
This commit is contained in:
parent
88a36f71aa
commit
5826ad9150
File diff suppressed because it is too large
Load Diff
@ -728,6 +728,7 @@
|
||||
// Получает заявку на вызов курьера по UUID
|
||||
//
|
||||
// Примечание:
|
||||
// Заявка должна быть предварительно создана. См. СоздатьЗаявкуНаВызовКурьера
|
||||
// Метод в документации API: [Информация о заявке](@api-docs.cdek.ru/29948360.html)
|
||||
//
|
||||
// Параметры:
|
||||
@ -775,6 +776,59 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать договоренность о доставке
|
||||
// Фиксирует оговоренные с клиентом дату, время и адрес доставки
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Регистрация договоренности о доставке](@api-docs.cdek.ru/36981338.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// Договоренность - Структура Из КлючИЗначение - Описание договоренности. См. ПолучитьОписаниеДоговоренности - appt
|
||||
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
||||
Функция ЗафиксироватьДоговоренностьОДоставке(Знач Токен, Знач Договоренность, Знач ТестовыйAPI = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Договоренность);
|
||||
|
||||
URL = СформироватьURL("/delivery", ТестовыйAPI);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Договоренность, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить договоренность о доставке
|
||||
// Получает информацию об оговоренных с клиентом дате, времени и адресе доставки
|
||||
//
|
||||
// Примечание:
|
||||
// Договоренность должна быть предварительно создана. См. ЗафиксироватьДоговоренностьОДоставке
|
||||
// Метод в документации API: [Информация о договоренности о доставке](@api-docs.cdek.ru/36981626.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// UUID - Строка - UUID договоренности - uuid
|
||||
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
||||
Функция ПолучитьДоговоренностьОДоставке(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
||||
|
||||
URL = СформироватьURL("/delivery/" + UUID, ТестовыйAPI);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить описание заявки курьера
|
||||
// Получает макет для создания заявки на вызов курьера в функции СоздатьЗаявкуНаВызовКурьера
|
||||
//
|
||||
@ -859,6 +913,64 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить описание договоренности
|
||||
// Получает макет для создания о доставке в функции ЗафиксироватьДоговоренностьОДоставке
|
||||
//
|
||||
// Примечание:
|
||||
// Обязательность реквизитов может зависить от типа зказа или вложенности. Обязательно ознакомьтесь с документацией CDEK
|
||||
// Описания полей в документации: [Регистрация договоренности о доставке](@api-docs.cdek.ru/36981338.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
// ТолькоОбязательные - Булево - Истина > в макете будут только обязательные поля - required
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
Функция ПолучитьОписаниеДоговоренности(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
|
||||
|
||||
СтруктураДоговоренности = Новый Структура;
|
||||
|
||||
СтруктураДоговоренности.Вставить("date", "<Дата доставки, согласованная с получателем>");
|
||||
|
||||
Если Не ТолькоОбязательные Тогда
|
||||
|
||||
СтруктураДоговоренности.Вставить("cdek_number" , "<Номер заказа СДЭК>");
|
||||
СтруктураДоговоренности.Вставить("order_uuid" , "<Идентификатор заказа в ИС СДЭК>");
|
||||
СтруктураДоговоренности.Вставить("time_from" , "<Время доставки С, согласованное с получателем>");
|
||||
СтруктураДоговоренности.Вставить("time_to" , "<Время доставки ПО, согласованное с получателем>");
|
||||
СтруктураДоговоренности.Вставить("comment" , "<Комментарий>");
|
||||
СтруктураДоговоренности.Вставить("delivery_point", "<Буквенно-цифровой код ПВЗ СДЭК>");
|
||||
|
||||
СтруктураАдресаДоставки = Новый Структура;
|
||||
СтруктураАдресаДоставки.Вставить("code" , "<Код населенного пункта СДЭК>");
|
||||
СтруктураАдресаДоставки.Вставить("fias_guid" , "<Уникальный идентификатор ФИАС>");
|
||||
СтруктураАдресаДоставки.Вставить("postal_code" , "<Почтовый индекс>");
|
||||
СтруктураАдресаДоставки.Вставить("longitude" , "<Долгота>");
|
||||
СтруктураАдресаДоставки.Вставить("latitude" , "<Широта>");
|
||||
СтруктураАдресаДоставки.Вставить("country_code", "<Код страны в формате ISO_3166-1_alpha-2>");
|
||||
СтруктураАдресаДоставки.Вставить("region" , "<Название региона>");
|
||||
СтруктураАдресаДоставки.Вставить("region_code" , "<Код региона>");
|
||||
СтруктураАдресаДоставки.Вставить("sub_region" , "<Название района региона>");
|
||||
СтруктураАдресаДоставки.Вставить("city" , "<Название города>");
|
||||
СтруктураАдресаДоставки.Вставить("kladr_code" , "<Код КЛАДР>");
|
||||
СтруктураАдресаДоставки.Вставить("address" , "<Строка адреса>");
|
||||
|
||||
СтруктураДоговоренности.Вставить("to_location", СтруктураАдресаДоставки);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Пустая Тогда
|
||||
СтруктураДоговоренности = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураДоговоренности);
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураДоговоренности;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2027,13 +2027,24 @@
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("CDEK_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("CDEK_OrderUUID", ПараметрыТеста);
|
||||
|
||||
CDEK_ПолучитьДоступныеИнтервалыДоставки(ПараметрыТеста);
|
||||
CDEK_СоздатьЗаказ(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CDEK_ПолучитьОписаниеЗаявкиКурьера(ПараметрыТеста);
|
||||
CDEK_СоздатьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CDEK_ПолучитьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CDEK_УдалитьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CDEK_ПолучитьОписаниеДоговоренности(ПараметрыТеста);
|
||||
|
||||
CDEK_ПолучитьДоступныеИнтервалыДоставки(ПараметрыТеста);
|
||||
CDEK_ЗафиксироватьДоговоренностьОДоставке(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CDEK_ПолучитьДоговоренностьОДоставке(ПараметрыТеста);
|
||||
CDEK_УдалитьЗаказ(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -14060,6 +14071,79 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьОписаниеДоговоренности(ПараметрыФункции)
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеДоговоренности();
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеДоговоренности", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеДоговоренности(Истина);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеДоговоренности (Пустая)", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ЗафиксироватьДоговоренностьОДоставке(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUIDЗаказа = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
|
||||
Договоренность = Новый Структура;
|
||||
|
||||
Договоренность.Вставить("cdek_number", "1106207236");
|
||||
Договоренность.Вставить("order_uuid" , UUIDЗаказа);
|
||||
Договоренность.Вставить("date" , Формат(ТекущаяДата + 60 * 60 * 24 * 10, "ДФ=yyyy-MM-dd"));
|
||||
Договоренность.Вставить("time_from" , "10:00");
|
||||
Договоренность.Вставить("time_to" , "17:00");
|
||||
Договоренность.Вставить("comment" , "Офис группы компаний");
|
||||
|
||||
МестоДоставки = Новый Структура;
|
||||
МестоДоставки.Вставить("code" , "270");
|
||||
МестоДоставки.Вставить("fias_guid" , "0c5b2444-70a0-4932-980c-b4dc0d3f02b5");
|
||||
МестоДоставки.Вставить("postal_code" , "109004");
|
||||
МестоДоставки.Вставить("longitude" , 37.6204);
|
||||
МестоДоставки.Вставить("latitude" , 55.754);
|
||||
МестоДоставки.Вставить("country_code", "RU");
|
||||
МестоДоставки.Вставить("region" , "Новосибирск");
|
||||
МестоДоставки.Вставить("sub_region" , "Новосибирск");
|
||||
МестоДоставки.Вставить("city" , "Новосибирск");
|
||||
МестоДоставки.Вставить("kladr_code" , "7700000000000");
|
||||
МестоДоставки.Вставить("address" , "ул. Блюхера, 33");
|
||||
|
||||
Договоренность.Вставить("to_location", МестоДоставки);
|
||||
|
||||
Результат = OPI_CDEK.ЗафиксироватьДоговоренностьОДоставке(Токен, Договоренность, Истина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗафиксироватьДоговоренностьОДоставке", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
UUID = Результат["entity"]["uuid"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("CDEK_ApptUUID", UUID);
|
||||
OPI_Инструменты.ДобавитьПоле("CDEK_ApptUUID", UUID, "Строка", ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьДоговоренностьОДоставке(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_ApptUUID"];
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьДоговоренностьОДоставке(Токен, UUID, Истина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоговоренностьОДоставке", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2027,6 +2027,12 @@
|
||||
CLI_CDEK_СоздатьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CLI_CDEK_ПолучитьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CLI_CDEK_УдалитьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CLI_CDEK_ПолучитьОписаниеДоговоренности(ПараметрыТеста);
|
||||
CLI_CDEK_ЗафиксироватьДоговоренностьОДоставке(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CLI_CDEK_ПолучитьДоговоренностьОДоставке(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -15976,6 +15982,92 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_CDEK_ПолучитьОписаниеДоговоренности(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("empty", Ложь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеДоговоренности", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеДоговоренности", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("empty", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеДоговоренности", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеДоговоренности (Пустая)", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_CDEK_ЗафиксироватьДоговоренностьОДоставке(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
|
||||
Договоренность = Новый Структура;
|
||||
|
||||
Договоренность.Вставить("cdek_number", "1106207236");
|
||||
Договоренность.Вставить("order_uuid" , "72753031-df04-44a4-bc60-11e8b5253b1d");
|
||||
Договоренность.Вставить("date" , Формат(ТекущаяДата + 60 * 60 * 24, "ДФ=yyyy-MM-dd"));
|
||||
Договоренность.Вставить("time_from" , "10:00");
|
||||
Договоренность.Вставить("time_to" , "15:00");
|
||||
Договоренность.Вставить("comment" , "Офис группы компаний");
|
||||
|
||||
МестоДоставки = Новый Структура;
|
||||
МестоДоставки.Вставить("code" , "137");
|
||||
МестоДоставки.Вставить("fias_guid" , "c2deb16a-0330-4f05-821f-1d09c93331e6");
|
||||
МестоДоставки.Вставить("postal_code" , "190000");
|
||||
МестоДоставки.Вставить("longitude" , "30.3159");
|
||||
МестоДоставки.Вставить("latitude" , "59.9391");
|
||||
МестоДоставки.Вставить("country_code", "RU");
|
||||
МестоДоставки.Вставить("region" , "Санкт-Петербург");
|
||||
МестоДоставки.Вставить("region_code" , "82");
|
||||
МестоДоставки.Вставить("sub_region" , "Санкт-Петербург");
|
||||
МестоДоставки.Вставить("city" , "Санкт-Петербург");
|
||||
МестоДоставки.Вставить("kladr_code" , "78");
|
||||
МестоДоставки.Вставить("address" , "г.Бердск ул.Ленина 16");
|
||||
|
||||
Договоренность.Вставить("to_location", МестоДоставки);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token" , Токен);
|
||||
Опции.Вставить("appt" , Договоренность);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ЗафиксироватьДоговоренностьОДоставке", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗафиксироватьДоговоренностьОДоставке", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
UUID = Результат["entity"]["uuid"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("CDEK_ApptUUID", UUID);
|
||||
OPI_Инструменты.ДобавитьПоле("CDEK_ApptUUID", UUID, "Строка", ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_CDEK_ПолучитьДоговоренностьОДоставке(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_ApptUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token" , Токен);
|
||||
Опции.Вставить("uuid" , UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьДоговоренностьОДоставке", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоговоренностьОДоставке", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1874,9 +1874,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -728,6 +728,7 @@
|
||||
// Получает заявку на вызов курьера по UUID
|
||||
//
|
||||
// Примечание:
|
||||
// Заявка должна быть предварительно создана. См. СоздатьЗаявкуНаВызовКурьера
|
||||
// Метод в документации API: [Информация о заявке](@api-docs.cdek.ru/29948360.html)
|
||||
//
|
||||
// Параметры:
|
||||
@ -775,6 +776,59 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Зафиксировать договоренность о доставке
|
||||
// Фиксирует оговоренные с клиентом дату, время и адрес доставки
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Регистрация договоренности о доставке](@api-docs.cdek.ru/36981338.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// Договоренность - Структура Из КлючИЗначение - Описание договоренности. См. ПолучитьОписаниеДоговоренности - appt
|
||||
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
||||
Функция ЗафиксироватьДоговоренностьОДоставке(Знач Токен, Знач Договоренность, Знач ТестовыйAPI = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Договоренность);
|
||||
|
||||
URL = СформироватьURL("/delivery", ТестовыйAPI);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Договоренность, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить договоренность о доставке
|
||||
// Получает информацию об оговоренных с клиентом дате, времени и адресе доставки
|
||||
//
|
||||
// Примечание:
|
||||
// Договоренность должна быть предварительно создана. См. ЗафиксироватьДоговоренностьОДоставке
|
||||
// Метод в документации API: [Информация о договоренности о доставке](@api-docs.cdek.ru/36981626.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// UUID - Строка - UUID договоренности - uuid
|
||||
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
||||
Функция ПолучитьДоговоренностьОДоставке(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
||||
|
||||
URL = СформироватьURL("/delivery/" + UUID, ТестовыйAPI);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить описание заявки курьера
|
||||
// Получает макет для создания заявки на вызов курьера в функции СоздатьЗаявкуНаВызовКурьера
|
||||
//
|
||||
@ -859,6 +913,64 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить описание договоренности
|
||||
// Получает макет для создания о доставке в функции ЗафиксироватьДоговоренностьОДоставке
|
||||
//
|
||||
// Примечание:
|
||||
// Обязательность реквизитов может зависить от типа зказа или вложенности. Обязательно ознакомьтесь с документацией CDEK
|
||||
// Описания полей в документации: [Регистрация договоренности о доставке](@api-docs.cdek.ru/36981338.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
// ТолькоОбязательные - Булево - Истина > в макете будут только обязательные поля - required
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
Функция ПолучитьОписаниеДоговоренности(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
|
||||
|
||||
СтруктураДоговоренности = Новый Структура;
|
||||
|
||||
СтруктураДоговоренности.Вставить("date", "<Дата доставки, согласованная с получателем>");
|
||||
|
||||
Если Не ТолькоОбязательные Тогда
|
||||
|
||||
СтруктураДоговоренности.Вставить("cdek_number" , "<Номер заказа СДЭК>");
|
||||
СтруктураДоговоренности.Вставить("order_uuid" , "<Идентификатор заказа в ИС СДЭК>");
|
||||
СтруктураДоговоренности.Вставить("time_from" , "<Время доставки С, согласованное с получателем>");
|
||||
СтруктураДоговоренности.Вставить("time_to" , "<Время доставки ПО, согласованное с получателем>");
|
||||
СтруктураДоговоренности.Вставить("comment" , "<Комментарий>");
|
||||
СтруктураДоговоренности.Вставить("delivery_point", "<Буквенно-цифровой код ПВЗ СДЭК>");
|
||||
|
||||
СтруктураАдресаДоставки = Новый Структура;
|
||||
СтруктураАдресаДоставки.Вставить("code" , "<Код населенного пункта СДЭК>");
|
||||
СтруктураАдресаДоставки.Вставить("fias_guid" , "<Уникальный идентификатор ФИАС>");
|
||||
СтруктураАдресаДоставки.Вставить("postal_code" , "<Почтовый индекс>");
|
||||
СтруктураАдресаДоставки.Вставить("longitude" , "<Долгота>");
|
||||
СтруктураАдресаДоставки.Вставить("latitude" , "<Широта>");
|
||||
СтруктураАдресаДоставки.Вставить("country_code", "<Код страны в формате ISO_3166-1_alpha-2>");
|
||||
СтруктураАдресаДоставки.Вставить("region" , "<Название региона>");
|
||||
СтруктураАдресаДоставки.Вставить("region_code" , "<Код региона>");
|
||||
СтруктураАдресаДоставки.Вставить("sub_region" , "<Название района региона>");
|
||||
СтруктураАдресаДоставки.Вставить("city" , "<Название города>");
|
||||
СтруктураАдресаДоставки.Вставить("kladr_code" , "<Код КЛАДР>");
|
||||
СтруктураАдресаДоставки.Вставить("address" , "<Строка адреса>");
|
||||
|
||||
СтруктураДоговоренности.Вставить("to_location", СтруктураАдресаДоставки);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Пустая Тогда
|
||||
СтруктураДоговоренности = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураДоговоренности);
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураДоговоренности;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2027,13 +2027,24 @@
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("CDEK_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("CDEK_OrderUUID", ПараметрыТеста);
|
||||
|
||||
CDEK_ПолучитьДоступныеИнтервалыДоставки(ПараметрыТеста);
|
||||
CDEK_СоздатьЗаказ(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CDEK_ПолучитьОписаниеЗаявкиКурьера(ПараметрыТеста);
|
||||
CDEK_СоздатьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CDEK_ПолучитьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CDEK_УдалитьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CDEK_ПолучитьОписаниеДоговоренности(ПараметрыТеста);
|
||||
|
||||
CDEK_ПолучитьДоступныеИнтервалыДоставки(ПараметрыТеста);
|
||||
CDEK_ЗафиксироватьДоговоренностьОДоставке(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CDEK_ПолучитьДоговоренностьОДоставке(ПараметрыТеста);
|
||||
CDEK_УдалитьЗаказ(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -14060,6 +14071,79 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьОписаниеДоговоренности(ПараметрыФункции)
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеДоговоренности();
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеДоговоренности", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеДоговоренности(Истина);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеДоговоренности (Пустая)", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ЗафиксироватьДоговоренностьОДоставке(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUIDЗаказа = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
|
||||
Договоренность = Новый Структура;
|
||||
|
||||
Договоренность.Вставить("cdek_number", "1106207236");
|
||||
Договоренность.Вставить("order_uuid" , UUIDЗаказа);
|
||||
Договоренность.Вставить("date" , Формат(ТекущаяДата + 60 * 60 * 24 * 10, "ДФ=yyyy-MM-dd"));
|
||||
Договоренность.Вставить("time_from" , "10:00");
|
||||
Договоренность.Вставить("time_to" , "17:00");
|
||||
Договоренность.Вставить("comment" , "Офис группы компаний");
|
||||
|
||||
МестоДоставки = Новый Структура;
|
||||
МестоДоставки.Вставить("code" , "270");
|
||||
МестоДоставки.Вставить("fias_guid" , "0c5b2444-70a0-4932-980c-b4dc0d3f02b5");
|
||||
МестоДоставки.Вставить("postal_code" , "109004");
|
||||
МестоДоставки.Вставить("longitude" , 37.6204);
|
||||
МестоДоставки.Вставить("latitude" , 55.754);
|
||||
МестоДоставки.Вставить("country_code", "RU");
|
||||
МестоДоставки.Вставить("region" , "Новосибирск");
|
||||
МестоДоставки.Вставить("sub_region" , "Новосибирск");
|
||||
МестоДоставки.Вставить("city" , "Новосибирск");
|
||||
МестоДоставки.Вставить("kladr_code" , "7700000000000");
|
||||
МестоДоставки.Вставить("address" , "ул. Блюхера, 33");
|
||||
|
||||
Договоренность.Вставить("to_location", МестоДоставки);
|
||||
|
||||
Результат = OPI_CDEK.ЗафиксироватьДоговоренностьОДоставке(Токен, Договоренность, Истина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗафиксироватьДоговоренностьОДоставке", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
UUID = Результат["entity"]["uuid"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("CDEK_ApptUUID", UUID);
|
||||
OPI_Инструменты.ДобавитьПоле("CDEK_ApptUUID", UUID, "Строка", ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьДоговоренностьОДоставке(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_ApptUUID"];
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьДоговоренностьОДоставке(Токен, UUID, Истина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоговоренностьОДоставке", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2027,6 +2027,12 @@
|
||||
CLI_CDEK_СоздатьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CLI_CDEK_ПолучитьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CLI_CDEK_УдалитьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CLI_CDEK_ПолучитьОписаниеДоговоренности(ПараметрыТеста);
|
||||
CLI_CDEK_ЗафиксироватьДоговоренностьОДоставке(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CLI_CDEK_ПолучитьДоговоренностьОДоставке(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -15976,6 +15982,92 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_CDEK_ПолучитьОписаниеДоговоренности(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("empty", Ложь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеДоговоренности", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеДоговоренности", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("empty", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеДоговоренности", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеДоговоренности (Пустая)", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_CDEK_ЗафиксироватьДоговоренностьОДоставке(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
|
||||
Договоренность = Новый Структура;
|
||||
|
||||
Договоренность.Вставить("cdek_number", "1106207236");
|
||||
Договоренность.Вставить("order_uuid" , "72753031-df04-44a4-bc60-11e8b5253b1d");
|
||||
Договоренность.Вставить("date" , Формат(ТекущаяДата + 60 * 60 * 24, "ДФ=yyyy-MM-dd"));
|
||||
Договоренность.Вставить("time_from" , "10:00");
|
||||
Договоренность.Вставить("time_to" , "15:00");
|
||||
Договоренность.Вставить("comment" , "Офис группы компаний");
|
||||
|
||||
МестоДоставки = Новый Структура;
|
||||
МестоДоставки.Вставить("code" , "137");
|
||||
МестоДоставки.Вставить("fias_guid" , "c2deb16a-0330-4f05-821f-1d09c93331e6");
|
||||
МестоДоставки.Вставить("postal_code" , "190000");
|
||||
МестоДоставки.Вставить("longitude" , "30.3159");
|
||||
МестоДоставки.Вставить("latitude" , "59.9391");
|
||||
МестоДоставки.Вставить("country_code", "RU");
|
||||
МестоДоставки.Вставить("region" , "Санкт-Петербург");
|
||||
МестоДоставки.Вставить("region_code" , "82");
|
||||
МестоДоставки.Вставить("sub_region" , "Санкт-Петербург");
|
||||
МестоДоставки.Вставить("city" , "Санкт-Петербург");
|
||||
МестоДоставки.Вставить("kladr_code" , "78");
|
||||
МестоДоставки.Вставить("address" , "г.Бердск ул.Ленина 16");
|
||||
|
||||
Договоренность.Вставить("to_location", МестоДоставки);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token" , Токен);
|
||||
Опции.Вставить("appt" , Договоренность);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ЗафиксироватьДоговоренностьОДоставке", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗафиксироватьДоговоренностьОДоставке", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
UUID = Результат["entity"]["uuid"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("CDEK_ApptUUID", UUID);
|
||||
OPI_Инструменты.ДобавитьПоле("CDEK_ApptUUID", UUID, "Строка", ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_CDEK_ПолучитьДоговоренностьОДоставке(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_ApptUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token" , Токен);
|
||||
Опции.Вставить("uuid" , UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьДоговоренностьОДоставке", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоговоренностьОДоставке", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
Loading…
Reference in New Issue
Block a user