mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-11-28 09:08:38 +02:00
Main build (Jenkins)
This commit is contained in:
parent
b6af2b4a73
commit
bd90b054c9
@ -882,6 +882,14 @@ def test_cdek(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe cdek GetToken --account "test" --pass "test" --testapi "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe cdek CreateOrder --token "test" --order "test" --ostore "test" --testapi "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe cdek GetOrderDescription --empty "test" --required "test" --ostore "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -882,6 +882,14 @@ def test_cdek(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe cdek ПолучитьТокен --account "test" --pass "test" --testapi "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe cdek СоздатьЗаказ --token "test" --order "test" --ostore "test" --testapi "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe cdek ПолучитьОписаниеЗаказа --empty "test" --required "test" --ostore "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
11
ci/ostesten
11
ci/ostesten
@ -602,6 +602,17 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('Testing-CDEK') {
|
||||
steps {
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/en/OInt/tests/Modules/internal/OPI_Tests.os" "CdekAPI_CommonMethods"'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
post{
|
||||
always{
|
||||
|
@ -610,6 +610,10 @@ pipeline {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "СдэкАПИ_ОбщиеМетоды"'
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "СдэкАПИ_РаботаСЗаказами"'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
1
docs/en/cli/CDEK/CreateOrder.txt
Normal file
1
docs/en/cli/CDEK/CreateOrder.txt
Normal file
@ -0,0 +1 @@
|
||||
oint cdek CreateOrder --token %token% --order %order% --ostore %ostore% --testapi %testapi%
|
1
docs/en/cli/CDEK/GetOrderDescription.txt
Normal file
1
docs/en/cli/CDEK/GetOrderDescription.txt
Normal file
@ -0,0 +1 @@
|
||||
oint cdek GetOrderDescription --empty %empty% --required %required% --ostore %ostore%
|
1
docs/en/examples/CDEK/GetOrderDescription.txt
Normal file
1
docs/en/examples/CDEK/GetOrderDescription.txt
Normal file
@ -0,0 +1 @@
|
||||
Result = OPI_CDEK.GetOrderDescription();
|
@ -37,7 +37,7 @@ Method at API documentation: [Client authorization](https://api-docs.cdek.ru/299
|
||||
|
||||
```sh title="CLI command example"
|
||||
|
||||
oint cdek GetToken --account "wqGwiQx0gg8mLtiEKsUinjVSICCjtTEP" --pass "RmAmgvSgSl..." --testapi %testapi%
|
||||
oint cdek GetToken --account "wqGwiQx0gg8mLtiEKsUinjVSICCjtTEP" --pass "RmAmgvSgSl..." --testapi %testapi%
|
||||
|
||||
```
|
||||
|
||||
|
44
docs/en/md/CDEK/Orders-managment/Create-order.md
Normal file
44
docs/en/md/CDEK/Orders-managment/Create-order.md
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Create order
|
||||
Creates an order based on field descriptions
|
||||
|
||||
|
||||
|
||||
`Function CreateOrder(Val Token, Val OrderDescription, Val OnlineStore = False, TestAPI = False) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Description |
|
||||
|-|-|-|-|
|
||||
| Token | --token | String | Auth token |
|
||||
| OrderDescription | --order | Structure of KeyAndValue | Set of order fields. See GetOrderDescription |
|
||||
| OnlineStore | --ostore | Boolean | Flag of Online store order type |
|
||||
| TestAPI | --testapi | Boolean | Flag to use test API for requests |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from CDEK
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at API documentation: [Order registration](https://api-docs.cdek.ru/29923926.html)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="CLI command example"
|
||||
|
||||
oint cdek CreateOrder --token %token% --order %order% --ostore %ostore% --testapi %testapi%
|
||||
|
||||
```
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
45
docs/en/md/CDEK/Orders-managment/Get-order-description.md
Normal file
45
docs/en/md/CDEK/Orders-managment/Get-order-description.md
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Get order description
|
||||
Gets the layout of order for the CreateOrder function
|
||||
|
||||
|
||||
|
||||
`Function GetOrderDescription(Val Clear = False, Val RequiredOnly = False, Val OnlineStore = False) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Description |
|
||||
|-|-|-|-|
|
||||
| Clear | --empty | Boolean | True > structure with empty valuse, False > field descriptions at values |
|
||||
| RequiredOnly | --required | Boolean | True > only required fields will be in the set |
|
||||
| OnlineStore | --ostore | Boolean | Flag of including fields in the layout exclusively for online store orders |
|
||||
|
||||
|
||||
Returns: Structure of KeyAndValue - Fields structure
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Required fields may depend on the type of order or nesting. Be sure to read the CDEK documentation
|
||||
|
||||
Field descriptions in the documentation: [Order registration](https://api-docs.cdek.ru/29923926.html)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Code example"
|
||||
Result = OPI_CDEK.GetOrderDescription();
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="CLI command example"
|
||||
|
||||
oint cdek GetOrderDescription --empty %empty% --required %required% --ostore %ostore%
|
||||
|
||||
```
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
4
docs/en/md/CDEK/Orders-managment/_category_.json
Normal file
4
docs/en/md/CDEK/Orders-managment/_category_.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Orders managment",
|
||||
"position": "3"
|
||||
}
|
1
docs/ru/cli/CDEK/ПолучитьОписаниеЗаказа.txt
Normal file
1
docs/ru/cli/CDEK/ПолучитьОписаниеЗаказа.txt
Normal file
@ -0,0 +1 @@
|
||||
oint cdek ПолучитьОписаниеЗаказа --empty %empty% --required %required% --ostore %ostore%
|
1
docs/ru/cli/CDEK/СоздатьЗаказ.txt
Normal file
1
docs/ru/cli/CDEK/СоздатьЗаказ.txt
Normal file
@ -0,0 +1 @@
|
||||
oint cdek СоздатьЗаказ --token %token% --order %order% --ostore %ostore% --testapi %testapi%
|
1
docs/ru/examples/CDEK/ПолучитьОписаниеЗаказа.txt
Normal file
1
docs/ru/examples/CDEK/ПолучитьОписаниеЗаказа.txt
Normal file
@ -0,0 +1 @@
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеЗаказа();
|
@ -37,7 +37,7 @@ sidebar_position: 1
|
||||
|
||||
```sh title="Пример команды CLI"
|
||||
|
||||
oint cdek ПолучитьТокен --account "wqGwiQx0gg8mLtiEKsUinjVSICCjtTEP" --pass "RmAmgvSgSl..." --testapi %testapi%
|
||||
oint cdek ПолучитьТокен --account "wqGwiQx0gg8mLtiEKsUinjVSICCjtTEP" --pass "RmAmgvSgSl..." --testapi %testapi%
|
||||
|
||||
```
|
||||
|
||||
|
44
docs/ru/md/CDEK/Orders-managment/Create-order.md
Normal file
44
docs/ru/md/CDEK/Orders-managment/Create-order.md
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Создать заказ
|
||||
Создает заказ по описанию полей
|
||||
|
||||
|
||||
|
||||
`Функция СоздатьЗаказ(Знач Токен, Знач ОписаниеЗаказа, Знач ИнтернетМагазин = Ложь, ТестовыйAPI = Ложь) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Назначение |
|
||||
|-|-|-|-|
|
||||
| Токен | --token | Строка | Токен авторизации |
|
||||
| ОписаниеЗаказа | --order | Структура Из КлючИЗначение | Набор полей заказа. См. ПолучитьОписаниеЗаказа |
|
||||
| ИнтернетМагазин | --ostore | Булево | Признак типа заказа Интернет магазин |
|
||||
| ТестовыйAPI | --testapi | Булево | Флаг использования API для тестовых запросов |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации API: [Регистрация заказа](https://api-docs.cdek.ru/29923926.html)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример кода"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="Пример команды CLI"
|
||||
|
||||
oint cdek СоздатьЗаказ --token %token% --order %order% --ostore %ostore% --testapi %testapi%
|
||||
|
||||
```
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
45
docs/ru/md/CDEK/Orders-managment/Get-order-description.md
Normal file
45
docs/ru/md/CDEK/Orders-managment/Get-order-description.md
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Получить описание заказа
|
||||
Получает макет для создания заказа в функции СоздатьЗаказ
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьОписаниеЗаказа(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь, Знач ИнтернетМагазин = Ложь) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Назначение |
|
||||
|-|-|-|-|
|
||||
| Пустая | --empty | Булево | Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей |
|
||||
| ТолькоОбязательные | --required | Булево | Истина > в макете будут только обязательные поля |
|
||||
| ИнтернетМагазин | --ostore | Булево | Признак включения в макет полей исключительно для заказо Интернет магазина |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Структура полей
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Обязательность реквизитов может зависить от типа зказа или вложенности. Обязательно ознакомьтесь с документацией CDEK
|
||||
|
||||
Описания полей в документации: [Регистрация заказа](https://api-docs.cdek.ru/29923926.html)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример кода"
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеЗаказа();
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="Пример команды CLI"
|
||||
|
||||
oint cdek ПолучитьОписаниеЗаказа --empty %empty% --required %required% --ostore %ostore%
|
||||
|
||||
```
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
4
docs/ru/md/CDEK/Orders-managment/_category_.json
Normal file
4
docs/ru/md/CDEK/Orders-managment/_category_.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Работа с заказми",
|
||||
"position": "3"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -75,6 +75,241 @@ EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region OrdersManagment
|
||||
|
||||
// Create order
|
||||
// Creates an order based on field descriptions
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [Order registration](@api-docs.cdek.ru/29923926.html)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Auth token - token
|
||||
// OrderDescription - Structure of KeyAndValue - Set of order fields. See GetOrderDescription - order
|
||||
// OnlineStore - Boolean - Flag of Online store order type - ostore
|
||||
// TestAPI - Boolean - Flag to use test API for requests - testapi
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from CDEK
|
||||
Function CreateOrder(Val Token, Val OrderDescription, Val OnlineStore = False, TestAPI = False) Export
|
||||
|
||||
OPI_TypeConversion.GetCollection(OrderDescription);
|
||||
OPI_TypeConversion.GetBoolean(OnlineStore);
|
||||
|
||||
URL = FormURL("/orders", TestAPI);
|
||||
|
||||
Parameters = New Structure;
|
||||
|
||||
For Each OrderField In OrderDescription Do
|
||||
OPI_Tools.AddField(OrderField.Key, OrderField.Value, "Current", Parameters);
|
||||
EndDo;
|
||||
|
||||
OPI_Tools.AddField("type", ?(OnlineStore, 1, 2), "Number", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, OrderDescription, , False);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get order description
|
||||
// Gets the layout of order for the CreateOrder function
|
||||
//
|
||||
// Note
|
||||
// Required fields may depend on the type of order or nesting. Be sure to read the CDEK documentation
|
||||
// Field descriptions in the documentation: [Order registration](@api-docs.cdek.ru/29923926.html)
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
// RequiredOnly - Boolean - True > only required fields will be in the set - required
|
||||
// OnlineStore - Boolean - Flag of including fields in the layout exclusively for online store orders - ostore
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Fields structure
|
||||
Function GetOrderDescription(Val Clear = False, Val RequiredOnly = False, Val OnlineStore = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
OPI_TypeConversion.GetBoolean(RequiredOnly);
|
||||
OPI_TypeConversion.GetBoolean(OnlineStore);
|
||||
|
||||
OrderStructure = New Structure;
|
||||
|
||||
OrderStructure.Insert("tariff_code" , "<Tariff code)>");
|
||||
|
||||
RecipientStructure = New Structure;
|
||||
RecipientStructure.Insert("company" , "<Company name>");
|
||||
RecipientStructure.Insert("name" , "<Full name of contact person>");
|
||||
RecipientStructure.Insert("passport_series" , "<Passport series>");
|
||||
RecipientStructure.Insert("passport_number" , "<Passport number>");
|
||||
RecipientStructure.Insert("passport_date_of_issue", "<Date of issue of passport>");
|
||||
RecipientStructure.Insert("passport_organization" , "<Passport issuing authority>");
|
||||
RecipientStructure.Insert("tin" , "<TIN>");
|
||||
RecipientStructure.Insert("passport_date_of_birth", "<Birth date>");
|
||||
RecipientStructure.Insert("email" , "<Email as RFC 2822>");
|
||||
RecipientStructure.Insert("contragent_type" , "<Sender type: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
PhonesArray = New Array;
|
||||
PhoneStructure = New Structure;
|
||||
|
||||
PhoneStructure.Insert("number" , "<Phone number>");
|
||||
PhoneStructure.Insert("additional", "<Additional information (extension number)>");
|
||||
|
||||
PhonesArray.Add(PhoneStructure);
|
||||
|
||||
RecipientStructure.Insert("phones", PhonesArray);
|
||||
|
||||
OrderStructure.Insert("recipient", RecipientStructure);
|
||||
|
||||
PackagesArray = New Array;
|
||||
PackageStructure = New Structure;
|
||||
|
||||
PackageStructure.Insert("number" , "<Package number>");
|
||||
PackageStructure.Insert("weight" , "<Total weight (grams)>");
|
||||
PackageStructure.Insert("length" , "<Package Dimensions. Length (cm)>");
|
||||
PackageStructure.Insert("width" , "<Package Dimensions. Width (cm)>");
|
||||
PackageStructure.Insert("height" , "<Package Dimensions. Height (cm)>");
|
||||
PackageStructure.Insert("comment", "<Package withommentary>");
|
||||
|
||||
ItemsArray = New Array;
|
||||
ItemStructure = New Structure;
|
||||
|
||||
ItemStructure.Insert("name" , "<Product name>");
|
||||
ItemStructure.Insert("ware_key", "<Product ID/article>");
|
||||
ItemStructure.Insert("marking" , "<Product marking>");
|
||||
|
||||
PaymentStructure = New Structure;
|
||||
PaymentStructure.Insert("value" , "<Amount of cash on delivery, including VAT>");
|
||||
PaymentStructure.Insert("vat_sum" , "<VAT amount>");
|
||||
PaymentStructure.Insert("vat_rate", "<VAT rate (value - 0, 10, 12, 20, null - no VAT)>");
|
||||
|
||||
ItemStructure.Insert("payment" , PaymentStructure);
|
||||
ItemStructure.Insert("cost" , "<Declared product price>");
|
||||
ItemStructure.Insert("weight" , "<Weight (per unit, grams)>");
|
||||
ItemStructure.Insert("weight_gross", "<Gross weight>");
|
||||
ItemStructure.Insert("amount" , "<Number of units (pcs)>");
|
||||
ItemStructure.Insert("name_i18n" , "<Foreign language name>");
|
||||
ItemStructure.Insert("brand" , "<Brand in a foreign language>");
|
||||
ItemStructure.Insert("country_code", "<Country code of the product manufacturer as ISO_3166-1_alpha-2>");
|
||||
ItemStructure.Insert("material" , "<Material code>");
|
||||
ItemStructure.Insert("wifi_gsm" , "<Contains wifi or gsm>");
|
||||
ItemStructure.Insert("url" , "<Link to the website of the online store with the description of the product>");
|
||||
|
||||
ItemsArray.Add(ItemStructure);
|
||||
|
||||
PackageStructure.Insert("items", ItemsArray);
|
||||
PackagesArray.Add(PackageStructure);
|
||||
|
||||
OrderStructure.Insert("packages", PackagesArray);
|
||||
|
||||
If Not RequiredOnly Then
|
||||
|
||||
OrderStructure.Insert("additional_order_types" , "<Additional order type>");
|
||||
OrderStructure.Insert("comment" , "<Order comment>");
|
||||
OrderStructure.Insert("developer_key" , "<Developer key (for module developers)>");
|
||||
OrderStructure.Insert("shipment_point" , "<Code of CDEK POZ for self carriage by the customer>");
|
||||
OrderStructure.Insert("delivery_point" , "<Code of CDEK office to which the package will be delivered>");
|
||||
OrderStructure.Insert("date_invoice" , "<Invoice date>");
|
||||
OrderStructure.Insert("shipper_name" , "<Shipper>");
|
||||
OrderStructure.Insert("shipper_address" , "<Shippers address>");
|
||||
|
||||
SenderStructure = New Structure;
|
||||
SenderStructure.Insert("company" , "<Company name>");
|
||||
SenderStructure.Insert("name" , "<Full name of contact person>");
|
||||
SenderStructure.Insert("email" , "<Email for alerts as RFC 2822>");
|
||||
SenderStructure.Insert("passport_series" , "<Passport series>");
|
||||
SenderStructure.Insert("passport_number" , "<Passport number>");
|
||||
SenderStructure.Insert("passport_date_of_issue" , "<Date of issue of passport>");
|
||||
SenderStructure.Insert("passport_organization" , "<Passport issuing authority>");
|
||||
SenderStructure.Insert("tin" , "<TIN>");
|
||||
SenderStructure.Insert("passport_date_of_birth" , "<Birth date>");
|
||||
SenderStructure.Insert("contragent_type" , "<Sender type: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
PhonesArray = New Array;
|
||||
PhoneStructure = New Structure;
|
||||
|
||||
PhoneStructure.Insert("number" , "<Phone number>");
|
||||
PhoneStructure.Insert("additional", "<Additional information (extension number)>");
|
||||
|
||||
PhonesArray.Add(PhoneStructure);
|
||||
|
||||
SenderStructure.Insert("phones", PhonesArray);
|
||||
|
||||
OrderStructure.Insert("sender", SenderStructure);
|
||||
|
||||
AddressStructure = New Structure;
|
||||
AddressStructure.Insert("code" , "<CDEC locality code>");
|
||||
AddressStructure.Insert("fias_guid" , "<Unique FIAS identifier>");
|
||||
AddressStructure.Insert("postal_code" , "<Postal code>");
|
||||
AddressStructure.Insert("longitude" , "<Longitude>");
|
||||
AddressStructure.Insert("latitude" , "<Latitude>");
|
||||
AddressStructure.Insert("country_code", "<Code withтраны in format ISO_3166-1_alpha-2>");
|
||||
AddressStructure.Insert("region" , "<Region name, specifying parameter for the city field>");
|
||||
AddressStructure.Insert("region_code" , "<CDEK region code, specifying parameter for the city field>");
|
||||
AddressStructure.Insert("sub_region" , "<Name of the region's district, specifying parameter for the region field>");
|
||||
AddressStructure.Insert("city" , "<City name, specifying parameter for postal_code>");
|
||||
AddressStructure.Insert("kladr_code" , "<CLADR code>");
|
||||
AddressStructure.Insert("address" , "<Address string >");
|
||||
|
||||
OrderStructure.Insert("from_location", AddressStructure);
|
||||
OrderStructure.Insert("to_location" , AddressStructure);
|
||||
|
||||
ServiceStructure = New Structure;
|
||||
ServiceStructure.Insert("code" , "<Type of additional service>");
|
||||
ServiceStructure.Insert("parameter", "<Additional service parameter>");
|
||||
|
||||
OrderStructure.Insert("services" , ServiceStructure);
|
||||
OrderStructure.Insert("print" , "<Need to generate a document>");
|
||||
OrderStructure.Insert("is_client_return" , "<Customer refund>");
|
||||
OrderStructure.Insert("accompanying_number", "<Number of the accompanying consignment note>");
|
||||
OrderStructure.Insert("widget_token" , "<Token received from widget.cdek.ru>");
|
||||
|
||||
If OnlineStore Then
|
||||
|
||||
OrderStructure.Insert("number", "<Order number in the customers system (uuid, if not filled in)>");
|
||||
|
||||
CollectionStructure = New Structure;
|
||||
CollectionStructure.Insert("value" , "<Amount of additional fee (including VAT)>");
|
||||
CollectionStructure.Insert("vat_sum" , "<VAT amount>");
|
||||
CollectionStructure.Insert("vat_rate", "<VAT rate (value - 0, 10, 12, 20, null - no VAT)>");
|
||||
|
||||
OrderStructure.Insert("delivery_recipient_cost", CollectionStructure);
|
||||
|
||||
ThresholdsArray = New Array;
|
||||
ThresholdStructure = New Structure;
|
||||
|
||||
ThresholdStructure.Insert("threshold", "<Threshold for the value of goods in whole units of currency>");
|
||||
ThresholdStructure.Insert("sum" , "<Additional fee for delivery of products, the total value of which is in the range>");
|
||||
ThresholdStructure.Insert("vat_sum" , "<VAT included in additional delivery charge>");
|
||||
ThresholdStructure.Insert("vat_rate" , "<VAT rate (value - 0, 10, 12, 20, null - no VAT)>");
|
||||
|
||||
ThresholdsArray.Add(ThresholdStructure);
|
||||
|
||||
OrderStructure.Insert("delivery_recipient_cost_adv", ThresholdsArray);
|
||||
|
||||
SellerStructure = New Structure;
|
||||
SellerStructure.Insert("name" , "<Name of the true seller>");
|
||||
SellerStructure.Insert("inn" , "<TIN of the true seller>");
|
||||
SellerStructure.Insert("phone" , "<The true sellers phone number>");
|
||||
SellerStructure.Insert("ownership_form", "<Form of ownership code>");
|
||||
SellerStructure.Insert("address" , "<The address of the true seller>");
|
||||
|
||||
OrderStructure.Insert("seller", SellerStructure);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
|
||||
If Clear Then
|
||||
OrderStructure = OPI_Tools.ClearCollectionRecursively(OrderStructure);
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return OrderStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
|
@ -1996,6 +1996,15 @@ Procedure CdekAPI_CommonMethods() Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEKAPI_OrdersManagment() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("CDEK_Token" , TestParameters);
|
||||
|
||||
CDEK_GetOrderDescription(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@ -13626,6 +13635,22 @@ Procedure CDEK_GetToken(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOrderDescription(FunctionParameters)
|
||||
|
||||
Result = OPI_CDEK.GetOrderDescription();
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetOrderDescription", "CDEK");
|
||||
OPI_TestDataRetrieval.Check_Structure(Result);
|
||||
|
||||
Result = OPI_CDEK.GetOrderDescription(True);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetOrderDescription (Empty)", "CDEK");
|
||||
OPI_TestDataRetrieval.Check_Structure(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -213,7 +213,8 @@ Function GetTestTable() Export
|
||||
NewTest(TestTable, "OzonAPI_WarehousesManagment" , "Warehouses managment" , Ozon);
|
||||
NewTest(TestTable, "NC_FilesManagment" , "Files managment" , Neocities);
|
||||
NewTest(TestTable, "NC_DataRetrieving" , "Data retrieving" , Neocities);
|
||||
NewTest(TestTable, "CdekAPI_CommonMethods" , "CommonMethods" , Cdek);
|
||||
NewTest(TestTable, "CdekAPI_CommonMethods" , "Common methods" , Cdek);
|
||||
NewTest(TestTable, "CDEKAPI_OrdersManagment" , "Orders managment" , Cdek);
|
||||
|
||||
Return TestTable;
|
||||
|
||||
|
@ -425,6 +425,43 @@ Function ConvertDataWithSizeRetrieval(Data, Val MinimumStreamSize = 0) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ClearCollectionRecursively(Val Collection) Export
|
||||
|
||||
ValeType = TypeOf(Collection);
|
||||
|
||||
If ValeType = Type("Structure") Or ValeType = Type("Map") Then
|
||||
|
||||
For Each CollectionItem In Collection Do
|
||||
|
||||
ClearField = ClearCollectionRecursively(CollectionItem.Value);
|
||||
|
||||
Collection[CollectionItem.Key] = ClearField;
|
||||
|
||||
EndDo;
|
||||
|
||||
ElsIf ValeType = Type("Array") Then
|
||||
|
||||
Collection_ = New Array;
|
||||
|
||||
For Each CollectionItem In Collection Do
|
||||
|
||||
ClearField = ClearCollectionRecursively(CollectionItem);
|
||||
Collection_.Add(ClearField);
|
||||
|
||||
EndDo;
|
||||
|
||||
Collection = Collection_;
|
||||
|
||||
Else
|
||||
|
||||
Collection = "";
|
||||
|
||||
EndIf;
|
||||
|
||||
Return Collection;
|
||||
|
||||
EndFunction
|
||||
|
||||
Procedure ValueToArray(Value) Export
|
||||
|
||||
Value_ = New Array;
|
||||
|
@ -75,6 +75,241 @@ EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region OrdersManagment
|
||||
|
||||
// Create order
|
||||
// Creates an order based on field descriptions
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [Order registration](@api-docs.cdek.ru/29923926.html)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Auth token - token
|
||||
// OrderDescription - Structure of KeyAndValue - Set of order fields. See GetOrderDescription - order
|
||||
// OnlineStore - Boolean - Flag of Online store order type - ostore
|
||||
// TestAPI - Boolean - Flag to use test API for requests - testapi
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from CDEK
|
||||
Function CreateOrder(Val Token, Val OrderDescription, Val OnlineStore = False, TestAPI = False) Export
|
||||
|
||||
OPI_TypeConversion.GetCollection(OrderDescription);
|
||||
OPI_TypeConversion.GetBoolean(OnlineStore);
|
||||
|
||||
URL = FormURL("/orders", TestAPI);
|
||||
|
||||
Parameters = New Structure;
|
||||
|
||||
For Each OrderField In OrderDescription Do
|
||||
OPI_Tools.AddField(OrderField.Key, OrderField.Value, "Current", Parameters);
|
||||
EndDo;
|
||||
|
||||
OPI_Tools.AddField("type", ?(OnlineStore, 1, 2), "Number", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, OrderDescription, , False);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get order description
|
||||
// Gets the layout of order for the CreateOrder function
|
||||
//
|
||||
// Note
|
||||
// Required fields may depend on the type of order or nesting. Be sure to read the CDEK documentation
|
||||
// Field descriptions in the documentation: [Order registration](@api-docs.cdek.ru/29923926.html)
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
// RequiredOnly - Boolean - True > only required fields will be in the set - required
|
||||
// OnlineStore - Boolean - Flag of including fields in the layout exclusively for online store orders - ostore
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Fields structure
|
||||
Function GetOrderDescription(Val Clear = False, Val RequiredOnly = False, Val OnlineStore = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
OPI_TypeConversion.GetBoolean(RequiredOnly);
|
||||
OPI_TypeConversion.GetBoolean(OnlineStore);
|
||||
|
||||
OrderStructure = New Structure;
|
||||
|
||||
OrderStructure.Insert("tariff_code" , "<Tariff code)>");
|
||||
|
||||
RecipientStructure = New Structure;
|
||||
RecipientStructure.Insert("company" , "<Company name>");
|
||||
RecipientStructure.Insert("name" , "<Full name of contact person>");
|
||||
RecipientStructure.Insert("passport_series" , "<Passport series>");
|
||||
RecipientStructure.Insert("passport_number" , "<Passport number>");
|
||||
RecipientStructure.Insert("passport_date_of_issue", "<Date of issue of passport>");
|
||||
RecipientStructure.Insert("passport_organization" , "<Passport issuing authority>");
|
||||
RecipientStructure.Insert("tin" , "<TIN>");
|
||||
RecipientStructure.Insert("passport_date_of_birth", "<Birth date>");
|
||||
RecipientStructure.Insert("email" , "<Email as RFC 2822>");
|
||||
RecipientStructure.Insert("contragent_type" , "<Sender type: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
PhonesArray = New Array;
|
||||
PhoneStructure = New Structure;
|
||||
|
||||
PhoneStructure.Insert("number" , "<Phone number>");
|
||||
PhoneStructure.Insert("additional", "<Additional information (extension number)>");
|
||||
|
||||
PhonesArray.Add(PhoneStructure);
|
||||
|
||||
RecipientStructure.Insert("phones", PhonesArray);
|
||||
|
||||
OrderStructure.Insert("recipient", RecipientStructure);
|
||||
|
||||
PackagesArray = New Array;
|
||||
PackageStructure = New Structure;
|
||||
|
||||
PackageStructure.Insert("number" , "<Package number>");
|
||||
PackageStructure.Insert("weight" , "<Total weight (grams)>");
|
||||
PackageStructure.Insert("length" , "<Package Dimensions. Length (cm)>");
|
||||
PackageStructure.Insert("width" , "<Package Dimensions. Width (cm)>");
|
||||
PackageStructure.Insert("height" , "<Package Dimensions. Height (cm)>");
|
||||
PackageStructure.Insert("comment", "<Package withommentary>");
|
||||
|
||||
ItemsArray = New Array;
|
||||
ItemStructure = New Structure;
|
||||
|
||||
ItemStructure.Insert("name" , "<Product name>");
|
||||
ItemStructure.Insert("ware_key", "<Product ID/article>");
|
||||
ItemStructure.Insert("marking" , "<Product marking>");
|
||||
|
||||
PaymentStructure = New Structure;
|
||||
PaymentStructure.Insert("value" , "<Amount of cash on delivery, including VAT>");
|
||||
PaymentStructure.Insert("vat_sum" , "<VAT amount>");
|
||||
PaymentStructure.Insert("vat_rate", "<VAT rate (value - 0, 10, 12, 20, null - no VAT)>");
|
||||
|
||||
ItemStructure.Insert("payment" , PaymentStructure);
|
||||
ItemStructure.Insert("cost" , "<Declared product price>");
|
||||
ItemStructure.Insert("weight" , "<Weight (per unit, grams)>");
|
||||
ItemStructure.Insert("weight_gross", "<Gross weight>");
|
||||
ItemStructure.Insert("amount" , "<Number of units (pcs)>");
|
||||
ItemStructure.Insert("name_i18n" , "<Foreign language name>");
|
||||
ItemStructure.Insert("brand" , "<Brand in a foreign language>");
|
||||
ItemStructure.Insert("country_code", "<Country code of the product manufacturer as ISO_3166-1_alpha-2>");
|
||||
ItemStructure.Insert("material" , "<Material code>");
|
||||
ItemStructure.Insert("wifi_gsm" , "<Contains wifi or gsm>");
|
||||
ItemStructure.Insert("url" , "<Link to the website of the online store with the description of the product>");
|
||||
|
||||
ItemsArray.Add(ItemStructure);
|
||||
|
||||
PackageStructure.Insert("items", ItemsArray);
|
||||
PackagesArray.Add(PackageStructure);
|
||||
|
||||
OrderStructure.Insert("packages", PackagesArray);
|
||||
|
||||
If Not RequiredOnly Then
|
||||
|
||||
OrderStructure.Insert("additional_order_types" , "<Additional order type>");
|
||||
OrderStructure.Insert("comment" , "<Order comment>");
|
||||
OrderStructure.Insert("developer_key" , "<Developer key (for module developers)>");
|
||||
OrderStructure.Insert("shipment_point" , "<Code of CDEK POZ for self carriage by the customer>");
|
||||
OrderStructure.Insert("delivery_point" , "<Code of CDEK office to which the package will be delivered>");
|
||||
OrderStructure.Insert("date_invoice" , "<Invoice date>");
|
||||
OrderStructure.Insert("shipper_name" , "<Shipper>");
|
||||
OrderStructure.Insert("shipper_address" , "<Shippers address>");
|
||||
|
||||
SenderStructure = New Structure;
|
||||
SenderStructure.Insert("company" , "<Company name>");
|
||||
SenderStructure.Insert("name" , "<Full name of contact person>");
|
||||
SenderStructure.Insert("email" , "<Email for alerts as RFC 2822>");
|
||||
SenderStructure.Insert("passport_series" , "<Passport series>");
|
||||
SenderStructure.Insert("passport_number" , "<Passport number>");
|
||||
SenderStructure.Insert("passport_date_of_issue" , "<Date of issue of passport>");
|
||||
SenderStructure.Insert("passport_organization" , "<Passport issuing authority>");
|
||||
SenderStructure.Insert("tin" , "<TIN>");
|
||||
SenderStructure.Insert("passport_date_of_birth" , "<Birth date>");
|
||||
SenderStructure.Insert("contragent_type" , "<Sender type: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
PhonesArray = New Array;
|
||||
PhoneStructure = New Structure;
|
||||
|
||||
PhoneStructure.Insert("number" , "<Phone number>");
|
||||
PhoneStructure.Insert("additional", "<Additional information (extension number)>");
|
||||
|
||||
PhonesArray.Add(PhoneStructure);
|
||||
|
||||
SenderStructure.Insert("phones", PhonesArray);
|
||||
|
||||
OrderStructure.Insert("sender", SenderStructure);
|
||||
|
||||
AddressStructure = New Structure;
|
||||
AddressStructure.Insert("code" , "<CDEC locality code>");
|
||||
AddressStructure.Insert("fias_guid" , "<Unique FIAS identifier>");
|
||||
AddressStructure.Insert("postal_code" , "<Postal code>");
|
||||
AddressStructure.Insert("longitude" , "<Longitude>");
|
||||
AddressStructure.Insert("latitude" , "<Latitude>");
|
||||
AddressStructure.Insert("country_code", "<Code withтраны in format ISO_3166-1_alpha-2>");
|
||||
AddressStructure.Insert("region" , "<Region name, specifying parameter for the city field>");
|
||||
AddressStructure.Insert("region_code" , "<CDEK region code, specifying parameter for the city field>");
|
||||
AddressStructure.Insert("sub_region" , "<Name of the region's district, specifying parameter for the region field>");
|
||||
AddressStructure.Insert("city" , "<City name, specifying parameter for postal_code>");
|
||||
AddressStructure.Insert("kladr_code" , "<CLADR code>");
|
||||
AddressStructure.Insert("address" , "<Address string >");
|
||||
|
||||
OrderStructure.Insert("from_location", AddressStructure);
|
||||
OrderStructure.Insert("to_location" , AddressStructure);
|
||||
|
||||
ServiceStructure = New Structure;
|
||||
ServiceStructure.Insert("code" , "<Type of additional service>");
|
||||
ServiceStructure.Insert("parameter", "<Additional service parameter>");
|
||||
|
||||
OrderStructure.Insert("services" , ServiceStructure);
|
||||
OrderStructure.Insert("print" , "<Need to generate a document>");
|
||||
OrderStructure.Insert("is_client_return" , "<Customer refund>");
|
||||
OrderStructure.Insert("accompanying_number", "<Number of the accompanying consignment note>");
|
||||
OrderStructure.Insert("widget_token" , "<Token received from widget.cdek.ru>");
|
||||
|
||||
If OnlineStore Then
|
||||
|
||||
OrderStructure.Insert("number", "<Order number in the customers system (uuid, if not filled in)>");
|
||||
|
||||
CollectionStructure = New Structure;
|
||||
CollectionStructure.Insert("value" , "<Amount of additional fee (including VAT)>");
|
||||
CollectionStructure.Insert("vat_sum" , "<VAT amount>");
|
||||
CollectionStructure.Insert("vat_rate", "<VAT rate (value - 0, 10, 12, 20, null - no VAT)>");
|
||||
|
||||
OrderStructure.Insert("delivery_recipient_cost", CollectionStructure);
|
||||
|
||||
ThresholdsArray = New Array;
|
||||
ThresholdStructure = New Structure;
|
||||
|
||||
ThresholdStructure.Insert("threshold", "<Threshold for the value of goods in whole units of currency>");
|
||||
ThresholdStructure.Insert("sum" , "<Additional fee for delivery of products, the total value of which is in the range>");
|
||||
ThresholdStructure.Insert("vat_sum" , "<VAT included in additional delivery charge>");
|
||||
ThresholdStructure.Insert("vat_rate" , "<VAT rate (value - 0, 10, 12, 20, null - no VAT)>");
|
||||
|
||||
ThresholdsArray.Add(ThresholdStructure);
|
||||
|
||||
OrderStructure.Insert("delivery_recipient_cost_adv", ThresholdsArray);
|
||||
|
||||
SellerStructure = New Structure;
|
||||
SellerStructure.Insert("name" , "<Name of the true seller>");
|
||||
SellerStructure.Insert("inn" , "<TIN of the true seller>");
|
||||
SellerStructure.Insert("phone" , "<The true sellers phone number>");
|
||||
SellerStructure.Insert("ownership_form", "<Form of ownership code>");
|
||||
SellerStructure.Insert("address" , "<The address of the true seller>");
|
||||
|
||||
OrderStructure.Insert("seller", SellerStructure);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
|
||||
If Clear Then
|
||||
OrderStructure = OPI_Tools.ClearCollectionRecursively(OrderStructure);
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return OrderStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
|
@ -213,7 +213,8 @@ Function GetTestTable() Export
|
||||
NewTest(TestTable, "OzonAPI_WarehousesManagment" , "Warehouses managment" , Ozon);
|
||||
NewTest(TestTable, "NC_FilesManagment" , "Files managment" , Neocities);
|
||||
NewTest(TestTable, "NC_DataRetrieving" , "Data retrieving" , Neocities);
|
||||
NewTest(TestTable, "CdekAPI_CommonMethods" , "CommonMethods" , Cdek);
|
||||
NewTest(TestTable, "CdekAPI_CommonMethods" , "Common methods" , Cdek);
|
||||
NewTest(TestTable, "CDEKAPI_OrdersManagment" , "Orders managment" , Cdek);
|
||||
|
||||
Return TestTable;
|
||||
|
||||
|
@ -1996,6 +1996,15 @@ Procedure CdekAPI_CommonMethods() Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEKAPI_OrdersManagment() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("CDEK_Token" , TestParameters);
|
||||
|
||||
CDEK_GetOrderDescription(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@ -13626,6 +13635,22 @@ Procedure CDEK_GetToken(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOrderDescription(FunctionParameters)
|
||||
|
||||
Result = OPI_CDEK.GetOrderDescription();
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetOrderDescription", "CDEK");
|
||||
OPI_TestDataRetrieval.Check_Structure(Result);
|
||||
|
||||
Result = OPI_CDEK.GetOrderDescription(True);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetOrderDescription (Empty)", "CDEK");
|
||||
OPI_TestDataRetrieval.Check_Structure(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -425,6 +425,43 @@ Function ConvertDataWithSizeRetrieval(Data, Val MinimumStreamSize = 0) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ClearCollectionRecursively(Val Collection) Export
|
||||
|
||||
ValeType = TypeOf(Collection);
|
||||
|
||||
If ValeType = Type("Structure") Or ValeType = Type("Map") Then
|
||||
|
||||
For Each CollectionItem In Collection Do
|
||||
|
||||
ClearField = ClearCollectionRecursively(CollectionItem.Value);
|
||||
|
||||
Collection[CollectionItem.Key] = ClearField;
|
||||
|
||||
EndDo;
|
||||
|
||||
ElsIf ValeType = Type("Array") Then
|
||||
|
||||
Collection_ = New Array;
|
||||
|
||||
For Each CollectionItem In Collection Do
|
||||
|
||||
ClearField = ClearCollectionRecursively(CollectionItem);
|
||||
Collection_.Add(ClearField);
|
||||
|
||||
EndDo;
|
||||
|
||||
Collection = Collection_;
|
||||
|
||||
Else
|
||||
|
||||
Collection = "";
|
||||
|
||||
EndIf;
|
||||
|
||||
Return Collection;
|
||||
|
||||
EndFunction
|
||||
|
||||
Procedure ValueToArray(Value) Export
|
||||
|
||||
Value_ = New Array;
|
||||
|
@ -40,6 +40,78 @@
|
||||
NewLine.Описание = "Flag to use test API for requests (optional, def. val. - No)";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "cdek";
|
||||
NewLine.Модуль = "OPI_CDEK";
|
||||
NewLine.Метод = "CreateOrder";
|
||||
NewLine.МетодПоиска = "CREATEORDER";
|
||||
NewLine.Параметр = "--token";
|
||||
NewLine.Описание = "Auth token";
|
||||
NewLine.Область = "Orders managment";
|
||||
NewLine.ОписаниеМетода = "Creates an order based on field descriptions";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "cdek";
|
||||
NewLine.Модуль = "OPI_CDEK";
|
||||
NewLine.Метод = "CreateOrder";
|
||||
NewLine.МетодПоиска = "CREATEORDER";
|
||||
NewLine.Параметр = "--order";
|
||||
NewLine.Описание = "Set of order fields. See GetOrderDescription";
|
||||
NewLine.Область = "Orders managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "cdek";
|
||||
NewLine.Модуль = "OPI_CDEK";
|
||||
NewLine.Метод = "CreateOrder";
|
||||
NewLine.МетодПоиска = "CREATEORDER";
|
||||
NewLine.Параметр = "--ostore";
|
||||
NewLine.Описание = "Flag of Online store order type (optional, def. val. - No)";
|
||||
NewLine.Область = "Orders managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "cdek";
|
||||
NewLine.Модуль = "OPI_CDEK";
|
||||
NewLine.Метод = "CreateOrder";
|
||||
NewLine.МетодПоиска = "CREATEORDER";
|
||||
NewLine.Параметр = "--testapi";
|
||||
NewLine.Описание = "Flag to use test API for requests (optional, def. val. - No)";
|
||||
NewLine.Область = "Orders managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "cdek";
|
||||
NewLine.Модуль = "OPI_CDEK";
|
||||
NewLine.Метод = "GetOrderDescription";
|
||||
NewLine.МетодПоиска = "GETORDERDESCRIPTION";
|
||||
NewLine.Параметр = "--empty";
|
||||
NewLine.Описание = "True > structure with empty valuse, False > field descriptions at values (optional, def. val. - No)";
|
||||
NewLine.Область = "Orders managment";
|
||||
NewLine.ОписаниеМетода = "Gets the layout of order for the CreateOrder function";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "cdek";
|
||||
NewLine.Модуль = "OPI_CDEK";
|
||||
NewLine.Метод = "GetOrderDescription";
|
||||
NewLine.МетодПоиска = "GETORDERDESCRIPTION";
|
||||
NewLine.Параметр = "--required";
|
||||
NewLine.Описание = "True > only required fields will be in the set (optional, def. val. - No)";
|
||||
NewLine.Область = "Orders managment";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "cdek";
|
||||
NewLine.Модуль = "OPI_CDEK";
|
||||
NewLine.Метод = "GetOrderDescription";
|
||||
NewLine.МетодПоиска = "GETORDERDESCRIPTION";
|
||||
NewLine.Параметр = "--ostore";
|
||||
NewLine.Описание = "Flag of including fields in the layout exclusively for online store orders (optional, def. val. - No)";
|
||||
NewLine.Область = "Orders managment";
|
||||
|
||||
Return CompositionTable;
|
||||
EndFunction
|
||||
|
||||
|
@ -79,46 +79,46 @@
|
||||
|
||||
// Создать заказ
|
||||
// Создает заказ по описанию полей
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Регистрация заказа](@api-docs.cdek.ru/29923926.html)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// ОписаниеЗаказа - Структура Из КлючИЗначение - Набор полей заказа. См. ПолучитьОписаниеЗаказа - order
|
||||
// ИнтернетМагазин - Булево - Признак типа заказа Интернет магазин - ostore
|
||||
// ИнтернетМагазин - Булево - Признак типа заказа Интернет магазин - ostore
|
||||
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
||||
Функция СоздатьЗаказ(Знач Токен, Знач ОписаниеЗаказа, Знач ИнтернетМагазин = Ложь, ТестовыйAPI = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОписаниеЗаказа);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
|
||||
|
||||
URL = СформироватьURL("/orders", ТестовыйAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
|
||||
Для Каждого ПолеЗаказа Из ОписаниеЗаказа Цикл
|
||||
OPI_Инструменты.ДобавитьПоле(ПолеЗаказа.Ключ, ПолеЗаказа.Значение, "Текущий", Параметры);
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОписаниеЗаказа);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
|
||||
|
||||
URL = СформироватьURL("/orders", ТестовыйAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
|
||||
Для Каждого ПолеЗаказа Из ОписаниеЗаказа Цикл
|
||||
OPI_Инструменты.ДобавитьПоле(ПолеЗаказа.Ключ, ПолеЗаказа.Значение, "Текущий", Параметры);
|
||||
КонецЦикла;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("type", ?(ИнтернетМагазин, 1, 2), "Число", Параметры);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, ОписаниеЗаказа, , Ложь);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
// Получить описание заказа
|
||||
// Получает макет для создания заказа в функции СоздатьЗаказ
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Обязательность реквизитов может зависить от типа зказа или вложенности. Обязательно ознакомьтесь с документацией CDEK
|
||||
// Описания полей в документации: [Регистрация заказа](@api-docs.cdek.ru/29923926.html)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
// ТолькоОбязательные - Булево - Истина > в макете будут только обязательные поля - required
|
||||
@ -127,185 +127,185 @@
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
Функция ПолучитьОписаниеЗаказа(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь, Знач ИнтернетМагазин = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
|
||||
|
||||
СтруктураЗаказа = Новый Структура;
|
||||
|
||||
|
||||
СтруктураЗаказа.Вставить("tariff_code" , "<Код тарифа (подробнее см. приложение 1)>");
|
||||
|
||||
СтруктураПолучателя = Новый Структура;
|
||||
СтруктураПолучателя.Вставить("company" , "<Название компании>");
|
||||
СтруктураПолучателя.Вставить("name" , "<ФИО контактного лица>");
|
||||
СтруктураПолучателя.Вставить("passport_series" , "<Серия паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_number" , "<Номер паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_date_of_issue", "<Дата выдачи паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_organization" , "<Орган выдачи паспорта>");
|
||||
СтруктураПолучателя.Вставить("tin" , "<ИНН>");
|
||||
СтруктураПолучателя.Вставить("passport_date_of_birth", "<Дата рождения>");
|
||||
СтруктураПолучателя.Вставить("email" , "<Email как RFC 2822>");
|
||||
СтруктураПолучателя.Вставить("contragent_type" , "<Тип отправителя: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
МассивТелефонов = Новый Массив;
|
||||
СтруктураТелефона = Новый Структура;
|
||||
|
||||
СтруктураТелефона.Вставить("number" , "<Номер телефона>");
|
||||
СтруктураТелефона.Вставить("additional", "<Дополнительная информация (добавочный номер)>");
|
||||
|
||||
МассивТелефонов.Добавить(СтруктураТелефона);
|
||||
|
||||
СтруктураПолучателя.Вставить("phones", МассивТелефонов);
|
||||
|
||||
СтруктураПолучателя = Новый Структура;
|
||||
СтруктураПолучателя.Вставить("company" , "<Название компании>");
|
||||
СтруктураПолучателя.Вставить("name" , "<ФИО контактного лица>");
|
||||
СтруктураПолучателя.Вставить("passport_series" , "<Серия паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_number" , "<Номер паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_date_of_issue", "<Дата выдачи паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_organization" , "<Орган выдачи паспорта>");
|
||||
СтруктураПолучателя.Вставить("tin" , "<ИНН>");
|
||||
СтруктураПолучателя.Вставить("passport_date_of_birth", "<Дата рождения>");
|
||||
СтруктураПолучателя.Вставить("email" , "<Email как RFC 2822>");
|
||||
СтруктураПолучателя.Вставить("contragent_type" , "<Тип отправителя: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
МассивТелефонов = Новый Массив;
|
||||
СтруктураТелефона = Новый Структура;
|
||||
|
||||
СтруктураТелефона.Вставить("number" , "<Номер телефона>");
|
||||
СтруктураТелефона.Вставить("additional", "<Дополнительная информация (добавочный номер)>");
|
||||
|
||||
МассивТелефонов.Добавить(СтруктураТелефона);
|
||||
|
||||
СтруктураПолучателя.Вставить("phones", МассивТелефонов);
|
||||
|
||||
СтруктураЗаказа.Вставить("recipient", СтруктураПолучателя);
|
||||
|
||||
МассивУпаковок = Новый Массив;
|
||||
СтруктураУпаковки = Новый Структура;
|
||||
|
||||
СтруктураУпаковки.Вставить("number" , "<Номер упаковки>");
|
||||
СтруктураУпаковки.Вставить("weight" , "<Общий вес (в граммах)>");
|
||||
СтруктураУпаковки.Вставить("length" , "<Габариты упаковки. Длина (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("width" , "<Габариты упаковки. Ширина (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("height" , "<Габариты упаковки. Высота (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("comment", "<Комментарий к упаковке>");
|
||||
|
||||
МассивПозиций = Новый Массив;
|
||||
СтруктураПозиции = Новый Структура;
|
||||
|
||||
СтруктураПозиции.Вставить("name" , "<Наименование товара>");
|
||||
СтруктураПозиции.Вставить("ware_key", "<Идентификатор/артикул товара>");
|
||||
СтруктураПозиции.Вставить("marking" , "<Маркировка товара>");
|
||||
|
||||
СтруктураОплаты = Новый Структура;
|
||||
СтруктураОплаты.Вставить("value" , "<Сумма наложенного платежа, в том числе и НДС>");
|
||||
СтруктураОплаты.Вставить("vat_sum" , "<Сумма НДС>");
|
||||
СтруктураОплаты.Вставить("vat_rate", "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
СтруктураПозиции.Вставить("payment" , СтруктураОплаты);
|
||||
СтруктураПозиции.Вставить("cost" , "<Объявленная стоимость товара>");
|
||||
СтруктураПозиции.Вставить("weight" , "<Вес (за единицу товара, в граммах)>");
|
||||
СтруктураПозиции.Вставить("weight_gross", "<Вес брутто>");
|
||||
СтруктураПозиции.Вставить("amount" , "<Количество единиц товара (в штуках)>");
|
||||
СтруктураПозиции.Вставить("name_i18n" , "<Наименование на иностранном языке>");
|
||||
СтруктураПозиции.Вставить("brand" , "<Бренд на иностранном языке>");
|
||||
СтруктураПозиции.Вставить("country_code", "<Код страны производителя товара ISO_3166-1_alpha-2>");
|
||||
СтруктураПозиции.Вставить("material" , "<Код материала>");
|
||||
СтруктураПозиции.Вставить("wifi_gsm" , "<Содержит wifi или gsm>");
|
||||
СтруктураПозиции.Вставить("url" , "<Ссылка на сайт интернет-магазина с описанием товара>");
|
||||
|
||||
МассивПозиций.Добавить(СтруктураПозиции);
|
||||
|
||||
СтруктураУпаковки.Вставить("items", МассивПозиций);
|
||||
МассивУпаковок.Добавить(СтруктураУпаковки);
|
||||
|
||||
СтруктураЗаказа.Вставить("packages", МассивУпаковок);
|
||||
|
||||
|
||||
МассивУпаковок = Новый Массив;
|
||||
СтруктураУпаковки = Новый Структура;
|
||||
|
||||
СтруктураУпаковки.Вставить("number" , "<Номер упаковки>");
|
||||
СтруктураУпаковки.Вставить("weight" , "<Общий вес (в граммах)>");
|
||||
СтруктураУпаковки.Вставить("length" , "<Габариты упаковки. Длина (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("width" , "<Габариты упаковки. Ширина (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("height" , "<Габариты упаковки. Высота (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("comment", "<Комментарий к упаковке>");
|
||||
|
||||
МассивПозиций = Новый Массив;
|
||||
СтруктураПозиции = Новый Структура;
|
||||
|
||||
СтруктураПозиции.Вставить("name" , "<Наименование товара>");
|
||||
СтруктураПозиции.Вставить("ware_key", "<Идентификатор/артикул товара>");
|
||||
СтруктураПозиции.Вставить("marking" , "<Маркировка товара>");
|
||||
|
||||
СтруктураОплаты = Новый Структура;
|
||||
СтруктураОплаты.Вставить("value" , "<Сумма наложенного платежа, в том числе и НДС>");
|
||||
СтруктураОплаты.Вставить("vat_sum" , "<Сумма НДС>");
|
||||
СтруктураОплаты.Вставить("vat_rate", "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
СтруктураПозиции.Вставить("payment" , СтруктураОплаты);
|
||||
СтруктураПозиции.Вставить("cost" , "<Объявленная стоимость товара>");
|
||||
СтруктураПозиции.Вставить("weight" , "<Вес (за единицу товара, в граммах)>");
|
||||
СтруктураПозиции.Вставить("weight_gross", "<Вес брутто>");
|
||||
СтруктураПозиции.Вставить("amount" , "<Количество единиц товара (в штуках)>");
|
||||
СтруктураПозиции.Вставить("name_i18n" , "<Наименование на иностранном языке>");
|
||||
СтруктураПозиции.Вставить("brand" , "<Бренд на иностранном языке>");
|
||||
СтруктураПозиции.Вставить("country_code", "<Код страны производителя товара ISO_3166-1_alpha-2>");
|
||||
СтруктураПозиции.Вставить("material" , "<Код материала>");
|
||||
СтруктураПозиции.Вставить("wifi_gsm" , "<Содержит wifi или gsm>");
|
||||
СтруктураПозиции.Вставить("url" , "<Ссылка на сайт интернет-магазина с описанием товара>");
|
||||
|
||||
МассивПозиций.Добавить(СтруктураПозиции);
|
||||
|
||||
СтруктураУпаковки.Вставить("items", МассивПозиций);
|
||||
МассивУпаковок.Добавить(СтруктураУпаковки);
|
||||
|
||||
СтруктураЗаказа.Вставить("packages", МассивУпаковок);
|
||||
|
||||
Если Не ТолькоОбязательные Тогда
|
||||
|
||||
СтруктураЗаказа.Вставить("additional_order_types" , "<Дополнительный тип заказа>");
|
||||
СтруктураЗаказа.Вставить("comment" , "<Комментарий к заказу>");
|
||||
СтруктураЗаказа.Вставить("developer_key" , "<Ключ разработчика (для разработчиков модулей)>");
|
||||
СтруктураЗаказа.Вставить("shipment_point" , "<Код ПВЗ СДЭК для самостоятельного привоза клиентом>");
|
||||
СтруктураЗаказа.Вставить("delivery_point" , "<Код офиса СДЭК, на который будет доставлена посылка>");
|
||||
СтруктураЗаказа.Вставить("date_invoice" , "<Дата инвойса>");
|
||||
СтруктураЗаказа.Вставить("shipper_name" , "<Грузоотправитель>");
|
||||
СтруктураЗаказа.Вставить("shipper_address" , "<Адрес грузоотправителя>");
|
||||
|
||||
СтруктураОтправителя = Новый Структура;
|
||||
СтруктураОтправителя.Вставить("company" , "<Название компании>");
|
||||
СтруктураОтправителя.Вставить("name" , "<ФИО контактного лица>");
|
||||
СтруктураОтправителя.Вставить("email" , "<Email для оповещений RFC 2822>");
|
||||
СтруктураОтправителя.Вставить("passport_series" , "<Серия паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_number" , "<Номер паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_date_of_issue" , "<Дата выдачи паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_organization" , "<Орган выдачи паспорта>");
|
||||
СтруктураОтправителя.Вставить("tin" , "<ИНН>");
|
||||
СтруктураОтправителя.Вставить("passport_date_of_birth" , "<Дата рождения>");
|
||||
СтруктураОтправителя.Вставить("contragent_type" , "<Тип отправителя: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
МассивТелефонов = Новый Массив;
|
||||
СтруктураТелефона = Новый Структура;
|
||||
|
||||
СтруктураТелефона.Вставить("number" , "<Номер телефона>");
|
||||
СтруктураТелефона.Вставить("additional", "<Дополнительная информация (добавочный номер)>");
|
||||
|
||||
МассивТелефонов.Добавить(СтруктураТелефона);
|
||||
|
||||
СтруктураОтправителя.Вставить("phones", МассивТелефонов);
|
||||
|
||||
СтруктураЗаказа.Вставить("sender", СтруктураОтправителя);
|
||||
|
||||
СтруктураАдреса = Новый Структура;
|
||||
СтруктураАдреса.Вставить("code" , "<Код населенного пункта СДЭК>");
|
||||
СтруктураАдреса.Вставить("fias_guid" , "<Уникальный идентификатор ФИАС>");
|
||||
СтруктураАдреса.Вставить("postal_code" , "<Почтовый индекс>");
|
||||
СтруктураАдреса.Вставить("longitude" , "<Долгота>");
|
||||
СтруктураАдреса.Вставить("latitude" , "<Широта>");
|
||||
СтруктураАдреса.Вставить("country_code", "<Код страны в формате ISO_3166-1_alpha-2>");
|
||||
СтруктураАдреса.Вставить("region" , "<Название региона, уточняющий параметр для поля city>");
|
||||
СтруктураАдреса.Вставить("region_code" , "<Код региона СДЭК, уточняющий параметр для поля city>");
|
||||
СтруктураАдреса.Вставить("sub_region" , "<Название района региона, уточняющий параметр для поля region>");
|
||||
СтруктураАдреса.Вставить("city" , "<Название города, уточняющий параметр для postal_code>");
|
||||
СтруктураАдреса.Вставить("kladr_code" , "<Код КЛАДР>");
|
||||
СтруктураАдреса.Вставить("address" , "<Строка адреса >");
|
||||
|
||||
СтруктураЗаказа.Вставить("from_location", СтруктураАдреса);
|
||||
СтруктураЗаказа.Вставить("to_location" , СтруктураАдреса);
|
||||
|
||||
СтруктураУслуги = Новый Структура;
|
||||
СтруктураУслуги.Вставить("code" , "<Тип дополнительной услуги>");
|
||||
СтруктураУслуги.Вставить("parameter", "<Параметр дополнительной услуги>");
|
||||
|
||||
СтруктураЗаказа.Вставить("services" , СтруктураУслуги);
|
||||
СтруктураЗаказа.Вставить("print" , "<Необходимость сформировать печатную форму>");
|
||||
СтруктураЗаказа.Вставить("is_client_return" , "<Клиентский возврат>");
|
||||
СтруктураЗаказа.Вставить("accompanying_number", "<Номер сопроводительной накладной>");
|
||||
СтруктураЗаказа.Вставить("widget_token" , "<Токен, полученный от widget.cdek.ru>");
|
||||
|
||||
Если ИнтернетМагазин Тогда
|
||||
|
||||
СтруктураЗаказа.Вставить("number", "<Номер заказа в ИС Клиента (uuid, если не заполнено)>");
|
||||
|
||||
СтруктураСбора = Новый Структура;
|
||||
СтруктураСбора.Вставить("value" , "<Сумма дополнительного сбора (в том числе и НДС)>");
|
||||
СтруктураСбора.Вставить("vat_sum" , "<Сумма НДС>");
|
||||
СтруктураСбора.Вставить("vat_rate", "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
СтруктураЗаказа.Вставить("delivery_recipient_cost", СтруктураСбора);
|
||||
|
||||
МассивПорогов = Новый Массив;
|
||||
СтруктураПорога = Новый Структура;
|
||||
|
||||
СтруктураПорога.Вставить("threshold", "<Порог стоимости товара в целых единицах валюты>");
|
||||
СтруктураПорога.Вставить("sum" , "<Доп. сбор за доставку товаров, общая стоимость которых в интервале>");
|
||||
СтруктураПорога.Вставить("vat_sum" , "<Сумма НДС, включённая в доп. сбор за доставку>");
|
||||
СтруктураПорога.Вставить("vat_rate" , "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
МассивПорогов.Добавить(СтруктураПорога);
|
||||
|
||||
СтруктураЗаказа.Вставить("delivery_recipient_cost_adv", МассивПорогов);
|
||||
|
||||
СтруктураПродавца = Новый Структура;
|
||||
СтруктураПродавца.Вставить("name" , "<Наименование истинного продавца>");
|
||||
СтруктураПродавца.Вставить("inn" , "<ИНН истинного продавца>");
|
||||
СтруктураПродавца.Вставить("phone" , "<Телефон истинного продавца>");
|
||||
СтруктураПродавца.Вставить("ownership_form", "<Код формы собственности>");
|
||||
СтруктураПродавца.Вставить("address" , "<Адрес истинного продавца>");
|
||||
|
||||
СтруктураЗаказа.Вставить("seller", СтруктураПродавца);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
СтруктураЗаказа.Вставить("additional_order_types" , "<Дополнительный тип заказа>");
|
||||
СтруктураЗаказа.Вставить("comment" , "<Комментарий к заказу>");
|
||||
СтруктураЗаказа.Вставить("developer_key" , "<Ключ разработчика (для разработчиков модулей)>");
|
||||
СтруктураЗаказа.Вставить("shipment_point" , "<Код ПВЗ СДЭК для самостоятельного привоза клиентом>");
|
||||
СтруктураЗаказа.Вставить("delivery_point" , "<Код офиса СДЭК, на который будет доставлена посылка>");
|
||||
СтруктураЗаказа.Вставить("date_invoice" , "<Дата инвойса>");
|
||||
СтруктураЗаказа.Вставить("shipper_name" , "<Грузоотправитель>");
|
||||
СтруктураЗаказа.Вставить("shipper_address" , "<Адрес грузоотправителя>");
|
||||
|
||||
СтруктураОтправителя = Новый Структура;
|
||||
СтруктураОтправителя.Вставить("company" , "<Название компании>");
|
||||
СтруктураОтправителя.Вставить("name" , "<ФИО контактного лица>");
|
||||
СтруктураОтправителя.Вставить("email" , "<Email для оповещений RFC 2822>");
|
||||
СтруктураОтправителя.Вставить("passport_series" , "<Серия паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_number" , "<Номер паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_date_of_issue" , "<Дата выдачи паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_organization" , "<Орган выдачи паспорта>");
|
||||
СтруктураОтправителя.Вставить("tin" , "<ИНН>");
|
||||
СтруктураОтправителя.Вставить("passport_date_of_birth" , "<Дата рождения>");
|
||||
СтруктураОтправителя.Вставить("contragent_type" , "<Тип отправителя: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
МассивТелефонов = Новый Массив;
|
||||
СтруктураТелефона = Новый Структура;
|
||||
|
||||
СтруктураТелефона.Вставить("number" , "<Номер телефона>");
|
||||
СтруктураТелефона.Вставить("additional", "<Дополнительная информация (добавочный номер)>");
|
||||
|
||||
МассивТелефонов.Добавить(СтруктураТелефона);
|
||||
|
||||
СтруктураОтправителя.Вставить("phones", МассивТелефонов);
|
||||
|
||||
СтруктураЗаказа.Вставить("sender", СтруктураОтправителя);
|
||||
|
||||
СтруктураАдреса = Новый Структура;
|
||||
СтруктураАдреса.Вставить("code" , "<Код населенного пункта СДЭК>");
|
||||
СтруктураАдреса.Вставить("fias_guid" , "<Уникальный идентификатор ФИАС>");
|
||||
СтруктураАдреса.Вставить("postal_code" , "<Почтовый индекс>");
|
||||
СтруктураАдреса.Вставить("longitude" , "<Долгота>");
|
||||
СтруктураАдреса.Вставить("latitude" , "<Широта>");
|
||||
СтруктураАдреса.Вставить("country_code", "<Код страны в формате ISO_3166-1_alpha-2>");
|
||||
СтруктураАдреса.Вставить("region" , "<Название региона, уточняющий параметр для поля city>");
|
||||
СтруктураАдреса.Вставить("region_code" , "<Код региона СДЭК, уточняющий параметр для поля city>");
|
||||
СтруктураАдреса.Вставить("sub_region" , "<Название района региона, уточняющий параметр для поля region>");
|
||||
СтруктураАдреса.Вставить("city" , "<Название города, уточняющий параметр для postal_code>");
|
||||
СтруктураАдреса.Вставить("kladr_code" , "<Код КЛАДР>");
|
||||
СтруктураАдреса.Вставить("address" , "<Строка адреса >");
|
||||
|
||||
СтруктураЗаказа.Вставить("from_location", СтруктураАдреса);
|
||||
СтруктураЗаказа.Вставить("to_location" , СтруктураАдреса);
|
||||
|
||||
СтруктураУслуги = Новый Структура;
|
||||
СтруктураУслуги.Вставить("code" , "<Тип дополнительной услуги>");
|
||||
СтруктураУслуги.Вставить("parameter", "<Параметр дополнительной услуги>");
|
||||
|
||||
СтруктураЗаказа.Вставить("services" , СтруктураУслуги);
|
||||
СтруктураЗаказа.Вставить("print" , "<Необходимость сформировать печатную форму>");
|
||||
СтруктураЗаказа.Вставить("is_client_return" , "<Клиентский возврат>");
|
||||
СтруктураЗаказа.Вставить("accompanying_number", "<Номер сопроводительной накладной>");
|
||||
СтруктураЗаказа.Вставить("widget_token" , "<Токен, полученный от widget.cdek.ru>");
|
||||
|
||||
Если ИнтернетМагазин Тогда
|
||||
|
||||
СтруктураЗаказа.Вставить("number", "<Номер заказа в ИС Клиента (uuid, если не заполнено)>");
|
||||
|
||||
СтруктураСбора = Новый Структура;
|
||||
СтруктураСбора.Вставить("value" , "<Сумма дополнительного сбора (в том числе и НДС)>");
|
||||
СтруктураСбора.Вставить("vat_sum" , "<Сумма НДС>");
|
||||
СтруктураСбора.Вставить("vat_rate", "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
СтруктураЗаказа.Вставить("delivery_recipient_cost", СтруктураСбора);
|
||||
|
||||
МассивПорогов = Новый Массив;
|
||||
СтруктураПорога = Новый Структура;
|
||||
|
||||
СтруктураПорога.Вставить("threshold", "<Порог стоимости товара в целых единицах валюты>");
|
||||
СтруктураПорога.Вставить("sum" , "<Доп. сбор за доставку товаров, общая стоимость которых в интервале>");
|
||||
СтруктураПорога.Вставить("vat_sum" , "<Сумма НДС, включённая в доп. сбор за доставку>");
|
||||
СтруктураПорога.Вставить("vat_rate" , "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
МассивПорогов.Добавить(СтруктураПорога);
|
||||
|
||||
СтруктураЗаказа.Вставить("delivery_recipient_cost_adv", МассивПорогов);
|
||||
|
||||
СтруктураПродавца = Новый Структура;
|
||||
СтруктураПродавца.Вставить("name" , "<Наименование истинного продавца>");
|
||||
СтруктураПродавца.Вставить("inn" , "<ИНН истинного продавца>");
|
||||
СтруктураПродавца.Вставить("phone" , "<Телефон истинного продавца>");
|
||||
СтруктураПродавца.Вставить("ownership_form", "<Код формы собственности>");
|
||||
СтруктураПродавца.Вставить("address" , "<Адрес истинного продавца>");
|
||||
|
||||
СтруктураЗаказа.Вставить("seller", СтруктураПродавца);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Пустая Тогда
|
||||
СтруктураЗаказа = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураЗаказа);
|
||||
СтруктураЗаказа = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураЗаказа);
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураЗаказа;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1997,12 +1997,12 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СдэкАПИ_РаботаСЗаказами() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("CDEK_Token" , ПараметрыТеста);
|
||||
|
||||
|
||||
CDEK_ПолучитьОписаниеЗаказа(ПараметрыТеста);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@ -13637,18 +13637,18 @@
|
||||
|
||||
Процедура CDEK_ПолучитьОписаниеЗаказа(ПараметрыФункции)
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеЗаказа();
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеЗаказа", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеЗаказа(Истина);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеЗаказа (Пустая)", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеЗаказа();
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеЗаказа", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеЗаказа(Истина);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеЗаказа (Пустая)", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1801,9 +1801,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -426,40 +426,40 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ОчиститьКоллекциюРекурсивно(Знач Коллекция) Экспорт
|
||||
|
||||
ТипЗначения = ТипЗнч(Коллекция);
|
||||
|
||||
Если ТипЗначения = Тип("Структура") Или ТипЗначения = Тип("Соответствие") Тогда
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
ОчищенноеПоле = ОчиститьКоллекциюРекурсивно(ЭлементКоллекции.Значение);
|
||||
|
||||
ЭлементКоллекции.Значение = ОчищенноеПоле;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли ТипЗначения = Тип("Массив") Тогда
|
||||
|
||||
Коллекция_ = Новый Массив;
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
ОчищенноеПоле = ОчиститьКоллекциюРекурсивно(ЭлементКоллекции);
|
||||
Коллекция_.Добавить(ОчищенноеПоле);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Коллекция = Коллекция_;
|
||||
|
||||
Иначе
|
||||
|
||||
Коллекция = "";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Коллекция;
|
||||
|
||||
|
||||
ТипЗначения = ТипЗнч(Коллекция);
|
||||
|
||||
Если ТипЗначения = Тип("Структура") Или ТипЗначения = Тип("Соответствие") Тогда
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
ОчищенноеПоле = ОчиститьКоллекциюРекурсивно(ЭлементКоллекции.Значение);
|
||||
|
||||
Коллекция[ЭлементКоллекции.Ключ] = ОчищенноеПоле;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли ТипЗначения = Тип("Массив") Тогда
|
||||
|
||||
Коллекция_ = Новый Массив;
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
ОчищенноеПоле = ОчиститьКоллекциюРекурсивно(ЭлементКоллекции);
|
||||
Коллекция_.Добавить(ОчищенноеПоле);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Коллекция = Коллекция_;
|
||||
|
||||
Иначе
|
||||
|
||||
Коллекция = "";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Коллекция;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗначениеВМассив(Значение) Экспорт
|
||||
|
@ -79,46 +79,46 @@
|
||||
|
||||
// Создать заказ
|
||||
// Создает заказ по описанию полей
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Регистрация заказа](@api-docs.cdek.ru/29923926.html)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// ОписаниеЗаказа - Структура Из КлючИЗначение - Набор полей заказа. См. ПолучитьОписаниеЗаказа - order
|
||||
// ИнтернетМагазин - Булево - Признак типа заказа Интернет магазин - ostore
|
||||
// ИнтернетМагазин - Булево - Признак типа заказа Интернет магазин - ostore
|
||||
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
||||
Функция СоздатьЗаказ(Знач Токен, Знач ОписаниеЗаказа, Знач ИнтернетМагазин = Ложь, ТестовыйAPI = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОписаниеЗаказа);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
|
||||
|
||||
URL = СформироватьURL("/orders", ТестовыйAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
|
||||
Для Каждого ПолеЗаказа Из ОписаниеЗаказа Цикл
|
||||
OPI_Инструменты.ДобавитьПоле(ПолеЗаказа.Ключ, ПолеЗаказа.Значение, "Текущий", Параметры);
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОписаниеЗаказа);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
|
||||
|
||||
URL = СформироватьURL("/orders", ТестовыйAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
|
||||
Для Каждого ПолеЗаказа Из ОписаниеЗаказа Цикл
|
||||
OPI_Инструменты.ДобавитьПоле(ПолеЗаказа.Ключ, ПолеЗаказа.Значение, "Текущий", Параметры);
|
||||
КонецЦикла;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("type", ?(ИнтернетМагазин, 1, 2), "Число", Параметры);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, ОписаниеЗаказа, , Ложь);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
// Получить описание заказа
|
||||
// Получает макет для создания заказа в функции СоздатьЗаказ
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Обязательность реквизитов может зависить от типа зказа или вложенности. Обязательно ознакомьтесь с документацией CDEK
|
||||
// Описания полей в документации: [Регистрация заказа](@api-docs.cdek.ru/29923926.html)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
// ТолькоОбязательные - Булево - Истина > в макете будут только обязательные поля - required
|
||||
@ -127,185 +127,185 @@
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
Функция ПолучитьОписаниеЗаказа(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь, Знач ИнтернетМагазин = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
|
||||
|
||||
СтруктураЗаказа = Новый Структура;
|
||||
|
||||
|
||||
СтруктураЗаказа.Вставить("tariff_code" , "<Код тарифа (подробнее см. приложение 1)>");
|
||||
|
||||
СтруктураПолучателя = Новый Структура;
|
||||
СтруктураПолучателя.Вставить("company" , "<Название компании>");
|
||||
СтруктураПолучателя.Вставить("name" , "<ФИО контактного лица>");
|
||||
СтруктураПолучателя.Вставить("passport_series" , "<Серия паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_number" , "<Номер паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_date_of_issue", "<Дата выдачи паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_organization" , "<Орган выдачи паспорта>");
|
||||
СтруктураПолучателя.Вставить("tin" , "<ИНН>");
|
||||
СтруктураПолучателя.Вставить("passport_date_of_birth", "<Дата рождения>");
|
||||
СтруктураПолучателя.Вставить("email" , "<Email как RFC 2822>");
|
||||
СтруктураПолучателя.Вставить("contragent_type" , "<Тип отправителя: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
МассивТелефонов = Новый Массив;
|
||||
СтруктураТелефона = Новый Структура;
|
||||
|
||||
СтруктураТелефона.Вставить("number" , "<Номер телефона>");
|
||||
СтруктураТелефона.Вставить("additional", "<Дополнительная информация (добавочный номер)>");
|
||||
|
||||
МассивТелефонов.Добавить(СтруктураТелефона);
|
||||
|
||||
СтруктураПолучателя.Вставить("phones", МассивТелефонов);
|
||||
|
||||
СтруктураПолучателя = Новый Структура;
|
||||
СтруктураПолучателя.Вставить("company" , "<Название компании>");
|
||||
СтруктураПолучателя.Вставить("name" , "<ФИО контактного лица>");
|
||||
СтруктураПолучателя.Вставить("passport_series" , "<Серия паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_number" , "<Номер паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_date_of_issue", "<Дата выдачи паспорта>");
|
||||
СтруктураПолучателя.Вставить("passport_organization" , "<Орган выдачи паспорта>");
|
||||
СтруктураПолучателя.Вставить("tin" , "<ИНН>");
|
||||
СтруктураПолучателя.Вставить("passport_date_of_birth", "<Дата рождения>");
|
||||
СтруктураПолучателя.Вставить("email" , "<Email как RFC 2822>");
|
||||
СтруктураПолучателя.Вставить("contragent_type" , "<Тип отправителя: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
МассивТелефонов = Новый Массив;
|
||||
СтруктураТелефона = Новый Структура;
|
||||
|
||||
СтруктураТелефона.Вставить("number" , "<Номер телефона>");
|
||||
СтруктураТелефона.Вставить("additional", "<Дополнительная информация (добавочный номер)>");
|
||||
|
||||
МассивТелефонов.Добавить(СтруктураТелефона);
|
||||
|
||||
СтруктураПолучателя.Вставить("phones", МассивТелефонов);
|
||||
|
||||
СтруктураЗаказа.Вставить("recipient", СтруктураПолучателя);
|
||||
|
||||
МассивУпаковок = Новый Массив;
|
||||
СтруктураУпаковки = Новый Структура;
|
||||
|
||||
СтруктураУпаковки.Вставить("number" , "<Номер упаковки>");
|
||||
СтруктураУпаковки.Вставить("weight" , "<Общий вес (в граммах)>");
|
||||
СтруктураУпаковки.Вставить("length" , "<Габариты упаковки. Длина (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("width" , "<Габариты упаковки. Ширина (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("height" , "<Габариты упаковки. Высота (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("comment", "<Комментарий к упаковке>");
|
||||
|
||||
МассивПозиций = Новый Массив;
|
||||
СтруктураПозиции = Новый Структура;
|
||||
|
||||
СтруктураПозиции.Вставить("name" , "<Наименование товара>");
|
||||
СтруктураПозиции.Вставить("ware_key", "<Идентификатор/артикул товара>");
|
||||
СтруктураПозиции.Вставить("marking" , "<Маркировка товара>");
|
||||
|
||||
СтруктураОплаты = Новый Структура;
|
||||
СтруктураОплаты.Вставить("value" , "<Сумма наложенного платежа, в том числе и НДС>");
|
||||
СтруктураОплаты.Вставить("vat_sum" , "<Сумма НДС>");
|
||||
СтруктураОплаты.Вставить("vat_rate", "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
СтруктураПозиции.Вставить("payment" , СтруктураОплаты);
|
||||
СтруктураПозиции.Вставить("cost" , "<Объявленная стоимость товара>");
|
||||
СтруктураПозиции.Вставить("weight" , "<Вес (за единицу товара, в граммах)>");
|
||||
СтруктураПозиции.Вставить("weight_gross", "<Вес брутто>");
|
||||
СтруктураПозиции.Вставить("amount" , "<Количество единиц товара (в штуках)>");
|
||||
СтруктураПозиции.Вставить("name_i18n" , "<Наименование на иностранном языке>");
|
||||
СтруктураПозиции.Вставить("brand" , "<Бренд на иностранном языке>");
|
||||
СтруктураПозиции.Вставить("country_code", "<Код страны производителя товара ISO_3166-1_alpha-2>");
|
||||
СтруктураПозиции.Вставить("material" , "<Код материала>");
|
||||
СтруктураПозиции.Вставить("wifi_gsm" , "<Содержит wifi или gsm>");
|
||||
СтруктураПозиции.Вставить("url" , "<Ссылка на сайт интернет-магазина с описанием товара>");
|
||||
|
||||
МассивПозиций.Добавить(СтруктураПозиции);
|
||||
|
||||
СтруктураУпаковки.Вставить("items", МассивПозиций);
|
||||
МассивУпаковок.Добавить(СтруктураУпаковки);
|
||||
|
||||
СтруктураЗаказа.Вставить("packages", МассивУпаковок);
|
||||
|
||||
|
||||
МассивУпаковок = Новый Массив;
|
||||
СтруктураУпаковки = Новый Структура;
|
||||
|
||||
СтруктураУпаковки.Вставить("number" , "<Номер упаковки>");
|
||||
СтруктураУпаковки.Вставить("weight" , "<Общий вес (в граммах)>");
|
||||
СтруктураУпаковки.Вставить("length" , "<Габариты упаковки. Длина (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("width" , "<Габариты упаковки. Ширина (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("height" , "<Габариты упаковки. Высота (в сантиметрах)>");
|
||||
СтруктураУпаковки.Вставить("comment", "<Комментарий к упаковке>");
|
||||
|
||||
МассивПозиций = Новый Массив;
|
||||
СтруктураПозиции = Новый Структура;
|
||||
|
||||
СтруктураПозиции.Вставить("name" , "<Наименование товара>");
|
||||
СтруктураПозиции.Вставить("ware_key", "<Идентификатор/артикул товара>");
|
||||
СтруктураПозиции.Вставить("marking" , "<Маркировка товара>");
|
||||
|
||||
СтруктураОплаты = Новый Структура;
|
||||
СтруктураОплаты.Вставить("value" , "<Сумма наложенного платежа, в том числе и НДС>");
|
||||
СтруктураОплаты.Вставить("vat_sum" , "<Сумма НДС>");
|
||||
СтруктураОплаты.Вставить("vat_rate", "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
СтруктураПозиции.Вставить("payment" , СтруктураОплаты);
|
||||
СтруктураПозиции.Вставить("cost" , "<Объявленная стоимость товара>");
|
||||
СтруктураПозиции.Вставить("weight" , "<Вес (за единицу товара, в граммах)>");
|
||||
СтруктураПозиции.Вставить("weight_gross", "<Вес брутто>");
|
||||
СтруктураПозиции.Вставить("amount" , "<Количество единиц товара (в штуках)>");
|
||||
СтруктураПозиции.Вставить("name_i18n" , "<Наименование на иностранном языке>");
|
||||
СтруктураПозиции.Вставить("brand" , "<Бренд на иностранном языке>");
|
||||
СтруктураПозиции.Вставить("country_code", "<Код страны производителя товара ISO_3166-1_alpha-2>");
|
||||
СтруктураПозиции.Вставить("material" , "<Код материала>");
|
||||
СтруктураПозиции.Вставить("wifi_gsm" , "<Содержит wifi или gsm>");
|
||||
СтруктураПозиции.Вставить("url" , "<Ссылка на сайт интернет-магазина с описанием товара>");
|
||||
|
||||
МассивПозиций.Добавить(СтруктураПозиции);
|
||||
|
||||
СтруктураУпаковки.Вставить("items", МассивПозиций);
|
||||
МассивУпаковок.Добавить(СтруктураУпаковки);
|
||||
|
||||
СтруктураЗаказа.Вставить("packages", МассивУпаковок);
|
||||
|
||||
Если Не ТолькоОбязательные Тогда
|
||||
|
||||
СтруктураЗаказа.Вставить("additional_order_types" , "<Дополнительный тип заказа>");
|
||||
СтруктураЗаказа.Вставить("comment" , "<Комментарий к заказу>");
|
||||
СтруктураЗаказа.Вставить("developer_key" , "<Ключ разработчика (для разработчиков модулей)>");
|
||||
СтруктураЗаказа.Вставить("shipment_point" , "<Код ПВЗ СДЭК для самостоятельного привоза клиентом>");
|
||||
СтруктураЗаказа.Вставить("delivery_point" , "<Код офиса СДЭК, на который будет доставлена посылка>");
|
||||
СтруктураЗаказа.Вставить("date_invoice" , "<Дата инвойса>");
|
||||
СтруктураЗаказа.Вставить("shipper_name" , "<Грузоотправитель>");
|
||||
СтруктураЗаказа.Вставить("shipper_address" , "<Адрес грузоотправителя>");
|
||||
|
||||
СтруктураОтправителя = Новый Структура;
|
||||
СтруктураОтправителя.Вставить("company" , "<Название компании>");
|
||||
СтруктураОтправителя.Вставить("name" , "<ФИО контактного лица>");
|
||||
СтруктураОтправителя.Вставить("email" , "<Email для оповещений RFC 2822>");
|
||||
СтруктураОтправителя.Вставить("passport_series" , "<Серия паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_number" , "<Номер паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_date_of_issue" , "<Дата выдачи паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_organization" , "<Орган выдачи паспорта>");
|
||||
СтруктураОтправителя.Вставить("tin" , "<ИНН>");
|
||||
СтруктураОтправителя.Вставить("passport_date_of_birth" , "<Дата рождения>");
|
||||
СтруктураОтправителя.Вставить("contragent_type" , "<Тип отправителя: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
МассивТелефонов = Новый Массив;
|
||||
СтруктураТелефона = Новый Структура;
|
||||
|
||||
СтруктураТелефона.Вставить("number" , "<Номер телефона>");
|
||||
СтруктураТелефона.Вставить("additional", "<Дополнительная информация (добавочный номер)>");
|
||||
|
||||
МассивТелефонов.Добавить(СтруктураТелефона);
|
||||
|
||||
СтруктураОтправителя.Вставить("phones", МассивТелефонов);
|
||||
|
||||
СтруктураЗаказа.Вставить("sender", СтруктураОтправителя);
|
||||
|
||||
СтруктураАдреса = Новый Структура;
|
||||
СтруктураАдреса.Вставить("code" , "<Код населенного пункта СДЭК>");
|
||||
СтруктураАдреса.Вставить("fias_guid" , "<Уникальный идентификатор ФИАС>");
|
||||
СтруктураАдреса.Вставить("postal_code" , "<Почтовый индекс>");
|
||||
СтруктураАдреса.Вставить("longitude" , "<Долгота>");
|
||||
СтруктураАдреса.Вставить("latitude" , "<Широта>");
|
||||
СтруктураАдреса.Вставить("country_code", "<Код страны в формате ISO_3166-1_alpha-2>");
|
||||
СтруктураАдреса.Вставить("region" , "<Название региона, уточняющий параметр для поля city>");
|
||||
СтруктураАдреса.Вставить("region_code" , "<Код региона СДЭК, уточняющий параметр для поля city>");
|
||||
СтруктураАдреса.Вставить("sub_region" , "<Название района региона, уточняющий параметр для поля region>");
|
||||
СтруктураАдреса.Вставить("city" , "<Название города, уточняющий параметр для postal_code>");
|
||||
СтруктураАдреса.Вставить("kladr_code" , "<Код КЛАДР>");
|
||||
СтруктураАдреса.Вставить("address" , "<Строка адреса >");
|
||||
|
||||
СтруктураЗаказа.Вставить("from_location", СтруктураАдреса);
|
||||
СтруктураЗаказа.Вставить("to_location" , СтруктураАдреса);
|
||||
|
||||
СтруктураУслуги = Новый Структура;
|
||||
СтруктураУслуги.Вставить("code" , "<Тип дополнительной услуги>");
|
||||
СтруктураУслуги.Вставить("parameter", "<Параметр дополнительной услуги>");
|
||||
|
||||
СтруктураЗаказа.Вставить("services" , СтруктураУслуги);
|
||||
СтруктураЗаказа.Вставить("print" , "<Необходимость сформировать печатную форму>");
|
||||
СтруктураЗаказа.Вставить("is_client_return" , "<Клиентский возврат>");
|
||||
СтруктураЗаказа.Вставить("accompanying_number", "<Номер сопроводительной накладной>");
|
||||
СтруктураЗаказа.Вставить("widget_token" , "<Токен, полученный от widget.cdek.ru>");
|
||||
|
||||
Если ИнтернетМагазин Тогда
|
||||
|
||||
СтруктураЗаказа.Вставить("number", "<Номер заказа в ИС Клиента (uuid, если не заполнено)>");
|
||||
|
||||
СтруктураСбора = Новый Структура;
|
||||
СтруктураСбора.Вставить("value" , "<Сумма дополнительного сбора (в том числе и НДС)>");
|
||||
СтруктураСбора.Вставить("vat_sum" , "<Сумма НДС>");
|
||||
СтруктураСбора.Вставить("vat_rate", "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
СтруктураЗаказа.Вставить("delivery_recipient_cost", СтруктураСбора);
|
||||
|
||||
МассивПорогов = Новый Массив;
|
||||
СтруктураПорога = Новый Структура;
|
||||
|
||||
СтруктураПорога.Вставить("threshold", "<Порог стоимости товара в целых единицах валюты>");
|
||||
СтруктураПорога.Вставить("sum" , "<Доп. сбор за доставку товаров, общая стоимость которых в интервале>");
|
||||
СтруктураПорога.Вставить("vat_sum" , "<Сумма НДС, включённая в доп. сбор за доставку>");
|
||||
СтруктураПорога.Вставить("vat_rate" , "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
МассивПорогов.Добавить(СтруктураПорога);
|
||||
|
||||
СтруктураЗаказа.Вставить("delivery_recipient_cost_adv", МассивПорогов);
|
||||
|
||||
СтруктураПродавца = Новый Структура;
|
||||
СтруктураПродавца.Вставить("name" , "<Наименование истинного продавца>");
|
||||
СтруктураПродавца.Вставить("inn" , "<ИНН истинного продавца>");
|
||||
СтруктураПродавца.Вставить("phone" , "<Телефон истинного продавца>");
|
||||
СтруктураПродавца.Вставить("ownership_form", "<Код формы собственности>");
|
||||
СтруктураПродавца.Вставить("address" , "<Адрес истинного продавца>");
|
||||
|
||||
СтруктураЗаказа.Вставить("seller", СтруктураПродавца);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
СтруктураЗаказа.Вставить("additional_order_types" , "<Дополнительный тип заказа>");
|
||||
СтруктураЗаказа.Вставить("comment" , "<Комментарий к заказу>");
|
||||
СтруктураЗаказа.Вставить("developer_key" , "<Ключ разработчика (для разработчиков модулей)>");
|
||||
СтруктураЗаказа.Вставить("shipment_point" , "<Код ПВЗ СДЭК для самостоятельного привоза клиентом>");
|
||||
СтруктураЗаказа.Вставить("delivery_point" , "<Код офиса СДЭК, на который будет доставлена посылка>");
|
||||
СтруктураЗаказа.Вставить("date_invoice" , "<Дата инвойса>");
|
||||
СтруктураЗаказа.Вставить("shipper_name" , "<Грузоотправитель>");
|
||||
СтруктураЗаказа.Вставить("shipper_address" , "<Адрес грузоотправителя>");
|
||||
|
||||
СтруктураОтправителя = Новый Структура;
|
||||
СтруктураОтправителя.Вставить("company" , "<Название компании>");
|
||||
СтруктураОтправителя.Вставить("name" , "<ФИО контактного лица>");
|
||||
СтруктураОтправителя.Вставить("email" , "<Email для оповещений RFC 2822>");
|
||||
СтруктураОтправителя.Вставить("passport_series" , "<Серия паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_number" , "<Номер паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_date_of_issue" , "<Дата выдачи паспорта>");
|
||||
СтруктураОтправителя.Вставить("passport_organization" , "<Орган выдачи паспорта>");
|
||||
СтруктураОтправителя.Вставить("tin" , "<ИНН>");
|
||||
СтруктураОтправителя.Вставить("passport_date_of_birth" , "<Дата рождения>");
|
||||
СтруктураОтправителя.Вставить("contragent_type" , "<Тип отправителя: LEGAL_ENTITY, INDIVIDUAL >");
|
||||
|
||||
МассивТелефонов = Новый Массив;
|
||||
СтруктураТелефона = Новый Структура;
|
||||
|
||||
СтруктураТелефона.Вставить("number" , "<Номер телефона>");
|
||||
СтруктураТелефона.Вставить("additional", "<Дополнительная информация (добавочный номер)>");
|
||||
|
||||
МассивТелефонов.Добавить(СтруктураТелефона);
|
||||
|
||||
СтруктураОтправителя.Вставить("phones", МассивТелефонов);
|
||||
|
||||
СтруктураЗаказа.Вставить("sender", СтруктураОтправителя);
|
||||
|
||||
СтруктураАдреса = Новый Структура;
|
||||
СтруктураАдреса.Вставить("code" , "<Код населенного пункта СДЭК>");
|
||||
СтруктураАдреса.Вставить("fias_guid" , "<Уникальный идентификатор ФИАС>");
|
||||
СтруктураАдреса.Вставить("postal_code" , "<Почтовый индекс>");
|
||||
СтруктураАдреса.Вставить("longitude" , "<Долгота>");
|
||||
СтруктураАдреса.Вставить("latitude" , "<Широта>");
|
||||
СтруктураАдреса.Вставить("country_code", "<Код страны в формате ISO_3166-1_alpha-2>");
|
||||
СтруктураАдреса.Вставить("region" , "<Название региона, уточняющий параметр для поля city>");
|
||||
СтруктураАдреса.Вставить("region_code" , "<Код региона СДЭК, уточняющий параметр для поля city>");
|
||||
СтруктураАдреса.Вставить("sub_region" , "<Название района региона, уточняющий параметр для поля region>");
|
||||
СтруктураАдреса.Вставить("city" , "<Название города, уточняющий параметр для postal_code>");
|
||||
СтруктураАдреса.Вставить("kladr_code" , "<Код КЛАДР>");
|
||||
СтруктураАдреса.Вставить("address" , "<Строка адреса >");
|
||||
|
||||
СтруктураЗаказа.Вставить("from_location", СтруктураАдреса);
|
||||
СтруктураЗаказа.Вставить("to_location" , СтруктураАдреса);
|
||||
|
||||
СтруктураУслуги = Новый Структура;
|
||||
СтруктураУслуги.Вставить("code" , "<Тип дополнительной услуги>");
|
||||
СтруктураУслуги.Вставить("parameter", "<Параметр дополнительной услуги>");
|
||||
|
||||
СтруктураЗаказа.Вставить("services" , СтруктураУслуги);
|
||||
СтруктураЗаказа.Вставить("print" , "<Необходимость сформировать печатную форму>");
|
||||
СтруктураЗаказа.Вставить("is_client_return" , "<Клиентский возврат>");
|
||||
СтруктураЗаказа.Вставить("accompanying_number", "<Номер сопроводительной накладной>");
|
||||
СтруктураЗаказа.Вставить("widget_token" , "<Токен, полученный от widget.cdek.ru>");
|
||||
|
||||
Если ИнтернетМагазин Тогда
|
||||
|
||||
СтруктураЗаказа.Вставить("number", "<Номер заказа в ИС Клиента (uuid, если не заполнено)>");
|
||||
|
||||
СтруктураСбора = Новый Структура;
|
||||
СтруктураСбора.Вставить("value" , "<Сумма дополнительного сбора (в том числе и НДС)>");
|
||||
СтруктураСбора.Вставить("vat_sum" , "<Сумма НДС>");
|
||||
СтруктураСбора.Вставить("vat_rate", "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
СтруктураЗаказа.Вставить("delivery_recipient_cost", СтруктураСбора);
|
||||
|
||||
МассивПорогов = Новый Массив;
|
||||
СтруктураПорога = Новый Структура;
|
||||
|
||||
СтруктураПорога.Вставить("threshold", "<Порог стоимости товара в целых единицах валюты>");
|
||||
СтруктураПорога.Вставить("sum" , "<Доп. сбор за доставку товаров, общая стоимость которых в интервале>");
|
||||
СтруктураПорога.Вставить("vat_sum" , "<Сумма НДС, включённая в доп. сбор за доставку>");
|
||||
СтруктураПорога.Вставить("vat_rate" , "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
||||
|
||||
МассивПорогов.Добавить(СтруктураПорога);
|
||||
|
||||
СтруктураЗаказа.Вставить("delivery_recipient_cost_adv", МассивПорогов);
|
||||
|
||||
СтруктураПродавца = Новый Структура;
|
||||
СтруктураПродавца.Вставить("name" , "<Наименование истинного продавца>");
|
||||
СтруктураПродавца.Вставить("inn" , "<ИНН истинного продавца>");
|
||||
СтруктураПродавца.Вставить("phone" , "<Телефон истинного продавца>");
|
||||
СтруктураПродавца.Вставить("ownership_form", "<Код формы собственности>");
|
||||
СтруктураПродавца.Вставить("address" , "<Адрес истинного продавца>");
|
||||
|
||||
СтруктураЗаказа.Вставить("seller", СтруктураПродавца);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Пустая Тогда
|
||||
СтруктураЗаказа = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураЗаказа);
|
||||
СтруктураЗаказа = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураЗаказа);
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураЗаказа;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -426,40 +426,40 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ОчиститьКоллекциюРекурсивно(Знач Коллекция) Экспорт
|
||||
|
||||
ТипЗначения = ТипЗнч(Коллекция);
|
||||
|
||||
Если ТипЗначения = Тип("Структура") Или ТипЗначения = Тип("Соответствие") Тогда
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
ОчищенноеПоле = ОчиститьКоллекциюРекурсивно(ЭлементКоллекции.Значение);
|
||||
|
||||
Коллекция[ЭлементКоллекции.Ключ] = ОчищенноеПоле;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли ТипЗначения = Тип("Массив") Тогда
|
||||
|
||||
Коллекция_ = Новый Массив;
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
ОчищенноеПоле = ОчиститьКоллекциюРекурсивно(ЭлементКоллекции);
|
||||
Коллекция_.Добавить(ОчищенноеПоле);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Коллекция = Коллекция_;
|
||||
|
||||
Иначе
|
||||
|
||||
Коллекция = "";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Коллекция;
|
||||
|
||||
|
||||
ТипЗначения = ТипЗнч(Коллекция);
|
||||
|
||||
Если ТипЗначения = Тип("Структура") Или ТипЗначения = Тип("Соответствие") Тогда
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
ОчищенноеПоле = ОчиститьКоллекциюРекурсивно(ЭлементКоллекции.Значение);
|
||||
|
||||
Коллекция[ЭлементКоллекции.Ключ] = ОчищенноеПоле;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли ТипЗначения = Тип("Массив") Тогда
|
||||
|
||||
Коллекция_ = Новый Массив;
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
ОчищенноеПоле = ОчиститьКоллекциюРекурсивно(ЭлементКоллекции);
|
||||
Коллекция_.Добавить(ОчищенноеПоле);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Коллекция = Коллекция_;
|
||||
|
||||
Иначе
|
||||
|
||||
Коллекция = "";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Коллекция;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗначениеВМассив(Значение) Экспорт
|
||||
|
@ -1997,12 +1997,12 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СдэкАПИ_РаботаСЗаказами() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("CDEK_Token" , ПараметрыТеста);
|
||||
|
||||
|
||||
CDEK_ПолучитьОписаниеЗаказа(ПараметрыТеста);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@ -13637,18 +13637,18 @@
|
||||
|
||||
Процедура CDEK_ПолучитьОписаниеЗаказа(ПараметрыФункции)
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеЗаказа();
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеЗаказа", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеЗаказа(Истина);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеЗаказа (Пустая)", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеЗаказа();
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеЗаказа", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьОписаниеЗаказа(Истина);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеЗаказа (Пустая)", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -40,6 +40,78 @@
|
||||
НоваяСтрока.Описание = "Флаг использования API для тестовых запросов (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Общие методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "cdek";
|
||||
НоваяСтрока.Модуль = "OPI_CDEK";
|
||||
НоваяСтрока.Метод = "СоздатьЗаказ";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬЗАКАЗ";
|
||||
НоваяСтрока.Параметр = "--token";
|
||||
НоваяСтрока.Описание = "Токен авторизации";
|
||||
НоваяСтрока.Область = "Работа с заказми";
|
||||
НоваяСтрока.ОписаниеМетода = "Создает заказ по описанию полей";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "cdek";
|
||||
НоваяСтрока.Модуль = "OPI_CDEK";
|
||||
НоваяСтрока.Метод = "СоздатьЗаказ";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬЗАКАЗ";
|
||||
НоваяСтрока.Параметр = "--order";
|
||||
НоваяСтрока.Описание = "Набор полей заказа. См. ПолучитьОписаниеЗаказа";
|
||||
НоваяСтрока.Область = "Работа с заказми";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "cdek";
|
||||
НоваяСтрока.Модуль = "OPI_CDEK";
|
||||
НоваяСтрока.Метод = "СоздатьЗаказ";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬЗАКАЗ";
|
||||
НоваяСтрока.Параметр = "--ostore";
|
||||
НоваяСтрока.Описание = "Признак типа заказа Интернет магазин (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Работа с заказми";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "cdek";
|
||||
НоваяСтрока.Модуль = "OPI_CDEK";
|
||||
НоваяСтрока.Метод = "СоздатьЗаказ";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬЗАКАЗ";
|
||||
НоваяСтрока.Параметр = "--testapi";
|
||||
НоваяСтрока.Описание = "Флаг использования API для тестовых запросов (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Работа с заказми";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "cdek";
|
||||
НоваяСтрока.Модуль = "OPI_CDEK";
|
||||
НоваяСтрока.Метод = "ПолучитьОписаниеЗаказа";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬОПИСАНИЕЗАКАЗА";
|
||||
НоваяСтрока.Параметр = "--empty";
|
||||
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Работа с заказми";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает макет для создания заказа в функции СоздатьЗаказ";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "cdek";
|
||||
НоваяСтрока.Модуль = "OPI_CDEK";
|
||||
НоваяСтрока.Метод = "ПолучитьОписаниеЗаказа";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬОПИСАНИЕЗАКАЗА";
|
||||
НоваяСтрока.Параметр = "--required";
|
||||
НоваяСтрока.Описание = "Истина > в макете будут только обязательные поля (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Работа с заказми";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "cdek";
|
||||
НоваяСтрока.Модуль = "OPI_CDEK";
|
||||
НоваяСтрока.Метод = "ПолучитьОписаниеЗаказа";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬОПИСАНИЕЗАКАЗА";
|
||||
НоваяСтрока.Параметр = "--ostore";
|
||||
НоваяСтрока.Описание = "Признак включения в макет полей исключительно для заказо Интернет магазина (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Работа с заказми";
|
||||
|
||||
Возврат ТаблицаСостава;
|
||||
КонецФункции
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user