mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-02-05 13:25:25 +02:00
B24: Учет рабочего времени
This commit is contained in:
parent
905e4d7871
commit
557a7d1507
File diff suppressed because it is too large
Load Diff
@ -1987,6 +1987,147 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Начать учет времени
|
||||||
|
// Начинает учет времени пользователя
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации API: [timeman.open](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_open.php)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
||||||
|
// Время - Дата - Время начала учета. Дата должна совпадать с текущей. Текущее время по ум. - time
|
||||||
|
// Отчет - Строка - Причина изменения. Обязателен при указании Время и отключенном свободном графике - report
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция НачатьУчетВремени(Знач URL
|
||||||
|
, Знач IDПользователя = ""
|
||||||
|
, Знач Время = ""
|
||||||
|
, Знач Отчет = ""
|
||||||
|
, Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.open");
|
||||||
|
|
||||||
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("TIME" , Время , "ДатаISOZ", Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("REPORT" , Отчет , "Строка" , Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Завершить учет времени
|
||||||
|
// Завершает учет времени пользователя
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации API: [timeman.close](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_close.php)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
||||||
|
// Время - Дата - Время заверш. учета. Дата должна совпадать с текущей. Текущее время по ум. - time
|
||||||
|
// Отчет - Строка - Причина изменения. Обязателен при указании Время и отключенном свободном графике - report
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция ЗавершитьУчетВремени(Знач URL
|
||||||
|
, Знач IDПользователя = ""
|
||||||
|
, Знач Время = ""
|
||||||
|
, Знач Отчет = ""
|
||||||
|
, Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.close");
|
||||||
|
|
||||||
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("TIME" , Время , "ДатаISOZ", Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("REPORT" , Отчет , "Строка" , Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Приостановить учет времени
|
||||||
|
// Приостанавливает учет времени пользователя
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации API: [timeman.pause](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_pause.php)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция ПриостановитьУчетВремени(Знач URL, Знач IDПользователя = "", Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.pause");
|
||||||
|
|
||||||
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Получить статус учета времени
|
||||||
|
// Получает статус учета времени пользователя
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации API: [timeman.status](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_status.php)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция ПолучитьСтатусУчетаВремени(Знач URL, Знач IDПользователя = "", Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.status");
|
||||||
|
|
||||||
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Получить настройки учета времени
|
||||||
|
// Получает настройки учета времени пользователя
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации API: [timeman.settings](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_settings.php)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция ПолучитьНастройкиУчетаВремени(Знач URL, Знач IDПользователя = "", Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.settings");
|
||||||
|
|
||||||
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область РаботаСХранилищами
|
#Область РаботаСХранилищами
|
||||||
|
@ -3055,6 +3055,11 @@
|
|||||||
Bitrix24_ПолучитьСписокТрудозатратЗадачи(ПараметрыТеста);
|
Bitrix24_ПолучитьСписокТрудозатратЗадачи(ПараметрыТеста);
|
||||||
Bitrix24_ИзменитьТрудозатратыЗадачи(ПараметрыТеста);
|
Bitrix24_ИзменитьТрудозатратыЗадачи(ПараметрыТеста);
|
||||||
Bitrix24_УдалитьТрудозатратыЗадачи(ПараметрыТеста);
|
Bitrix24_УдалитьТрудозатратыЗадачи(ПараметрыТеста);
|
||||||
|
Bitrix24_НачатьУчетВремени(ПараметрыТеста);
|
||||||
|
Bitrix24_ПриостановитьУчетВремени(ПараметрыТеста);
|
||||||
|
Bitrix24_ПолучитьСтатусУчетаВремени(ПараметрыТеста);
|
||||||
|
Bitrix24_ЗавершитьУчетВремени(ПараметрыТеста);
|
||||||
|
Bitrix24_ПолучитьНастройкиУчетаВремени(ПараметрыТеста);
|
||||||
|
|
||||||
OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);
|
OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);
|
||||||
|
|
||||||
@ -3896,6 +3901,20 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Проверка_БитриксУчетВремени(Знач Результат)
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["STATUS"]).Заполнено();
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Проверка_БитриксНастройкиУчетаВремени(Знач Результат)
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["UF_TIMEMAN"]).ИмеетТип("Булево");
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область АтомарныеТесты
|
#Область АтомарныеТесты
|
||||||
@ -10035,6 +10054,143 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_НачатьУчетВремени(ПараметрыФункции)
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.НачатьУчетВремени(URL);
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НачатьУчетВремени (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат); // SKIP
|
||||||
|
|
||||||
|
Час = 3600;
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDПользователя = 1;
|
||||||
|
Время = OPI_Инструменты.ПолучитьТекущуюДату() - Час;
|
||||||
|
Отчет = "Опоздание";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.НачатьУчетВремени(URL, IDПользователя, Время, Отчет, );
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НачатьУчетВремени", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_ЗавершитьУчетВремени(ПараметрыФункции)
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ЗавершитьУчетВремени(URL);
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьУчетВремени (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат); // SKIP
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDПользователя = 1;
|
||||||
|
Время = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||||
|
Отчет = "Отгул";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ЗавершитьУчетВремени(URL, IDПользователя, Время, Отчет, );
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьУчетВремени", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_ПриостановитьУчетВремени(ПараметрыФункции)
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПриостановитьУчетВремени(URL);
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПриостановитьУчетВремени (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат); // SKIP
|
||||||
|
|
||||||
|
Час = 3600;
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDПользователя = 1;
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПриостановитьУчетВремени(URL, IDПользователя);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПриостановитьУчетВремени", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_ПолучитьСтатусУчетаВремени(ПараметрыФункции)
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПолучитьСтатусУчетаВремени(URL);
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусУчетаВремени (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат); // SKIP
|
||||||
|
|
||||||
|
Час = 3600;
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDПользователя = 1;
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПолучитьСтатусУчетаВремени(URL, IDПользователя);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусУчетаВремени", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_ПолучитьНастройкиУчетаВремени(ПараметрыФункции)
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПолучитьНастройкиУчетаВремени(URL);
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиУчетаВремени (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксНастройкиУчетаВремени(Результат); // SKIP
|
||||||
|
|
||||||
|
Час = 3600;
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDПользователя = 1;
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПолучитьНастройкиУчетаВремени(URL, IDПользователя);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиУчетаВремени", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксНастройкиУчетаВремени(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область YandexDisk
|
#Область YandexDisk
|
||||||
|
@ -511,6 +511,10 @@
|
|||||||
OPI_ПреобразованиеТипов.ПолучитьДату(Значение);
|
OPI_ПреобразованиеТипов.ПолучитьДату(Значение);
|
||||||
Значение = XMLСтрока(Значение);
|
Значение = XMLСтрока(Значение);
|
||||||
|
|
||||||
|
ИначеЕсли Тип = "ДатаISOZ" Тогда
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьДату(Значение);
|
||||||
|
Значение = XMLСтрока(Значение) + "Z";
|
||||||
|
|
||||||
ИначеЕсли Тип = "Коллекция" Тогда
|
ИначеЕсли Тип = "Коллекция" Тогда
|
||||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Значение);
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Значение);
|
||||||
|
|
||||||
@ -529,7 +533,7 @@
|
|||||||
ИначеЕсли Тип = "Число" Тогда
|
ИначеЕсли Тип = "Число" Тогда
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Значение);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Значение);
|
||||||
|
|
||||||
Иначе
|
ИначеЕсли Не Тип = "Текущий" Тогда
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Значение);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Значение);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
|
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
|
||||||
// Lib: Bitrix24
|
// Lib: Bitrix24
|
||||||
// CLI: bitrix24
|
// CLI: bitrix24
|
||||||
|
|
||||||
@ -1987,6 +1987,147 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Начать учет времени
|
||||||
|
// Начинает учет времени пользователя
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации API: [timeman.open](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_open.php)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
||||||
|
// Время - Дата - Время начала учета. Дата должна совпадать с текущей. Текущее время по ум. - time
|
||||||
|
// Отчет - Строка - Причина изменения. Обязателен при указании Время и отключенном свободном графике - report
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция НачатьУчетВремени(Знач URL
|
||||||
|
, Знач IDПользователя = ""
|
||||||
|
, Знач Время = ""
|
||||||
|
, Знач Отчет = ""
|
||||||
|
, Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.open");
|
||||||
|
|
||||||
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("TIME" , Время , "ДатаISOZ", Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("REPORT" , Отчет , "Строка" , Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Завершить учет времени
|
||||||
|
// Завершает учет времени пользователя
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации API: [timeman.close](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_close.php)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
||||||
|
// Время - Дата - Время заверш. учета. Дата должна совпадать с текущей. Текущее время по ум. - time
|
||||||
|
// Отчет - Строка - Причина изменения. Обязателен при указании Время и отключенном свободном графике - report
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция ЗавершитьУчетВремени(Знач URL
|
||||||
|
, Знач IDПользователя = ""
|
||||||
|
, Знач Время = ""
|
||||||
|
, Знач Отчет = ""
|
||||||
|
, Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.close");
|
||||||
|
|
||||||
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("TIME" , Время , "ДатаISOZ", Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("REPORT" , Отчет , "Строка" , Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Приостановить учет времени
|
||||||
|
// Приостанавливает учет времени пользователя
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации API: [timeman.pause](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_pause.php)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция ПриостановитьУчетВремени(Знач URL, Знач IDПользователя = "", Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.pause");
|
||||||
|
|
||||||
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Получить статус учета времени
|
||||||
|
// Получает статус учета времени пользователя
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации API: [timeman.status](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_status.php)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция ПолучитьСтатусУчетаВремени(Знач URL, Знач IDПользователя = "", Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.status");
|
||||||
|
|
||||||
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Получить настройки учета времени
|
||||||
|
// Получает настройки учета времени пользователя
|
||||||
|
//
|
||||||
|
// Примечание:
|
||||||
|
// Метод в документации API: [timeman.settings](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_settings.php)
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция ПолучитьНастройкиУчетаВремени(Знач URL, Знач IDПользователя = "", Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.settings");
|
||||||
|
|
||||||
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область РаботаСХранилищами
|
#Область РаботаСХранилищами
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
|
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
|
||||||
|
|
||||||
// MIT License
|
// MIT License
|
||||||
|
|
||||||
@ -511,6 +511,10 @@
|
|||||||
OPI_ПреобразованиеТипов.ПолучитьДату(Значение);
|
OPI_ПреобразованиеТипов.ПолучитьДату(Значение);
|
||||||
Значение = XMLСтрока(Значение);
|
Значение = XMLСтрока(Значение);
|
||||||
|
|
||||||
|
ИначеЕсли Тип = "ДатаISOZ" Тогда
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьДату(Значение);
|
||||||
|
Значение = XMLСтрока(Значение) + "Z";
|
||||||
|
|
||||||
ИначеЕсли Тип = "Коллекция" Тогда
|
ИначеЕсли Тип = "Коллекция" Тогда
|
||||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Значение);
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Значение);
|
||||||
|
|
||||||
@ -529,7 +533,7 @@
|
|||||||
ИначеЕсли Тип = "Число" Тогда
|
ИначеЕсли Тип = "Число" Тогда
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Значение);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Значение);
|
||||||
|
|
||||||
Иначе
|
ИначеЕсли Не Тип = "Текущий" Тогда
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Значение);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Значение);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||||
|
|
||||||
// MIT License
|
// MIT License
|
||||||
|
|
||||||
@ -3055,6 +3055,11 @@
|
|||||||
Bitrix24_ПолучитьСписокТрудозатратЗадачи(ПараметрыТеста);
|
Bitrix24_ПолучитьСписокТрудозатратЗадачи(ПараметрыТеста);
|
||||||
Bitrix24_ИзменитьТрудозатратыЗадачи(ПараметрыТеста);
|
Bitrix24_ИзменитьТрудозатратыЗадачи(ПараметрыТеста);
|
||||||
Bitrix24_УдалитьТрудозатратыЗадачи(ПараметрыТеста);
|
Bitrix24_УдалитьТрудозатратыЗадачи(ПараметрыТеста);
|
||||||
|
Bitrix24_НачатьУчетВремени(ПараметрыТеста);
|
||||||
|
Bitrix24_ПриостановитьУчетВремени(ПараметрыТеста);
|
||||||
|
Bitrix24_ПолучитьСтатусУчетаВремени(ПараметрыТеста);
|
||||||
|
Bitrix24_ЗавершитьУчетВремени(ПараметрыТеста);
|
||||||
|
Bitrix24_ПолучитьНастройкиУчетаВремени(ПараметрыТеста);
|
||||||
|
|
||||||
OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);
|
OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);
|
||||||
|
|
||||||
@ -3896,6 +3901,20 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Проверка_БитриксУчетВремени(Знач Результат)
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["STATUS"]).Заполнено();
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Проверка_БитриксНастройкиУчетаВремени(Знач Результат)
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["UF_TIMEMAN"]).ИмеетТип("Булево");
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область АтомарныеТесты
|
#Область АтомарныеТесты
|
||||||
@ -10035,6 +10054,143 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_НачатьУчетВремени(ПараметрыФункции)
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.НачатьУчетВремени(URL);
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НачатьУчетВремени (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат); // SKIP
|
||||||
|
|
||||||
|
Час = 3600;
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDПользователя = 1;
|
||||||
|
Время = OPI_Инструменты.ПолучитьТекущуюДату() - Час;
|
||||||
|
Отчет = "Опоздание";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.НачатьУчетВремени(URL, IDПользователя, Время, Отчет, );
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НачатьУчетВремени", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_ЗавершитьУчетВремени(ПараметрыФункции)
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ЗавершитьУчетВремени(URL);
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьУчетВремени (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат); // SKIP
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDПользователя = 1;
|
||||||
|
Время = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||||
|
Отчет = "Отгул";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ЗавершитьУчетВремени(URL, IDПользователя, Время, Отчет, );
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьУчетВремени", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_ПриостановитьУчетВремени(ПараметрыФункции)
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПриостановитьУчетВремени(URL);
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПриостановитьУчетВремени (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат); // SKIP
|
||||||
|
|
||||||
|
Час = 3600;
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDПользователя = 1;
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПриостановитьУчетВремени(URL, IDПользователя);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПриостановитьУчетВремени", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_ПолучитьСтатусУчетаВремени(ПараметрыФункции)
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПолучитьСтатусУчетаВремени(URL);
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусУчетаВремени (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат); // SKIP
|
||||||
|
|
||||||
|
Час = 3600;
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDПользователя = 1;
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПолучитьСтатусУчетаВремени(URL, IDПользователя);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусУчетаВремени", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксУчетВремени(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_ПолучитьНастройкиУчетаВремени(ПараметрыФункции)
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПолучитьНастройкиУчетаВремени(URL);
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиУчетаВремени (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксНастройкиУчетаВремени(Результат); // SKIP
|
||||||
|
|
||||||
|
Час = 3600;
|
||||||
|
|
||||||
|
//URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDПользователя = 1;
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПолучитьНастройкиУчетаВремени(URL, IDПользователя);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиУчетаВремени", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксНастройкиУчетаВремени(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область YandexDisk
|
#Область YandexDisk
|
||||||
|
Loading…
x
Reference in New Issue
Block a user