1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-02-21 19:49:47 +02:00

Деффекты SC

This commit is contained in:
Anton 2024-01-26 22:01:11 +03:00
parent 706d9ca2b9
commit b582d4ae01
2 changed files with 443 additions and 251 deletions

View File

@ -62,13 +62,13 @@
// Возвращаемое значение:
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - Создать страницу в базу
Функция СоздатьСтраницуВБазу(Знач Токен, Знач Родитель, Знач Данные) Экспорт
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Параметры = Новый Структура;
ДобавитьРодителяСтраницы(Родитель, Истина, Параметры);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Параметры = Новый Структура;
ДобавитьРодителяСтраницы(Родитель, Истина, Параметры);
Свойства = ЗаполнитьДанныеПоСхеме(Родитель, Данные, Токен);
Свойства = ЗаполнитьДанныеПоСхеме(Родитель, Данные, Токен);
Параметры.Вставить("properties", Свойства);
Ответ = OPI_Инструменты.Post("https://api.notion.com/v1/pages", Параметры, Заголовки);
@ -108,55 +108,58 @@
//
// Возвращаемое значение:
// Строка, Произвольный, Неопределено, HTTPОтвет, ДвоичныеДанные - Изменить свойства страницы
//@skip-check method-too-many-params
// @skip-check method-too-many-params
// BSLLS:NumberOfOptionalParams-off
Функция ИзменитьСвойстваСтраницы(Знач Токен
, Знач Страница
, Знач Данные = ""
, Знач Иконка = ""
, Знач Обложка = ""
, Знач Архивирована = Ложь) Экспорт
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Параметры = Новый Структура;
Если ЗначениеЗаполнено(Данные) И ТипЗнч(Данные) = Тип("Соответствие") Тогда
Свойства = ЗаполнитьДанныеПоСхеме(Страница, Данные, Токен, Ложь);
Иначе
Свойства = Новый Соответствие;
КонецЕсли;
Если ЗначениеЗаполнено(Иконка) Тогда
СоответствиеИконки = Новый Соответствие;
СоответствиеИконки.Вставить("Icon", Иконка);
ОбъектИконка = ПреобразоватьЗначениеПоТипу("files", СоответствиеИконки);
ОбъектИконка = ОбъектИконка["files"][0];
ОбъектИконка.Удалить("name");
Параметры.Вставить("icon", ОбъектИконка);
КонецЕсли;
Если ЗначениеЗаполнено(Обложка) Тогда
СоответствиеОбложки = Новый Соответствие;
СоответствиеОбложки.Вставить("Cover", Обложка);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Параметры = Новый Структура;
Files = "files";
Если ЗначениеЗаполнено(Данные) И ТипЗнч(Данные) = Тип("Соответствие") Тогда
Свойства = ЗаполнитьДанныеПоСхеме(Страница, Данные, Токен, Ложь);
Иначе
Свойства = Новый Соответствие;
КонецЕсли;
Если ЗначениеЗаполнено(Иконка) Тогда
СоответствиеИконки = Новый Соответствие;
СоответствиеИконки.Вставить("Icon", Иконка);
ОбъектИконка = ПреобразоватьЗначениеПоТипу(Files, СоответствиеИконки);
ОбъектИконка = ОбъектИконка[Files][0];
ОбъектИконка.Удалить("name");
Параметры.Вставить("icon", ОбъектИконка);
КонецЕсли;
Если ЗначениеЗаполнено(Обложка) Тогда
СоответствиеОбложки = Новый Соответствие;
СоответствиеОбложки.Вставить("Cover", Обложка);
ОбъектОбложка = ПреобразоватьЗначениеПоТипу("files", СоответствиеОбложки);
ОбъектОбложка = ОбъектОбложка["files"][0];
ОбъектОбложка.Удалить("name");
ОбъектОбложка = ПреобразоватьЗначениеПоТипу(Files, СоответствиеОбложки);
ОбъектОбложка = ОбъектОбложка[Files][0];
ОбъектОбложка.Удалить("name");
Параметры.Вставить("cover", ОбъектОбложка);
КонецЕсли;
Параметры.Вставить("cover", ОбъектОбложка);
КонецЕсли;
Параметры.Вставить("properties", Свойства);
Параметры.Вставить("archived", Архивирована);
ПреобразоватьИД(Страница);
Параметры.Вставить("properties", Свойства);
Параметры.Вставить("archived" , Архивирована);
ПреобразоватьИД(Страница);
Ответ = OPI_Инструменты.Patch("https://api.notion.com/v1/pages/" + Страница, Параметры, Заголовки);
Ответ = OPI_Инструменты.Patch("https://api.notion.com/v1/pages/" + Страница, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// BSLLS:NumberOfOptionalParams-on
#КонецОбласти
@ -186,7 +189,7 @@
// Неактивный : red
// Архив : yellow
//Все страницы, которые будут созданы как дочерние, должны иметь свойства базы-родителя
// Все страницы, которые будут созданы как дочерние, должны иметь свойства базы-родителя
Если Не ТипЗнч(Свойства) = Тип("Структура") И Не ТипЗнч(Свойства) = Тип("Соответствие") Тогда
Свойства = Новый Структура("Наименование", "title");
@ -194,8 +197,8 @@
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Параметры = Новый Структура;
ДобавитьРодителяБазы(Родитель, Ложь, Параметры);
ДобавитьРодителяБазы(Родитель, Ложь, Параметры);
ДобавитьЗаголовокБазы(Заголовок, Параметры);
ДобавитьСвойстваБазы(Свойства, Параметры);
@ -254,7 +257,7 @@
ДобавитьСвойстваБазы(Свойства, Параметры);
КонецЕсли;
Ответ = OPI_Инструменты.Patch("https://api.notion.com/v1/databases/"+ База, Параметры, Заголовки);
Ответ = OPI_Инструменты.Patch("https://api.notion.com/v1/databases/" + База, Параметры, Заголовки);
Возврат Ответ;
@ -280,11 +283,11 @@
ПреобразоватьИД(ИДБлока);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Блок = ВернутьБлок(Токен, ИДБлока);
УдалитьЛишниеПоляБлока(Блок);
МассивБлоков = Новый Массив;
МассивБлоков.Добавить(Блок);
Блок = ВернутьБлок(Токен, ИДБлока);
УдалитьЛишниеПоляБлока(Блок);
МассивБлоков = Новый Массив;
МассивБлоков.Добавить(Блок);
Параметры = Новый Соответствие;
Параметры.Вставить("children", МассивБлоков);
@ -414,7 +417,7 @@
КонецФункции
Процедура ПреобразоватьИД(Идентификатор)
Идентификатор = СтрЗаменить(Идентификатор, "-", "");
КонецПроцедуры
@ -436,8 +439,8 @@
ПолеИдентификатора = ?(РодительБаза, "database_id", "page_id");
СтруктураРодителя = Новый Структура();
СтруктураРодителя.Вставить("type" , ПолеИдентификатора);
СтруктураРодителя.Вставить(ПолеИдентификатора, Родитель);
СтруктураРодителя.Вставить("type" , ПолеИдентификатора);
СтруктураРодителя.Вставить(ПолеИдентификатора, Родитель);
ОсновнаяСтруктура.Вставить("parent", СтруктураРодителя);
@ -449,6 +452,7 @@
СтруктураДанных = Новый Структура;
СтруктураТекста = Новый Структура;
МассивДанных = Новый Массив;
Title = "title";
СтруктураТекста.Вставить("content", Заголовок);
СтруктураТекста.Вставить("link" , Неопределено);
@ -458,17 +462,17 @@
МассивДанных.Добавить(СтруктураДанных);
ПодчиненнаяСтруктура.Вставить("id" , "title");
ПодчиненнаяСтруктура.Вставить("type" , "title");
ПодчиненнаяСтруктура.Вставить("title", МассивДанных);
ПодчиненнаяСтруктура.Вставить("id" , Title);
ПодчиненнаяСтруктура.Вставить("type" , Title);
ПодчиненнаяСтруктура.Вставить(Title , МассивДанных);
ОсновнаяСтруктура.Вставить("title", ПодчиненнаяСтруктура);
ОсновнаяСтруктура.Вставить(Title, ПодчиненнаяСтруктура);
КонецПроцедуры
Процедура ДобавитьЗаголовокБазы(Знач Заголовок, ОсновнаяСтруктура)
Заголовок = ПреобразоватьЗаголовок(Заголовок);
Заголовок = ПреобразоватьЗаголовок(Заголовок);
ОсновнаяСтруктура.Вставить("title", Заголовок["title"]);
КонецПроцедуры
@ -499,11 +503,11 @@
Или ТипЗнч(Свойство.Значение) = Тип("Соответствие") Тогда
ВыборЗначения = СформироватьЗначенияВыбора(Свойство.Значение);
СоответствиеПараметров.Вставить(Свойство.Ключ, Новый Структура("select", ВыборЗначения))
Иначе
СоответствиеПараметров.Вставить(Свойство.Ключ, Свойство.Значение);
СоответствиеПараметров.Вставить(Свойство.Ключ, Новый Структура("select", ВыборЗначения));
Иначе
СоответствиеПараметров.Вставить(Свойство.Ключ, Свойство.Значение);
КонецЕсли;
@ -520,7 +524,7 @@
Для Каждого Вариант Из СтруктураВариантов Цикл
СоответствиеВарианта = Новый Соответствие;
СоответствиеВарианта.Вставить("name", Вариант.Ключ);
СоответствиеВарианта.Вставить("name" , Вариант.Ключ);
СоответствиеВарианта.Вставить("color", Вариант.Значение);
МассивВариантов.Добавить(СоответствиеВарианта);
@ -532,253 +536,253 @@
КонецФункции
Функция ЗаполнитьДанныеПоСхеме(Знач Схема, Знач Данные, Знач Токен, Знач ЭтоБаза = Истина)
Если ЭтоБаза Тогда
ДанныеСхемы = ПолучитьБазуДанных(Токен, Схема);
Иначе
ДанныеСхемы = ПолучитьСтраницу(Токен, Схема);
КонецЕсли;
ПоляБазы = ДанныеСхемы["properties"];
Свойства = Новый Соответствие;
Если ЗначениеЗаполнено(ПоляБазы) Тогда
Для Каждого Поле Из ПоляБазы Цикл
ДанныеПоля = Поле.Значение;
ТипПоля = ДанныеПоля["type"];
ЗаполняемыеДанные = Данные.Получить(Поле.Ключ);
Если ЗаполняемыеДанные = Неопределено Тогда
Продолжить;
КонецЕсли;
ПреобразованныеДанные = ПреобразоватьЗначениеПоТипу(ТипПоля, ЗаполняемыеДанные);
Если ПреобразованныеДанные = Неопределено Тогда
Продолжить;
КонецЕсли;
Свойства.Вставить(ДанныеПоля["id"], ПреобразованныеДанные);
КонецЦикла;
КонецЕсли;
Если ЭтоБаза Тогда
ДанныеСхемы = ПолучитьБазуДанных(Токен, Схема);
Иначе
ДанныеСхемы = ПолучитьСтраницу(Токен, Схема);
КонецЕсли;
ПоляБазы = ДанныеСхемы["properties"];
Свойства = Новый Соответствие;
Если ЗначениеЗаполнено(ПоляБазы) Тогда
Для Каждого Поле Из ПоляБазы Цикл
ДанныеПоля = Поле.Значение;
ТипПоля = ДанныеПоля["type"];
ЗаполняемыеДанные = Данные.Получить(Поле.Ключ);
Если ЗаполняемыеДанные = Неопределено Тогда
Продолжить;
КонецЕсли;
ПреобразованныеДанные = ПреобразоватьЗначениеПоТипу(ТипПоля, ЗаполняемыеДанные);
Если ПреобразованныеДанные = Неопределено Тогда
Продолжить;
КонецЕсли;
Свойства.Вставить(ДанныеПоля["id"], ПреобразованныеДанные);
КонецЦикла;
КонецЕсли;
Возврат Свойства;
Возврат Свойства;
КонецФункции
Процедура УдалитьЛишниеПоляБлока(Знач Блок)
МассивЛишних = Новый Массив;
МассивЛишних.Добавить("request_id");
МассивЛишних.Добавить("archived");
МассивЛишних.Добавить("created_by");
МассивЛишних.Добавить("last_edited_time");
МассивЛишних.Добавить("created_time");
МассивЛишних.Добавить("has_children");
МассивЛишних.Добавить("parrent");
МассивЛишних.Добавить("last_edited_by");
МассивЛишних.Добавить("id");
Для Каждого Поле Из МассивЛишних Цикл
Если Не Блок.Получить(Поле) = Неопределено Тогда
Блок.Удалить(Поле);
КонецЕсли;
КонецЦикла
МассивЛишних = Новый Массив;
МассивЛишних.Добавить("request_id");
МассивЛишних.Добавить("archived");
МассивЛишних.Добавить("created_by");
МассивЛишних.Добавить("last_edited_time");
МассивЛишних.Добавить("created_time");
МассивЛишних.Добавить("has_children");
МассивЛишних.Добавить("parrent");
МассивЛишних.Добавить("last_edited_by");
МассивЛишних.Добавить("id");
Для Каждого Поле Из МассивЛишних Цикл
Если Не Блок.Получить(Поле) = Неопределено Тогда
Блок.Удалить(Поле);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#Область ПреобразованиеТипов
Функция ПреобразоватьЗначениеПоТипу(Знач Тип, Знач Значение)
Если Тип = "title" Тогда
Возврат ПреобразоватьЗаголовок(Значение);
ИначеЕсли Тип = "rich_text" Тогда
Возврат ПреобразоватьТекст(Значение);
ИначеЕсли Тип = "number" Тогда
Возврат ПреобразоватьЧисло(Значение);
ИначеЕсли Тип = "select" Тогда
Возврат ПреобразоватьВариантВыбора(Значение);
ИначеЕсли Тип = "multi_select" Тогда
Возврат ПреобразоватьМножественныйВыбор(Значение);
ИначеЕсли Тип = "status" Тогда
Возврат ПреобразоватьСтатус(Значение);
ИначеЕсли Тип = "date" Тогда
Возврат ПреобразоватьеДату(Значение);
ИначеЕсли Тип = "relation" Тогда
Возврат ПреобразоватьСвязь(Значение);
ИначеЕсли Тип = "people" Тогда
Возврат ПреобразоватьПользователей(Значение);
ИначеЕсли Тип = "files" Тогда
Возврат ПреобразоватьФайлы(Значение);
ИначеЕсли Тип = "checkbox" Тогда
Возврат ПреобразоватьБулево(Значение);
ИначеЕсли Тип = "url" Тогда
Возврат ПреобразоватьСсылку(Значение);
ИначеЕсли Тип = "email" Тогда
Возврат ПреобразоватьПочту(Значение);
ИначеЕсли Тип = "phone_number" Тогда
Возврат ПреобразоватьТелефон(Значение);
Иначе
Возврат Неопределено;
КонецЕсли;
Если Тип = "title" Тогда
Возврат ПреобразоватьЗаголовок(Значение);
ИначеЕсли Тип = "rich_text" Тогда
Возврат ПреобразоватьТекст(Значение);
ИначеЕсли Тип = "number" Тогда
Возврат ПреобразоватьЧисло(Значение);
ИначеЕсли Тип = "select" Тогда
Возврат ПреобразоватьВариантВыбора(Значение);
ИначеЕсли Тип = "multi_select" Тогда
Возврат ПреобразоватьМножественныйВыбор(Значение);
ИначеЕсли Тип = "status" Тогда
Возврат ПреобразоватьСтатус(Значение);
ИначеЕсли Тип = "date" Тогда
Возврат ПреобразоватьДату(Значение);
ИначеЕсли Тип = "relation" Тогда
Возврат ПреобразоватьСвязь(Значение);
ИначеЕсли Тип = "people" Тогда
Возврат ПреобразоватьПользователей(Значение);
ИначеЕсли Тип = "files" Тогда
Возврат ПреобразоватьФайлы(Значение);
ИначеЕсли Тип = "checkbox" Тогда
Возврат ПреобразоватьБулево(Значение);
ИначеЕсли Тип = "url" Тогда
Возврат ПреобразоватьСсылку(Значение);
ИначеЕсли Тип = "email" Тогда
Возврат ПреобразоватьПочту(Значение);
ИначеЕсли Тип = "phone_number" Тогда
Возврат ПреобразоватьТелефон(Значение);
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
Функция ПреобразоватьЗаголовок(Знач Заголовок)
СтруктураДанных = Новый Структура;
СтруктураДанных = Новый Структура;
СтруктураТекста = Новый Структура;
МассивДанных = Новый Массив;
СтруктураТекста.Вставить("content", Заголовок);
СтруктураТекста.Вставить("link" , Неопределено);
СтруктураДанных.Вставить("type", "text");
СтруктураДанных.Вставить("type", "text");
СтруктураДанных.Вставить("text", СтруктураТекста);
МассивДанных.Добавить(СтруктураДанных);
Возврат Новый Структура("title", МассивДанных);
Возврат Новый Структура("title", МассивДанных);
КонецФункции
Функция ПреобразоватьТекст(Знач Текст)
МассивТекста = Новый Массив;
СтруктураТекста = Новый Структура;
СтруктураТекста.Вставить("type", "text");
СтруктураТекста.Вставить("text", Новый Структура("content", Текст));
МассивТекста.Добавить(СтруктураТекста);
Возврат Новый Структура("rich_text", МассивТекста);
МассивТекста = Новый Массив;
СтруктураТекста = Новый Структура;
СтруктураТекста.Вставить("type", "text");
СтруктураТекста.Вставить("text", Новый Структура("content", Текст));
МассивТекста.Добавить(СтруктураТекста);
Возврат Новый Структура("rich_text", МассивТекста);
КонецФункции
Функция ПреобразоватьЧисло(Знач Число)
Возврат Новый Структура("number", Число);
Возврат Новый Структура("number", Число);
КонецФункции
Функция ПреобразоватьВариантВыбора(Знач Вариант)
СтруктураВыбора = Новый Структура;
СтруктураВыбора.Вставить("select", Новый Структура("name", Вариант));
Возврат СтруктураВыбора;
СтруктураВыбора = Новый Структура;
СтруктураВыбора.Вставить("select", Новый Структура("name", Вариант));
Возврат СтруктураВыбора;
КонецФункции
Функция ПреобразоватьСтатус(Знач Статус)
СтруктураСтатуса = Новый Структура;
СтруктураСтатуса.Вставить("status", Новый Структура("name", Статус));
Возврат СтруктураСтатуса;
СтруктураСтатуса = Новый Структура;
СтруктураСтатуса.Вставить("status", Новый Структура("name", Статус));
Возврат СтруктураСтатуса;
КонецФункции
Функция ПреобразоватьМножественныйВыбор(Знач МассивВариантов)
МассивВариантовВыбора = Новый Массив;
Для Каждого Вариант Из МассивВариантов Цикл
МассивВариантовВыбора.Добавить(Новый Структура("name", Вариант));
КонецЦикла;
Возврат Новый Структура("multi_select", МассивВариантовВыбора);
МассивВариантовВыбора = Новый Массив;
Для Каждого Вариант Из МассивВариантов Цикл
МассивВариантовВыбора.Добавить(Новый Структура("name", Вариант));
КонецЦикла;
Возврат Новый Структура("multi_select", МассивВариантовВыбора);
КонецФункции
Функция ПреобразоватьеДату(Знач Дата)
СтруктураДаты = Новый Структура;
Если Дата = НачалоДня(Дата) Тогда
ФорматДаты = "ДФ=yyyy-MM-dd";
Иначе
ФорматДаты = "ДФ=yyyy-MM-ddThh:mm:ssZ";
КонецЕсли;
Дата = Формат(Дата, ФорматДаты);
СтруктураДаты.Вставить("start", Дата);
Возврат Новый Структура("date", СтруктураДаты);
Функция ПреобразоватьДату(Знач Дата)
СтруктураДаты = Новый Структура;
Если Дата = НачалоДня(Дата) Тогда
ФорматДаты = "ДФ=yyyy-MM-dd";
Иначе
ФорматДаты = "ДФ=yyyy-MM-ddThh:mm:ssZ";
КонецЕсли;
Дата = Формат(Дата, ФорматДаты);
СтруктураДаты.Вставить("start", Дата);
Возврат Новый Структура("date", СтруктураДаты);
КонецФункции
Функция ПреобразоватьСвязь(Знач Идентификатор)
МассивСвязи = Новый Массив;
МассивСвязи.Добавить(Новый Структура("id", Идентификатор));
Возврат Новый Структура("relation", МассивСвязи);
МассивСвязи = Новый Массив;
МассивСвязи.Добавить(Новый Структура("id", Идентификатор));
Возврат Новый Структура("relation", МассивСвязи);
КонецФункции
Функция ПреобразоватьПользователей(Знач МассивИД)
Если Не ТипЗнч(МассивИД) = Тип("Массив") Тогда
МассивИД_ = Новый Массив;
МассивИД_.Добавить(МассивИД);
МассивИД = МассивИД_;
КонецЕсли;
МассивПользователей = Новый Массив;
Для Каждого Идентификатор Из МассивИД Цикл
СтруктураПользователя = Новый Структура;
СтруктураПользователя.Вставить("object", "user");
СтруктураПользователя.Вставить("id" , Идентификатор);
МассивПользователей.Добавить(СтруктураПользователя);
КонецЦикла;
Возврат Новый Структура("people", МассивПользователей);
Если Не ТипЗнч(МассивИД) = Тип("Массив") Тогда
МассивИД_ = Новый Массив;
МассивИД_.Добавить(МассивИД);
МассивИД = МассивИД_;
КонецЕсли;
МассивПользователей = Новый Массив;
Для Каждого Идентификатор Из МассивИД Цикл
СтруктураПользователя = Новый Структура;
СтруктураПользователя.Вставить("object", "user");
СтруктураПользователя.Вставить("id" , Идентификатор);
МассивПользователей.Добавить(СтруктураПользователя);
КонецЦикла;
Возврат Новый Структура("people", МассивПользователей);
КонецФункции
Функция ПреобразоватьФайлы(Знач СоответствиеФайлов)
МассивФайлов = Новый Массив;
Для Каждого Файл Из СоответствиеФайлов Цикл
СтруктураФайла = Новый Структура;
СтруктураФайла.Вставить("type", "external");
СтруктураФайла.Вставить("name", Файл.Ключ);
СтруктураФайла.Вставить("external", Новый Структура("url", Файл.Значение));
МассивФайлов.Добавить(СтруктураФайла);
КонецЦикла;
МассивФайлов = Новый Массив;
Для Каждого Файл Из СоответствиеФайлов Цикл
СтруктураФайла = Новый Структура;
СтруктураФайла.Вставить("type" , "external");
СтруктураФайла.Вставить("name" , Файл.Ключ);
СтруктураФайла.Вставить("external", Новый Структура("url", Файл.Значение));
МассивФайлов.Добавить(СтруктураФайла);
КонецЦикла;
Возврат Новый Структура("files", МассивФайлов);
Возврат Новый Структура("files", МассивФайлов);
КонецФункции
Функция ПреобразоватьБулево(Знач Булево)
Возврат Новый Структура("checkbox", Булево);
Возврат Новый Структура("checkbox", Булево);
КонецФункции
Функция ПреобразоватьСсылку(Знач URL)
Возврат Новый Структура("url", URL);
Возврат Новый Структура("url", URL);
КонецФункции
Функция ПреобразоватьПочту(Знач Почта)
Возврат Новый Структура("email", Почта);
Возврат Новый Структура("email", Почта);
КонецФункции
Функция ПреобразоватьТелефон(Знач Телефон)
Возврат Новый Структура("phone_number", Телефон);
Возврат Новый Структура("phone_number", Телефон);
КонецФункции
#КонецОбласти

View File

@ -0,0 +1,188 @@
---
sidebar_position: 2
---
# Изменить свойства базы
Изменяет свойства созданной ранее базы
*Функция ИзменитьСвойстваБазы(Знач Токен, Знач База, Знач Свойства = "", Знач Заголовок = "", Знач Описание = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен интеграции |
| База | Строка | ID базы |
| Свойства | Соответствие | Ключ - Имя изменяемого свойства, Значение - Тип или неопределено. Если неопределено - свойство удаляется |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Notion
```bsl title="Пример кода"
Токен = "secret_9RsfMrRMqZwqp0Zl0B...";
База = "5dd94c34fab04bff9...";
ЗаголовокБазы = "Обновленный заголовок";
ОписаниеБазы = "Обновленное описание базы";
Свойства = Новый Соответствие;
Свойства.Вставить("Почта", "rich_text"); //Тип поля "Почта" будет изменен с email на текст
Свойства.Вставить("Сайт"); //Поле "Сайт" будет удалено
Ответ = OPI_Notion.ИзменитьСвойстваБазы(Токен, База, Свойства, ЗаголовокБазы, ОписаниеБазы);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/2.png)
```json title="Результат"
{
"request_id": "d42b5700-9325-439e-98ce-252a007f5ed7",
"public_url": null,
"url": "https://www.notion.so/048ba0ce4f474e33900540d249b01949",
"parent": {
"page_id": "5dd94c34-fab0-4bff-986b-7511c0779f77",
"type": "page_id"
},
"properties": {
"Картинка": {
"files": {},
"type": "files",
"name": "Картинка",
"id": "r%3Dfa"
},
"Активен": {
"checkbox": {},
"type": "checkbox",
"name": "Активен",
"id": "q%3FQF"
},
"Телефон": {
"phone_number": {},
"type": "phone_number",
"name": "Телефон",
"id": "hDII"
},
"Пользователь": {
"people": {},
"type": "people",
"name": "Пользователь",
"id": "%5D%40Md"
},
"Описание": {
"rich_text": {},
"type": "rich_text",
"name": "Описание",
"id": "KnG%3F"
},
"Статус": {
"select": {
"options": [
{
"description": null,
"color": "red",
"name": "Удаленный",
"id": "a71d6e8a-4f3e-4dfd-9f0e-4d90e400fde7"
},
{
"description": null,
"color": "yellow",
"name": "В работе",
"id": "aa6300b4-c635-4ab4-b5cd-87d14e45dd11"
},
{
"description": null,
"color": "green",
"name": "Новый",
"id": "202b1d30-2095-40f1-8b91-f627d475d560"
}
]
},
"type": "select",
"name": "Статус",
"id": "IDW%3C"
},
"Номер": {
"type": "number",
"name": "Номер",
"number": {
"format": "number"
},
"id": "CH__"
},
"Дата создания": {
"date": {},
"type": "date",
"name": "Дата создания",
"id": "BQN%5B"
},
"Имя": {
"title": {},
"type": "title",
"name": "Имя",
"id": "title"
},
"Почта": {
"rich_text": {},
"type": "rich_text",
"name": "Почта",
"id": "%3CO%3AD"
}
},
"last_edited_time": "2024-01-26T18:26:00.000Z",
"description": [
{
"plain_text": "Обновленное описание базы",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "Обновленное описание базы"
},
"href": null,
"type": "text"
}
],
"created_by": {
"id": "8b07422e-eeea-40d1-8d5e-c784211825b0",
"object": "user"
},
"archived": false,
"icon": null,
"created_time": "2024-01-26T16:49:00.000Z",
"title": [
{
"plain_text": "Обновленный заголовок",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "Обновленный заголовок"
},
"href": null,
"type": "text"
}
],
"cover": null,
"is_inline": false,
"id": "048ba0ce-4f47-4e33-9005-40d249b01949",
"last_edited_by": {
"id": "8b07422e-eeea-40d1-8d5e-c784211825b0",
"object": "user"
},
"object": "database"
}
```