You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-29 22:27:42 +02:00
81 lines
4.0 KiB
Plaintext
Vendored
81 lines
4.0 KiB
Plaintext
Vendored
---
|
|
sidebar_position: 5
|
|
description: Разделять массивы в URL и другие функции для работы с HTTP-клиент в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
|
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, HTTP-клиент]
|
|
---
|
|
|
|
import Tabs from '@theme/Tabs';
|
|
import TabItem from '@theme/TabItem';
|
|
|
|
# Разделять массивы в URL
|
|
Определяет представление массивов в параметрах URL: как цельный JSON массив или отдельные параметры для каждого элемента
|
|
|
|
|
|
|
|
`Функция РазделятьМассивыВURL(Знач Флаг, Знач КвадратныеСкобки = Неопределено) Экспорт`
|
|
|
|
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
|
|-|-|-|-|-|
|
|
| Флаг | - | Булево | ✔ | Признак деления массива на отдельные параметры URL |
|
|
| КвадратныеСкобки | - | Булево | ✖ | Добавлять к ключам пустые скобки в стиле PHP (key[]=value), если Флаг = Истина |
|
|
|
|
|
|
Возвращаемое значение: ОбработкаОбъект.OPI_HTTPКлиент - Этот же объект обработки
|
|
|
|
<br/>
|
|
|
|
:::tip
|
|
По умолчанию массивы интерпретируются как единый параметр с JSON массивом в значении
|
|
|
|
По умолчанию квадратные скобки к ключам параметров при разделении массива не устанавливаются
|
|
:::
|
|
|
|
:::caution
|
|
**NOCLI:** данный метод недоступен для использования в CLI версии
|
|
:::
|
|
<br/>
|
|
|
|
|
|
|
|
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
|
URL = "https://httpbin.org";
|
|
URL = URL + "/get";
|
|
|
|
ПараметрМассив = Новый Массив;
|
|
ПараметрМассив.Добавить("val1");
|
|
ПараметрМассив.Добавить("val2");
|
|
ПараметрМассив.Добавить("val3");
|
|
|
|
СтруктураПараметров = Новый Структура("arrayfield", ПараметрМассив);
|
|
|
|
Разделение = OPI_ЗапросыHTTP.НовыйЗапрос()
|
|
.Инициализировать("https://example.com/page")
|
|
.УстановитьПараметрыURL(СтруктураПараметров)
|
|
.РазделятьМассивыВURL(Истина) // <---
|
|
.ОбработатьЗапрос("GET", Ложь)
|
|
.ВернутьЗапрос()
|
|
.АдресРесурса;
|
|
|
|
РазделениеPhp = OPI_ЗапросыHTTP.НовыйЗапрос()
|
|
.Инициализировать("https://example.com/page")
|
|
.УстановитьПараметрыURL(СтруктураПараметров)
|
|
.РазделятьМассивыВURL(Истина, Истина) // <---
|
|
.ОбработатьЗапрос("GET", Ложь)
|
|
.ВернутьЗапрос()
|
|
.АдресРесурса;
|
|
|
|
БезРазделения = OPI_ЗапросыHTTP.НовыйЗапрос()
|
|
.Инициализировать("https://example.com/page")
|
|
.УстановитьПараметрыURL(СтруктураПараметров)
|
|
.ОбработатьЗапрос("GET", Ложь)
|
|
.ВернутьЗапрос()
|
|
.АдресРесурса;
|
|
```
|
|
|
|
|
|
|
|
|
|
```json title="Результат"
|
|
"Без разделения: /page?arrayfield=[val1,val2,val3];\nРазделение: /page?arrayfield=val1&arrayfield=val2&arrayfield=val3\nРазделение (php): /page?arrayfield[]=val1&arrayfield[]=val2&arrayfield[]=val3"
|
|
```
|