You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-13 20:05:19 +02:00
Деффекты SC
This commit is contained in:
@@ -63,12 +63,12 @@
|
|||||||
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - Создать страницу в базу
|
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - Создать страницу в базу
|
||||||
Функция СоздатьСтраницуВБазу(Знач Токен, Знач Родитель, Знач Данные) Экспорт
|
Функция СоздатьСтраницуВБазу(Знач Токен, Знач Родитель, Знач Данные) Экспорт
|
||||||
|
|
||||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
|
|
||||||
ДобавитьРодителяСтраницы(Родитель, Истина, Параметры);
|
ДобавитьРодителяСтраницы(Родитель, Истина, Параметры);
|
||||||
|
|
||||||
Свойства = ЗаполнитьДанныеПоСхеме(Родитель, Данные, Токен);
|
Свойства = ЗаполнитьДанныеПоСхеме(Родитель, Данные, Токен);
|
||||||
Параметры.Вставить("properties", Свойства);
|
Параметры.Вставить("properties", Свойства);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Post("https://api.notion.com/v1/pages", Параметры, Заголовки);
|
Ответ = OPI_Инструменты.Post("https://api.notion.com/v1/pages", Параметры, Заголовки);
|
||||||
@@ -108,7 +108,8 @@
|
|||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Строка, Произвольный, Неопределено, HTTPОтвет, ДвоичныеДанные - Изменить свойства страницы
|
// Строка, Произвольный, Неопределено, HTTPОтвет, ДвоичныеДанные - Изменить свойства страницы
|
||||||
//@skip-check method-too-many-params
|
// @skip-check method-too-many-params
|
||||||
|
// BSLLS:NumberOfOptionalParams-off
|
||||||
Функция ИзменитьСвойстваСтраницы(Знач Токен
|
Функция ИзменитьСвойстваСтраницы(Знач Токен
|
||||||
, Знач Страница
|
, Знач Страница
|
||||||
, Знач Данные = ""
|
, Знач Данные = ""
|
||||||
@@ -116,47 +117,49 @@
|
|||||||
, Знач Обложка = ""
|
, Знач Обложка = ""
|
||||||
, Знач Архивирована = Ложь) Экспорт
|
, Знач Архивирована = Ложь) Экспорт
|
||||||
|
|
||||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
|
Files = "files";
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(Данные) И ТипЗнч(Данные) = Тип("Соответствие") Тогда
|
Если ЗначениеЗаполнено(Данные) И ТипЗнч(Данные) = Тип("Соответствие") Тогда
|
||||||
Свойства = ЗаполнитьДанныеПоСхеме(Страница, Данные, Токен, Ложь);
|
Свойства = ЗаполнитьДанныеПоСхеме(Страница, Данные, Токен, Ложь);
|
||||||
Иначе
|
Иначе
|
||||||
Свойства = Новый Соответствие;
|
Свойства = Новый Соответствие;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(Иконка) Тогда
|
Если ЗначениеЗаполнено(Иконка) Тогда
|
||||||
СоответствиеИконки = Новый Соответствие;
|
СоответствиеИконки = Новый Соответствие;
|
||||||
СоответствиеИконки.Вставить("Icon", Иконка);
|
СоответствиеИконки.Вставить("Icon", Иконка);
|
||||||
|
|
||||||
ОбъектИконка = ПреобразоватьЗначениеПоТипу("files", СоответствиеИконки);
|
ОбъектИконка = ПреобразоватьЗначениеПоТипу(Files, СоответствиеИконки);
|
||||||
ОбъектИконка = ОбъектИконка["files"][0];
|
ОбъектИконка = ОбъектИконка[Files][0];
|
||||||
ОбъектИконка.Удалить("name");
|
ОбъектИконка.Удалить("name");
|
||||||
|
|
||||||
Параметры.Вставить("icon", ОбъектИконка);
|
Параметры.Вставить("icon", ОбъектИконка);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(Обложка) Тогда
|
Если ЗначениеЗаполнено(Обложка) Тогда
|
||||||
СоответствиеОбложки = Новый Соответствие;
|
СоответствиеОбложки = Новый Соответствие;
|
||||||
СоответствиеОбложки.Вставить("Cover", Обложка);
|
СоответствиеОбложки.Вставить("Cover", Обложка);
|
||||||
|
|
||||||
ОбъектОбложка = ПреобразоватьЗначениеПоТипу("files", СоответствиеОбложки);
|
ОбъектОбложка = ПреобразоватьЗначениеПоТипу(Files, СоответствиеОбложки);
|
||||||
ОбъектОбложка = ОбъектОбложка["files"][0];
|
ОбъектОбложка = ОбъектОбложка[Files][0];
|
||||||
ОбъектОбложка.Удалить("name");
|
ОбъектОбложка.Удалить("name");
|
||||||
|
|
||||||
Параметры.Вставить("cover", ОбъектОбложка);
|
Параметры.Вставить("cover", ОбъектОбложка);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Параметры.Вставить("properties", Свойства);
|
Параметры.Вставить("properties", Свойства);
|
||||||
Параметры.Вставить("archived", Архивирована);
|
Параметры.Вставить("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
|
// Неактивный : red
|
||||||
// Архив : yellow
|
// Архив : yellow
|
||||||
|
|
||||||
//Все страницы, которые будут созданы как дочерние, должны иметь свойства базы-родителя
|
// Все страницы, которые будут созданы как дочерние, должны иметь свойства базы-родителя
|
||||||
|
|
||||||
Если Не ТипЗнч(Свойства) = Тип("Структура") И Не ТипЗнч(Свойства) = Тип("Соответствие") Тогда
|
Если Не ТипЗнч(Свойства) = Тип("Структура") И Не ТипЗнч(Свойства) = Тип("Соответствие") Тогда
|
||||||
Свойства = Новый Структура("Наименование", "title");
|
Свойства = Новый Структура("Наименование", "title");
|
||||||
@@ -195,7 +198,7 @@
|
|||||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
|
|
||||||
ДобавитьРодителяБазы(Родитель, Ложь, Параметры);
|
ДобавитьРодителяБазы(Родитель, Ложь, Параметры);
|
||||||
ДобавитьЗаголовокБазы(Заголовок, Параметры);
|
ДобавитьЗаголовокБазы(Заголовок, Параметры);
|
||||||
ДобавитьСвойстваБазы(Свойства, Параметры);
|
ДобавитьСвойстваБазы(Свойства, Параметры);
|
||||||
|
|
||||||
@@ -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", МассивБлоков);
|
Параметры.Вставить("children", МассивБлоков);
|
||||||
@@ -436,8 +439,8 @@
|
|||||||
|
|
||||||
ПолеИдентификатора = ?(РодительБаза, "database_id", "page_id");
|
ПолеИдентификатора = ?(РодительБаза, "database_id", "page_id");
|
||||||
СтруктураРодителя = Новый Структура();
|
СтруктураРодителя = Новый Структура();
|
||||||
СтруктураРодителя.Вставить("type" , ПолеИдентификатора);
|
СтруктураРодителя.Вставить("type" , ПолеИдентификатора);
|
||||||
СтруктураРодителя.Вставить(ПолеИдентификатора, Родитель);
|
СтруктураРодителя.Вставить(ПолеИдентификатора, Родитель);
|
||||||
|
|
||||||
ОсновнаяСтруктура.Вставить("parent", СтруктураРодителя);
|
ОсновнаяСтруктура.Вставить("parent", СтруктураРодителя);
|
||||||
|
|
||||||
@@ -449,6 +452,7 @@
|
|||||||
СтруктураДанных = Новый Структура;
|
СтруктураДанных = Новый Структура;
|
||||||
СтруктураТекста = Новый Структура;
|
СтруктураТекста = Новый Структура;
|
||||||
МассивДанных = Новый Массив;
|
МассивДанных = Новый Массив;
|
||||||
|
Title = "title";
|
||||||
|
|
||||||
СтруктураТекста.Вставить("content", Заголовок);
|
СтруктураТекста.Вставить("content", Заголовок);
|
||||||
СтруктураТекста.Вставить("link" , Неопределено);
|
СтруктураТекста.Вставить("link" , Неопределено);
|
||||||
@@ -458,17 +462,17 @@
|
|||||||
|
|
||||||
МассивДанных.Добавить(СтруктураДанных);
|
МассивДанных.Добавить(СтруктураДанных);
|
||||||
|
|
||||||
ПодчиненнаяСтруктура.Вставить("id" , "title");
|
ПодчиненнаяСтруктура.Вставить("id" , Title);
|
||||||
ПодчиненнаяСтруктура.Вставить("type" , "title");
|
ПодчиненнаяСтруктура.Вставить("type" , Title);
|
||||||
ПодчиненнаяСтруктура.Вставить("title", МассивДанных);
|
ПодчиненнаяСтруктура.Вставить(Title , МассивДанных);
|
||||||
|
|
||||||
ОсновнаяСтруктура.Вставить("title", ПодчиненнаяСтруктура);
|
ОсновнаяСтруктура.Вставить(Title, ПодчиненнаяСтруктура);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ДобавитьЗаголовокБазы(Знач Заголовок, ОсновнаяСтруктура)
|
Процедура ДобавитьЗаголовокБазы(Знач Заголовок, ОсновнаяСтруктура)
|
||||||
|
|
||||||
Заголовок = ПреобразоватьЗаголовок(Заголовок);
|
Заголовок = ПреобразоватьЗаголовок(Заголовок);
|
||||||
ОсновнаяСтруктура.Вставить("title", Заголовок["title"]);
|
ОсновнаяСтруктура.Вставить("title", Заголовок["title"]);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -499,11 +503,11 @@
|
|||||||
Или ТипЗнч(Свойство.Значение) = Тип("Соответствие") Тогда
|
Или ТипЗнч(Свойство.Значение) = Тип("Соответствие") Тогда
|
||||||
|
|
||||||
ВыборЗначения = СформироватьЗначенияВыбора(Свойство.Значение);
|
ВыборЗначения = СформироватьЗначенияВыбора(Свойство.Значение);
|
||||||
СоответствиеПараметров.Вставить(Свойство.Ключ, Новый Структура("select", ВыборЗначения))
|
СоответствиеПараметров.Вставить(Свойство.Ключ, Новый Структура("select", ВыборЗначения));
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
СоответствиеПараметров.Вставить(Свойство.Ключ, Свойство.Значение);
|
СоответствиеПараметров.Вставить(Свойство.Ключ, Свойство.Значение);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -520,7 +524,7 @@
|
|||||||
Для Каждого Вариант Из СтруктураВариантов Цикл
|
Для Каждого Вариант Из СтруктураВариантов Цикл
|
||||||
|
|
||||||
СоответствиеВарианта = Новый Соответствие;
|
СоответствиеВарианта = Новый Соответствие;
|
||||||
СоответствиеВарианта.Вставить("name", Вариант.Ключ);
|
СоответствиеВарианта.Вставить("name" , Вариант.Ключ);
|
||||||
СоответствиеВарианта.Вставить("color", Вариант.Значение);
|
СоответствиеВарианта.Вставить("color", Вариант.Значение);
|
||||||
|
|
||||||
МассивВариантов.Добавить(СоответствиеВарианта);
|
МассивВариантов.Добавить(СоответствиеВарианта);
|
||||||
@@ -533,63 +537,63 @@
|
|||||||
|
|
||||||
Функция ЗаполнитьДанныеПоСхеме(Знач Схема, Знач Данные, Знач Токен, Знач ЭтоБаза = Истина)
|
Функция ЗаполнитьДанныеПоСхеме(Знач Схема, Знач Данные, Знач Токен, Знач ЭтоБаза = Истина)
|
||||||
|
|
||||||
Если ЭтоБаза Тогда
|
Если ЭтоБаза Тогда
|
||||||
ДанныеСхемы = ПолучитьБазуДанных(Токен, Схема);
|
ДанныеСхемы = ПолучитьБазуДанных(Токен, Схема);
|
||||||
Иначе
|
Иначе
|
||||||
ДанныеСхемы = ПолучитьСтраницу(Токен, Схема);
|
ДанныеСхемы = ПолучитьСтраницу(Токен, Схема);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ПоляБазы = ДанныеСхемы["properties"];
|
ПоляБазы = ДанныеСхемы["properties"];
|
||||||
Свойства = Новый Соответствие;
|
Свойства = Новый Соответствие;
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(ПоляБазы) Тогда
|
Если ЗначениеЗаполнено(ПоляБазы) Тогда
|
||||||
|
|
||||||
Для Каждого Поле Из ПоляБазы Цикл
|
Для Каждого Поле Из ПоляБазы Цикл
|
||||||
|
|
||||||
ДанныеПоля = Поле.Значение;
|
ДанныеПоля = Поле.Значение;
|
||||||
ТипПоля = ДанныеПоля["type"];
|
ТипПоля = ДанныеПоля["type"];
|
||||||
|
|
||||||
ЗаполняемыеДанные = Данные.Получить(Поле.Ключ);
|
ЗаполняемыеДанные = Данные.Получить(Поле.Ключ);
|
||||||
|
|
||||||
Если ЗаполняемыеДанные = Неопределено Тогда
|
Если ЗаполняемыеДанные = Неопределено Тогда
|
||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ПреобразованныеДанные = ПреобразоватьЗначениеПоТипу(ТипПоля, ЗаполняемыеДанные);
|
ПреобразованныеДанные = ПреобразоватьЗначениеПоТипу(ТипПоля, ЗаполняемыеДанные);
|
||||||
|
|
||||||
Если ПреобразованныеДанные = Неопределено Тогда
|
Если ПреобразованныеДанные = Неопределено Тогда
|
||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Свойства.Вставить(ДанныеПоля["id"], ПреобразованныеДанные);
|
Свойства.Вставить(ДанныеПоля["id"], ПреобразованныеДанные);
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Свойства;
|
Возврат Свойства;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Процедура УдалитьЛишниеПоляБлока(Знач Блок)
|
Процедура УдалитьЛишниеПоляБлока(Знач Блок)
|
||||||
|
|
||||||
МассивЛишних = Новый Массив;
|
МассивЛишних = Новый Массив;
|
||||||
МассивЛишних.Добавить("request_id");
|
МассивЛишних.Добавить("request_id");
|
||||||
МассивЛишних.Добавить("archived");
|
МассивЛишних.Добавить("archived");
|
||||||
МассивЛишних.Добавить("created_by");
|
МассивЛишних.Добавить("created_by");
|
||||||
МассивЛишних.Добавить("last_edited_time");
|
МассивЛишних.Добавить("last_edited_time");
|
||||||
МассивЛишних.Добавить("created_time");
|
МассивЛишних.Добавить("created_time");
|
||||||
МассивЛишних.Добавить("has_children");
|
МассивЛишних.Добавить("has_children");
|
||||||
МассивЛишних.Добавить("parrent");
|
МассивЛишних.Добавить("parrent");
|
||||||
МассивЛишних.Добавить("last_edited_by");
|
МассивЛишних.Добавить("last_edited_by");
|
||||||
МассивЛишних.Добавить("id");
|
МассивЛишних.Добавить("id");
|
||||||
|
|
||||||
Для Каждого Поле Из МассивЛишних Цикл
|
Для Каждого Поле Из МассивЛишних Цикл
|
||||||
|
|
||||||
Если Не Блок.Получить(Поле) = Неопределено Тогда
|
Если Не Блок.Получить(Поле) = Неопределено Тогда
|
||||||
Блок.Удалить(Поле);
|
Блок.Удалить(Поле);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -597,188 +601,188 @@
|
|||||||
|
|
||||||
Функция ПреобразоватьЗначениеПоТипу(Знач Тип, Знач Значение)
|
Функция ПреобразоватьЗначениеПоТипу(Знач Тип, Знач Значение)
|
||||||
|
|
||||||
Если Тип = "title" Тогда
|
Если Тип = "title" Тогда
|
||||||
Возврат ПреобразоватьЗаголовок(Значение);
|
Возврат ПреобразоватьЗаголовок(Значение);
|
||||||
ИначеЕсли Тип = "rich_text" Тогда
|
ИначеЕсли Тип = "rich_text" Тогда
|
||||||
Возврат ПреобразоватьТекст(Значение);
|
Возврат ПреобразоватьТекст(Значение);
|
||||||
ИначеЕсли Тип = "number" Тогда
|
ИначеЕсли Тип = "number" Тогда
|
||||||
Возврат ПреобразоватьЧисло(Значение);
|
Возврат ПреобразоватьЧисло(Значение);
|
||||||
ИначеЕсли Тип = "select" Тогда
|
ИначеЕсли Тип = "select" Тогда
|
||||||
Возврат ПреобразоватьВариантВыбора(Значение);
|
Возврат ПреобразоватьВариантВыбора(Значение);
|
||||||
ИначеЕсли Тип = "multi_select" Тогда
|
ИначеЕсли Тип = "multi_select" Тогда
|
||||||
Возврат ПреобразоватьМножественныйВыбор(Значение);
|
Возврат ПреобразоватьМножественныйВыбор(Значение);
|
||||||
ИначеЕсли Тип = "status" Тогда
|
ИначеЕсли Тип = "status" Тогда
|
||||||
Возврат ПреобразоватьСтатус(Значение);
|
Возврат ПреобразоватьСтатус(Значение);
|
||||||
ИначеЕсли Тип = "date" Тогда
|
ИначеЕсли Тип = "date" Тогда
|
||||||
Возврат ПреобразоватьеДату(Значение);
|
Возврат ПреобразоватьДату(Значение);
|
||||||
ИначеЕсли Тип = "relation" Тогда
|
ИначеЕсли Тип = "relation" Тогда
|
||||||
Возврат ПреобразоватьСвязь(Значение);
|
Возврат ПреобразоватьСвязь(Значение);
|
||||||
ИначеЕсли Тип = "people" Тогда
|
ИначеЕсли Тип = "people" Тогда
|
||||||
Возврат ПреобразоватьПользователей(Значение);
|
Возврат ПреобразоватьПользователей(Значение);
|
||||||
ИначеЕсли Тип = "files" Тогда
|
ИначеЕсли Тип = "files" Тогда
|
||||||
Возврат ПреобразоватьФайлы(Значение);
|
Возврат ПреобразоватьФайлы(Значение);
|
||||||
ИначеЕсли Тип = "checkbox" Тогда
|
ИначеЕсли Тип = "checkbox" Тогда
|
||||||
Возврат ПреобразоватьБулево(Значение);
|
Возврат ПреобразоватьБулево(Значение);
|
||||||
ИначеЕсли Тип = "url" Тогда
|
ИначеЕсли Тип = "url" Тогда
|
||||||
Возврат ПреобразоватьСсылку(Значение);
|
Возврат ПреобразоватьСсылку(Значение);
|
||||||
ИначеЕсли Тип = "email" Тогда
|
ИначеЕсли Тип = "email" Тогда
|
||||||
Возврат ПреобразоватьПочту(Значение);
|
Возврат ПреобразоватьПочту(Значение);
|
||||||
ИначеЕсли Тип = "phone_number" Тогда
|
ИначеЕсли Тип = "phone_number" Тогда
|
||||||
Возврат ПреобразоватьТелефон(Значение);
|
Возврат ПреобразоватьТелефон(Значение);
|
||||||
Иначе
|
Иначе
|
||||||
Возврат Неопределено;
|
Возврат Неопределено;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьЗаголовок(Знач Заголовок)
|
Функция ПреобразоватьЗаголовок(Знач Заголовок)
|
||||||
|
|
||||||
СтруктураДанных = Новый Структура;
|
СтруктураДанных = Новый Структура;
|
||||||
СтруктураТекста = Новый Структура;
|
СтруктураТекста = Новый Структура;
|
||||||
МассивДанных = Новый Массив;
|
МассивДанных = Новый Массив;
|
||||||
|
|
||||||
СтруктураТекста.Вставить("content", Заголовок);
|
СтруктураТекста.Вставить("content", Заголовок);
|
||||||
СтруктураТекста.Вставить("link" , Неопределено);
|
СтруктураТекста.Вставить("link" , Неопределено);
|
||||||
|
|
||||||
СтруктураДанных.Вставить("type", "text");
|
СтруктураДанных.Вставить("type", "text");
|
||||||
СтруктураДанных.Вставить("text", СтруктураТекста);
|
СтруктураДанных.Вставить("text", СтруктураТекста);
|
||||||
|
|
||||||
МассивДанных.Добавить(СтруктураДанных);
|
МассивДанных.Добавить(СтруктураДанных);
|
||||||
|
|
||||||
Возврат Новый Структура("title", МассивДанных);
|
Возврат Новый Структура("title", МассивДанных);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьТекст(Знач Текст)
|
Функция ПреобразоватьТекст(Знач Текст)
|
||||||
|
|
||||||
МассивТекста = Новый Массив;
|
МассивТекста = Новый Массив;
|
||||||
СтруктураТекста = Новый Структура;
|
СтруктураТекста = Новый Структура;
|
||||||
|
|
||||||
СтруктураТекста.Вставить("type", "text");
|
СтруктураТекста.Вставить("type", "text");
|
||||||
СтруктураТекста.Вставить("text", Новый Структура("content", Текст));
|
СтруктураТекста.Вставить("text", Новый Структура("content", Текст));
|
||||||
|
|
||||||
МассивТекста.Добавить(СтруктураТекста);
|
МассивТекста.Добавить(СтруктураТекста);
|
||||||
|
|
||||||
Возврат Новый Структура("rich_text", МассивТекста);
|
Возврат Новый Структура("rich_text", МассивТекста);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьЧисло(Знач Число)
|
Функция ПреобразоватьЧисло(Знач Число)
|
||||||
Возврат Новый Структура("number", Число);
|
Возврат Новый Структура("number", Число);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьВариантВыбора(Знач Вариант)
|
Функция ПреобразоватьВариантВыбора(Знач Вариант)
|
||||||
|
|
||||||
СтруктураВыбора = Новый Структура;
|
СтруктураВыбора = Новый Структура;
|
||||||
СтруктураВыбора.Вставить("select", Новый Структура("name", Вариант));
|
СтруктураВыбора.Вставить("select", Новый Структура("name", Вариант));
|
||||||
|
|
||||||
Возврат СтруктураВыбора;
|
Возврат СтруктураВыбора;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьСтатус(Знач Статус)
|
Функция ПреобразоватьСтатус(Знач Статус)
|
||||||
|
|
||||||
СтруктураСтатуса = Новый Структура;
|
СтруктураСтатуса = Новый Структура;
|
||||||
СтруктураСтатуса.Вставить("status", Новый Структура("name", Статус));
|
СтруктураСтатуса.Вставить("status", Новый Структура("name", Статус));
|
||||||
|
|
||||||
Возврат СтруктураСтатуса;
|
Возврат СтруктураСтатуса;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьМножественныйВыбор(Знач МассивВариантов)
|
Функция ПреобразоватьМножественныйВыбор(Знач МассивВариантов)
|
||||||
|
|
||||||
МассивВариантовВыбора = Новый Массив;
|
МассивВариантовВыбора = Новый Массив;
|
||||||
|
|
||||||
Для Каждого Вариант Из МассивВариантов Цикл
|
Для Каждого Вариант Из МассивВариантов Цикл
|
||||||
МассивВариантовВыбора.Добавить(Новый Структура("name", Вариант));
|
МассивВариантовВыбора.Добавить(Новый Структура("name", Вариант));
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Возврат Новый Структура("multi_select", МассивВариантовВыбора);
|
Возврат Новый Структура("multi_select", МассивВариантовВыбора);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьеДату(Знач Дата)
|
Функция ПреобразоватьДату(Знач Дата)
|
||||||
|
|
||||||
СтруктураДаты = Новый Структура;
|
СтруктураДаты = Новый Структура;
|
||||||
|
|
||||||
Если Дата = НачалоДня(Дата) Тогда
|
Если Дата = НачалоДня(Дата) Тогда
|
||||||
ФорматДаты = "ДФ=yyyy-MM-dd";
|
ФорматДаты = "ДФ=yyyy-MM-dd";
|
||||||
Иначе
|
Иначе
|
||||||
ФорматДаты = "ДФ=yyyy-MM-ddThh:mm:ssZ";
|
ФорматДаты = "ДФ=yyyy-MM-ddThh:mm:ssZ";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Дата = Формат(Дата, ФорматДаты);
|
Дата = Формат(Дата, ФорматДаты);
|
||||||
СтруктураДаты.Вставить("start", Дата);
|
СтруктураДаты.Вставить("start", Дата);
|
||||||
|
|
||||||
Возврат Новый Структура("date", СтруктураДаты);
|
Возврат Новый Структура("date", СтруктураДаты);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьСвязь(Знач Идентификатор)
|
Функция ПреобразоватьСвязь(Знач Идентификатор)
|
||||||
|
|
||||||
МассивСвязи = Новый Массив;
|
МассивСвязи = Новый Массив;
|
||||||
МассивСвязи.Добавить(Новый Структура("id", Идентификатор));
|
МассивСвязи.Добавить(Новый Структура("id", Идентификатор));
|
||||||
|
|
||||||
Возврат Новый Структура("relation", МассивСвязи);
|
Возврат Новый Структура("relation", МассивСвязи);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьПользователей(Знач МассивИД)
|
Функция ПреобразоватьПользователей(Знач МассивИД)
|
||||||
|
|
||||||
Если Не ТипЗнч(МассивИД) = Тип("Массив") Тогда
|
Если Не ТипЗнч(МассивИД) = Тип("Массив") Тогда
|
||||||
МассивИД_ = Новый Массив;
|
МассивИД_ = Новый Массив;
|
||||||
МассивИД_.Добавить(МассивИД);
|
МассивИД_.Добавить(МассивИД);
|
||||||
МассивИД = МассивИД_;
|
МассивИД = МассивИД_;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
МассивПользователей = Новый Массив;
|
МассивПользователей = Новый Массив;
|
||||||
|
|
||||||
Для Каждого Идентификатор Из МассивИД Цикл
|
Для Каждого Идентификатор Из МассивИД Цикл
|
||||||
|
|
||||||
СтруктураПользователя = Новый Структура;
|
СтруктураПользователя = Новый Структура;
|
||||||
СтруктураПользователя.Вставить("object", "user");
|
СтруктураПользователя.Вставить("object", "user");
|
||||||
СтруктураПользователя.Вставить("id" , Идентификатор);
|
СтруктураПользователя.Вставить("id" , Идентификатор);
|
||||||
МассивПользователей.Добавить(СтруктураПользователя);
|
МассивПользователей.Добавить(СтруктураПользователя);
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Возврат Новый Структура("people", МассивПользователей);
|
Возврат Новый Структура("people", МассивПользователей);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьФайлы(Знач СоответствиеФайлов)
|
Функция ПреобразоватьФайлы(Знач СоответствиеФайлов)
|
||||||
|
|
||||||
МассивФайлов = Новый Массив;
|
МассивФайлов = Новый Массив;
|
||||||
|
|
||||||
Для Каждого Файл Из СоответствиеФайлов Цикл
|
Для Каждого Файл Из СоответствиеФайлов Цикл
|
||||||
|
|
||||||
СтруктураФайла = Новый Структура;
|
СтруктураФайла = Новый Структура;
|
||||||
СтруктураФайла.Вставить("type", "external");
|
СтруктураФайла.Вставить("type" , "external");
|
||||||
СтруктураФайла.Вставить("name", Файл.Ключ);
|
СтруктураФайла.Вставить("name" , Файл.Ключ);
|
||||||
СтруктураФайла.Вставить("external", Новый Структура("url", Файл.Значение));
|
СтруктураФайла.Вставить("external", Новый Структура("url", Файл.Значение));
|
||||||
|
|
||||||
МассивФайлов.Добавить(СтруктураФайла);
|
МассивФайлов.Добавить(СтруктураФайла);
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Возврат Новый Структура("files", МассивФайлов);
|
Возврат Новый Структура("files", МассивФайлов);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьБулево(Знач Булево)
|
Функция ПреобразоватьБулево(Знач Булево)
|
||||||
Возврат Новый Структура("checkbox", Булево);
|
Возврат Новый Структура("checkbox", Булево);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьСсылку(Знач URL)
|
Функция ПреобразоватьСсылку(Знач URL)
|
||||||
Возврат Новый Структура("url", URL);
|
Возврат Новый Структура("url", URL);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьПочту(Знач Почта)
|
Функция ПреобразоватьПочту(Знач Почта)
|
||||||
Возврат Новый Структура("email", Почта);
|
Возврат Новый Структура("email", Почта);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПреобразоватьТелефон(Знач Телефон)
|
Функция ПреобразоватьТелефон(Знач Телефон)
|
||||||
Возврат Новый Структура("phone_number", Телефон);
|
Возврат Новый Структура("phone_number", Телефон);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
188
docs/docs/Notion/Работа с базами/Изменить свойства базы.md
Normal file
188
docs/docs/Notion/Работа с базами/Изменить свойства базы.md
Normal file
@@ -0,0 +1,188 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
# Изменить свойства базы
|
||||||
|
Изменяет свойства созданной ранее базы
|
||||||
|
|
||||||
|
|
||||||
|
*Функция ИзменитьСвойстваБазы(Знач Токен, Знач База, Знач Свойства = "", Знач Заголовок = "", Знач Описание = "") Экспорт*
|
||||||
|
|
||||||
|
| Параметр | Тип | Назначение |
|
||||||
|
|-|-|-|
|
||||||
|
| Токен | Строка | Токен интеграции |
|
||||||
|
| База | Строка | ID базы |
|
||||||
|
| Свойства | Соответствие | Ключ - Имя изменяемого свойства, Значение - Тип или неопределено. Если неопределено - свойство удаляется |
|
||||||
|
|
||||||
|
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Notion
|
||||||
|
|
||||||
|
```bsl title="Пример кода"
|
||||||
|
|
||||||
|
Токен = "secret_9RsfMrRMqZwqp0Zl0B...";
|
||||||
|
База = "5dd94c34fab04bff9...";
|
||||||
|
ЗаголовокБазы = "Обновленный заголовок";
|
||||||
|
ОписаниеБазы = "Обновленное описание базы";
|
||||||
|
|
||||||
|
Свойства = Новый Соответствие;
|
||||||
|
Свойства.Вставить("Почта", "rich_text"); //Тип поля "Почта" будет изменен с email на текст
|
||||||
|
Свойства.Вставить("Сайт"); //Поле "Сайт" будет удалено
|
||||||
|
|
||||||
|
Ответ = OPI_Notion.ИзменитьСвойстваБазы(Токен, База, Свойства, ЗаголовокБазы, ОписаниеБазы);
|
||||||
|
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```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"
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
Reference in New Issue
Block a user