1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-13 20:05:19 +02:00

Преобразование OPI -> OInt (workflow)

This commit is contained in:
Vitaly the Alpaca
2024-07-30 08:17:56 +00:00
committed by Vitaly the Alpaca (bot)
parent 557a7d1507
commit 3989533634
17 changed files with 5933 additions and 4667 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1987,6 +1987,147 @@ Function UpdateTaskTimeAccounting(Val URL
EndFunction
// Start timekeeping
// Starts user timekeeping
//
// Note
// Method at API documentation: [timeman.open](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_open.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// UserID - String, Number - Users ID. Current by default - userid
// Time - Date - Start time. The date must match the current. Current time by default. - time
// Report - String - Reason for change. Required when Time is specified and free schedule is disabled - report
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function StartTimekeeping(Val URL
, Val UserID = ""
, Val Time = ""
, Val Report = ""
, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "timeman.open");
OPI_Tools.AddField("USER_ID", UserID , "String" , Parameters);
OPI_Tools.AddField("TIME" , Time , "DateISOZ", Parameters);
OPI_Tools.AddField("REPORT" , Report , "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Stop timekeeping
// Stops user timekeeping
//
// Note
// Method at API documentation: [timeman.close](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_close.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// UserID - String, Number - Users ID. Current by default - userid
// Time - Date - Stop time. The date must match the current. Current time by default. - time
// Report - String - Reason for change. Required when Time is specified and free schedule is disabled - report
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function StopTimekeeping(Val URL
, Val UserID = ""
, Val Time = ""
, Val Report = ""
, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "timeman.close");
OPI_Tools.AddField("USER_ID", UserID , "String" , Parameters);
OPI_Tools.AddField("TIME" , Time , "DateISOZ", Parameters);
OPI_Tools.AddField("REPORT" , Report , "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Stop timekeeping
// Pauses user timekeeping
//
// Note
// Method at API documentation: [timeman.pause](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_pause.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// UserID - String, Number - Users ID. Current by default - userid
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function PauseTimekeeping(Val URL, Val UserID = "", Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "timeman.pause");
OPI_Tools.AddField("USER_ID", UserID, "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get timekeeping status
// Gets user timekeeping status
//
// Note
// Method at API documentation: [timeman.status](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_status.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// UserID - String, Number - Users ID. Current by default - userid
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTimekeepingStatus(Val URL, Val UserID = "", Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "timeman.status");
OPI_Tools.AddField("USER_ID", UserID, "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get timekeeping settings
// Gets user timekeeping settings
//
// Note
// Method at API documentation: [timeman.settings](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_settings.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// UserID - String, Number - Users ID. Current by default - userid
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTimekeepingSettings(Val URL, Val UserID = "", Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "timeman.settings");
OPI_Tools.AddField("USER_ID", UserID, "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
#EndRegion
#Region StoragesManagment
@@ -3853,6 +3994,31 @@ Function ChangeUserStatus(Val URL, Val UserID, Val Fire = True, Val Token = "")
EndFunction
// Find users
// Gets the list of users according to the specified filter
//
// Note
// Method at API documentation: [user.update](@dev.1c-bitrix.ru/rest_help/users/user_update.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// FilterStructure - Structure of KeyAndValue - Filter. See GetUserFilterStructure - filter
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function FindUsers(Val URL, Val FilterStructure, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "user.search");
OPI_Tools.AddField("FILTER", FilterStructure, "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get user fields structure
// Gets the field structure for creating or modifying user information
//
@@ -3875,6 +4041,36 @@ Function GetUserFieldsStructure(Val URL, Val Token = "") Export
EndFunction
// Get user filter structure
// Returns the field structure for filtering users in the FindUsers method
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of KeyAndValue - Fields structure
Function GetUserFilterStructure(Val Clear = False) Export
OPI_TypeConversion.GetBoolean(Clear);
FilterStructure = New Structure;
FilterStructure.Insert("NAME" , "<name>");
FilterStructure.Insert("LAST_NAME" , "<surname>");
FilterStructure.Insert("WORK_POSITION" , "<position>");
FilterStructure.Insert("UF_DEPARTMENT_NAME", "<name department>");
FilterStructure.Insert("USER_TYPE" , "<type employee, extranet, email>");
If Clear Then
For Each Filter In FilterStructure Do
Filter.Value = "";
EndDo;
EndIf;
//@skip-check constructor-function-return-section
Return FilterStructure;
EndFunction
#EndRegion
#EndRegion

View File

@@ -3055,6 +3055,11 @@ Procedure B24_Timekeeping() Export
Bitrix24_GetTaskTimeAccountingList(TestParameters);
Bitrix24_UpdateTaskTimeAccounting(TestParameters);
Bitrix24_DeleteTaskTimeAccounting(TestParameters);
Bitrix24_StartTimekeeping(TestParameters);
Bitrix24_PauseTimekeeping(TestParameters);
Bitrix24_GetTimekeepingStatus(TestParameters);
Bitrix24_StopTimekeeping(TestParameters);
Bitrix24_GetTimekeepingSettings(TestParameters);
OPI_Bitrix24.DeleteTask(URL, TaskID);
@@ -3213,6 +3218,7 @@ Procedure B2_UsersManagment() Export
Bitrix24_GetCurrentUser(TestParameters);
Bitrix24_GetUserFieldsStructure(TestParameters);
Bitrix24_CreateUser(TestParameters);
Bitrix24_FindUsers(TestParameters);
Bitrix24_UpdateUser(TestParameters);
Bitrix24_GetUser(TestParameters);
Bitrix24_ChangeUserStatus(TestParameters);
@@ -3895,6 +3901,20 @@ Procedure Check_BitrixFileMessage(Val Result)
EndProcedure
Procedure Check_BitrixTimekeeping(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["STATUS"]).Заполнено();
EndProcedure
Procedure Check_BitrixTimekeepingSettings(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["UF_TIMEMAN"]).ИмеетТип("Boolean");
EndProcedure
#EndRegion
#Region AtomicTests
@@ -10001,6 +10021,176 @@ Procedure Bitrix24_GetUser(FunctionParameters)
EndProcedure
Procedure Bitrix24_FindUsers(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
FilterStructure = New Structure;
FilterStructure.Insert("NAME" , "Vitaly");
FilterStructure.Insert("LAST_NAME" , "Alpaca");
FilterStructure.Insert("WORK_POSITION" , "DevOps engineer");
FilterStructure.Insert("UF_DEPARTMENT_NAME", "Marketing department");
FilterStructure.Insert("USER_TYPE" , "employee");
Result = OPI_Bitrix24.FindUsers(URL, FilterStructure);
OPI_TestDataRetrieval.WriteLog(Result, "FindUsers (wh)", "Bitrix24");
Check_BitrixArray(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
FilterStructure = New Structure;
FilterStructure.Insert("UF_DEPARTMENT_NAME", "Bitrix");
Result = OPI_Bitrix24.FindUsers(URL, FilterStructure, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "FindUsers", "Bitrix24");
Check_BitrixArray(Result);
EndProcedure
Procedure Bitrix24_StartTimekeeping(FunctionParameters)
//URL = FunctionParameters["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Result = OPI_Bitrix24.StartTimekeeping(URL);
OPI_TestDataRetrieval.WriteLog(Result, "StartTimekeeping (wh)", "Bitrix24");
Check_BitrixTimekeeping(Result); // SKIP
Hour = 3600;
//URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
UserID = 1;
Time = OPI_Tools.GetCurrentDate() - Hour;
Report = "Late";
Result = OPI_Bitrix24.StartTimekeeping(URL, UserID, Time, Report, );
// END
OPI_TestDataRetrieval.WriteLog(Result, "StartTimekeeping", "Bitrix24");
Check_BitrixTimekeeping(Result);
EndProcedure
Procedure Bitrix24_StopTimekeeping(FunctionParameters)
//URL = FunctionParameters["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Result = OPI_Bitrix24.StopTimekeeping(URL);
OPI_TestDataRetrieval.WriteLog(Result, "StopTimekeeping (wh)", "Bitrix24");
Check_BitrixTimekeeping(Result); // SKIP
//URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
UserID = 1;
Time = OPI_Tools.GetCurrentDate();
Report = "Time off";
Result = OPI_Bitrix24.StopTimekeeping(URL, UserID, Time, Report, );
// END
OPI_TestDataRetrieval.WriteLog(Result, "StopTimekeeping", "Bitrix24");
Check_BitrixTimekeeping(Result);
EndProcedure
Procedure Bitrix24_PauseTimekeeping(FunctionParameters)
//URL = FunctionParameters["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Result = OPI_Bitrix24.PauseTimekeeping(URL);
OPI_TestDataRetrieval.WriteLog(Result, "StopTimekeeping (wh)", "Bitrix24");
Check_BitrixTimekeeping(Result); // SKIP
Hour = 3600;
//URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
UserID = 1;
Result = OPI_Bitrix24.PauseTimekeeping(URL, UserID);
// END
OPI_TestDataRetrieval.WriteLog(Result, "PauseTimekeeping", "Bitrix24");
Check_BitrixTimekeeping(Result);
EndProcedure
Procedure Bitrix24_GetTimekeepingStatus(FunctionParameters)
//URL = FunctionParameters["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Result = OPI_Bitrix24.GetTimekeepingStatus(URL);
OPI_TestDataRetrieval.WriteLog(Result, "GetTimekeepingStatus (wh)", "Bitrix24");
Check_BitrixTimekeeping(Result); // SKIP
Hour = 3600;
//URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
UserID = 1;
Result = OPI_Bitrix24.GetTimekeepingStatus(URL, UserID);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetTimekeepingStatus", "Bitrix24");
Check_BitrixTimekeeping(Result);
EndProcedure
Procedure Bitrix24_GetTimekeepingSettings(FunctionParameters)
//URL = FunctionParameters["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Result = OPI_Bitrix24.GetTimekeepingSettings(URL);
OPI_TestDataRetrieval.WriteLog(Result, "GetTimekeepingSettings (wh)", "Bitrix24");
Check_BitrixTimekeepingSettings(Result); // SKIP
Hour = 3600;
//URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
UserID = 1;
Result = OPI_Bitrix24.GetTimekeepingSettings(URL, UserID);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetTimekeepingSettings", "Bitrix24");
Check_BitrixTimekeepingSettings(Result);
EndProcedure
#EndRegion
#Region YandexDisk

View File

@@ -511,6 +511,10 @@ Procedure AddField(Val Name, Val Value, Val Type, Collection) Export
OPI_TypeConversion.GetDate(Value);
Value = XMLString(Value);
ElsIf Type = "DateISOZ" Then
OPI_TypeConversion.GetDate(Value);
Value = XMLString(Value) + "Z";
ElsIf Type = "Collection" Then
OPI_TypeConversion.GetCollection(Value);
@@ -529,7 +533,7 @@ Procedure AddField(Val Name, Val Value, Val Type, Collection) Export
ElsIf Type = "Number" Then
OPI_TypeConversion.GetNumber(Value);
Else
ElsIf Not Type = "Current" Then
OPI_TypeConversion.GetLine(Value);
EndIf;

View File

@@ -1987,6 +1987,147 @@ Function UpdateTaskTimeAccounting(Val URL
EndFunction
// Start timekeeping
// Starts user timekeeping
//
// Note
// Method at API documentation: [timeman.open](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_open.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// UserID - String, Number - Users ID. Current by default - userid
// Time - Date - Start time. The date must match the current. Current time by default. - time
// Report - String - Reason for change. Required when Time is specified and free schedule is disabled - report
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function StartTimekeeping(Val URL
, Val UserID = ""
, Val Time = ""
, Val Report = ""
, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "timeman.open");
OPI_Tools.AddField("USER_ID", UserID , "String" , Parameters);
OPI_Tools.AddField("TIME" , Time , "DateISOZ", Parameters);
OPI_Tools.AddField("REPORT" , Report , "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Stop timekeeping
// Stops user timekeeping
//
// Note
// Method at API documentation: [timeman.close](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_close.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// UserID - String, Number - Users ID. Current by default - userid
// Time - Date - Stop time. The date must match the current. Current time by default. - time
// Report - String - Reason for change. Required when Time is specified and free schedule is disabled - report
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function StopTimekeeping(Val URL
, Val UserID = ""
, Val Time = ""
, Val Report = ""
, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "timeman.close");
OPI_Tools.AddField("USER_ID", UserID , "String" , Parameters);
OPI_Tools.AddField("TIME" , Time , "DateISOZ", Parameters);
OPI_Tools.AddField("REPORT" , Report , "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Stop timekeeping
// Pauses user timekeeping
//
// Note
// Method at API documentation: [timeman.pause](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_pause.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// UserID - String, Number - Users ID. Current by default - userid
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function PauseTimekeeping(Val URL, Val UserID = "", Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "timeman.pause");
OPI_Tools.AddField("USER_ID", UserID, "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get timekeeping status
// Gets user timekeeping status
//
// Note
// Method at API documentation: [timeman.status](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_status.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// UserID - String, Number - Users ID. Current by default - userid
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTimekeepingStatus(Val URL, Val UserID = "", Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "timeman.status");
OPI_Tools.AddField("USER_ID", UserID, "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get timekeeping settings
// Gets user timekeeping settings
//
// Note
// Method at API documentation: [timeman.settings](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_settings.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// UserID - String, Number - Users ID. Current by default - userid
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTimekeepingSettings(Val URL, Val UserID = "", Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "timeman.settings");
OPI_Tools.AddField("USER_ID", UserID, "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
#EndRegion
#Region StoragesManagment
@@ -3853,6 +3994,31 @@ Function ChangeUserStatus(Val URL, Val UserID, Val Fire = True, Val Token = "")
EndFunction
// Find users
// Gets the list of users according to the specified filter
//
// Note
// Method at API documentation: [user.update](@dev.1c-bitrix.ru/rest_help/users/user_update.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// FilterStructure - Structure of KeyAndValue - Filter. See GetUserFilterStructure - filter
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function FindUsers(Val URL, Val FilterStructure, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "user.search");
OPI_Tools.AddField("FILTER", FilterStructure, "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get user fields structure
// Gets the field structure for creating or modifying user information
//
@@ -3875,6 +4041,36 @@ Function GetUserFieldsStructure(Val URL, Val Token = "") Export
EndFunction
// Get user filter structure
// Returns the field structure for filtering users in the FindUsers method
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of KeyAndValue - Fields structure
Function GetUserFilterStructure(Val Clear = False) Export
OPI_TypeConversion.GetBoolean(Clear);
FilterStructure = New Structure;
FilterStructure.Insert("NAME" , "<name>");
FilterStructure.Insert("LAST_NAME" , "<surname>");
FilterStructure.Insert("WORK_POSITION" , "<position>");
FilterStructure.Insert("UF_DEPARTMENT_NAME", "<name department>");
FilterStructure.Insert("USER_TYPE" , "<type employee, extranet, email>");
If Clear Then
For Each Filter In FilterStructure Do
Filter.Value = "";
EndDo;
EndIf;
//@skip-check constructor-function-return-section
Return FilterStructure;
EndFunction
#EndRegion
#EndRegion

View File

@@ -3055,6 +3055,11 @@ Procedure B24_Timekeeping() Export
Bitrix24_GetTaskTimeAccountingList(TestParameters);
Bitrix24_UpdateTaskTimeAccounting(TestParameters);
Bitrix24_DeleteTaskTimeAccounting(TestParameters);
Bitrix24_StartTimekeeping(TestParameters);
Bitrix24_PauseTimekeeping(TestParameters);
Bitrix24_GetTimekeepingStatus(TestParameters);
Bitrix24_StopTimekeeping(TestParameters);
Bitrix24_GetTimekeepingSettings(TestParameters);
OPI_Bitrix24.DeleteTask(URL, TaskID);
@@ -3213,6 +3218,7 @@ Procedure B2_UsersManagment() Export
Bitrix24_GetCurrentUser(TestParameters);
Bitrix24_GetUserFieldsStructure(TestParameters);
Bitrix24_CreateUser(TestParameters);
Bitrix24_FindUsers(TestParameters);
Bitrix24_UpdateUser(TestParameters);
Bitrix24_GetUser(TestParameters);
Bitrix24_ChangeUserStatus(TestParameters);
@@ -3895,6 +3901,20 @@ Procedure Check_BitrixFileMessage(Val Result)
EndProcedure
Procedure Check_BitrixTimekeeping(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["STATUS"]).Заполнено();
EndProcedure
Procedure Check_BitrixTimekeepingSettings(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["UF_TIMEMAN"]).ИмеетТип("Boolean");
EndProcedure
#EndRegion
#Region AtomicTests
@@ -10001,6 +10021,176 @@ Procedure Bitrix24_GetUser(FunctionParameters)
EndProcedure
Procedure Bitrix24_FindUsers(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
FilterStructure = New Structure;
FilterStructure.Insert("NAME" , "Vitaly");
FilterStructure.Insert("LAST_NAME" , "Alpaca");
FilterStructure.Insert("WORK_POSITION" , "DevOps engineer");
FilterStructure.Insert("UF_DEPARTMENT_NAME", "Marketing department");
FilterStructure.Insert("USER_TYPE" , "employee");
Result = OPI_Bitrix24.FindUsers(URL, FilterStructure);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "FindUsers (wh)", "Bitrix24");
Check_BitrixArray(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
FilterStructure = New Structure;
FilterStructure.Insert("UF_DEPARTMENT_NAME", "Bitrix");
Result = OPI_Bitrix24.FindUsers(URL, FilterStructure, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "FindUsers", "Bitrix24");
Check_BitrixArray(Result);
EndProcedure
Procedure Bitrix24_StartTimekeeping(FunctionParameters)
//URL = FunctionParameters["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Result = OPI_Bitrix24.StartTimekeeping(URL);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "StartTimekeeping (wh)", "Bitrix24");
Check_BitrixTimekeeping(Result); // SKIP
Hour = 3600;
//URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
UserID = 1;
Time = OPI_Tools.GetCurrentDate() - Hour;
Report = "Late";
Result = OPI_Bitrix24.StartTimekeeping(URL, UserID, Time, Report, );
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "StartTimekeeping", "Bitrix24");
Check_BitrixTimekeeping(Result);
EndProcedure
Procedure Bitrix24_StopTimekeeping(FunctionParameters)
//URL = FunctionParameters["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Result = OPI_Bitrix24.StopTimekeeping(URL);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "StopTimekeeping (wh)", "Bitrix24");
Check_BitrixTimekeeping(Result); // SKIP
//URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
UserID = 1;
Time = OPI_Tools.GetCurrentDate();
Report = "Time off";
Result = OPI_Bitrix24.StopTimekeeping(URL, UserID, Time, Report, );
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "StopTimekeeping", "Bitrix24");
Check_BitrixTimekeeping(Result);
EndProcedure
Procedure Bitrix24_PauseTimekeeping(FunctionParameters)
//URL = FunctionParameters["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Result = OPI_Bitrix24.PauseTimekeeping(URL);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "StopTimekeeping (wh)", "Bitrix24");
Check_BitrixTimekeeping(Result); // SKIP
Hour = 3600;
//URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
UserID = 1;
Result = OPI_Bitrix24.PauseTimekeeping(URL, UserID);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "PauseTimekeeping", "Bitrix24");
Check_BitrixTimekeeping(Result);
EndProcedure
Procedure Bitrix24_GetTimekeepingStatus(FunctionParameters)
//URL = FunctionParameters["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Result = OPI_Bitrix24.GetTimekeepingStatus(URL);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetTimekeepingStatus (wh)", "Bitrix24");
Check_BitrixTimekeeping(Result); // SKIP
Hour = 3600;
//URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
UserID = 1;
Result = OPI_Bitrix24.GetTimekeepingStatus(URL, UserID);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetTimekeepingStatus", "Bitrix24");
Check_BitrixTimekeeping(Result);
EndProcedure
Procedure Bitrix24_GetTimekeepingSettings(FunctionParameters)
//URL = FunctionParameters["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Result = OPI_Bitrix24.GetTimekeepingSettings(URL);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetTimekeepingSettings (wh)", "Bitrix24");
Check_BitrixTimekeepingSettings(Result); // SKIP
Hour = 3600;
//URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
UserID = 1;
Result = OPI_Bitrix24.GetTimekeepingSettings(URL, UserID);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetTimekeepingSettings", "Bitrix24");
Check_BitrixTimekeepingSettings(Result);
EndProcedure
#EndRegion
#Region YandexDisk

View File

@@ -511,6 +511,10 @@ Procedure AddField(Val Name, Val Value, Val Type, Collection) Export
OPI_TypeConversion.GetDate(Value);
Value = XMLString(Value);
ElsIf Type = "DateISOZ" Then
OPI_TypeConversion.GetDate(Value);
Value = XMLString(Value) + "Z";
ElsIf Type = "Collection" Then
OPI_TypeConversion.GetCollection(Value);
@@ -529,7 +533,7 @@ Procedure AddField(Val Name, Val Value, Val Type, Collection) Export
ElsIf Type = "Number" Then
OPI_TypeConversion.GetNumber(Value);
Else
ElsIf Not Type = "Current" Then
OPI_TypeConversion.GetLine(Value);
EndIf;

View File

@@ -2689,6 +2689,201 @@
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "StartTimekeeping";
NewLine.МетодПоиска = "STARTTIMEKEEPING";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Timekeeping";
NewLine.ОписаниеМетода = "Starts user timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "StartTimekeeping";
NewLine.МетодПоиска = "STARTTIMEKEEPING";
NewLine.Параметр = "--userid";
NewLine.Описание = "Users ID. Current by default (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "StartTimekeeping";
NewLine.МетодПоиска = "STARTTIMEKEEPING";
NewLine.Параметр = "--time";
NewLine.Описание = "Start time. The date must match the current. Current time by default. (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "StartTimekeeping";
NewLine.МетодПоиска = "STARTTIMEKEEPING";
NewLine.Параметр = "--report";
NewLine.Описание = "Reason for change. Required when Time is specified and free schedule is disabled (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "StartTimekeeping";
NewLine.МетодПоиска = "STARTTIMEKEEPING";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "StopTimekeeping";
NewLine.МетодПоиска = "STOPTIMEKEEPING";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Timekeeping";
NewLine.ОписаниеМетода = "Stops user timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "StopTimekeeping";
NewLine.МетодПоиска = "STOPTIMEKEEPING";
NewLine.Параметр = "--userid";
NewLine.Описание = "Users ID. Current by default (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "StopTimekeeping";
NewLine.МетодПоиска = "STOPTIMEKEEPING";
NewLine.Параметр = "--time";
NewLine.Описание = "Stop time. The date must match the current. Current time by default. (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "StopTimekeeping";
NewLine.МетодПоиска = "STOPTIMEKEEPING";
NewLine.Параметр = "--report";
NewLine.Описание = "Reason for change. Required when Time is specified and free schedule is disabled (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "StopTimekeeping";
NewLine.МетодПоиска = "STOPTIMEKEEPING";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "PauseTimekeeping";
NewLine.МетодПоиска = "PAUSETIMEKEEPING";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Timekeeping";
NewLine.ОписаниеМетода = "Pauses user timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "PauseTimekeeping";
NewLine.МетодПоиска = "PAUSETIMEKEEPING";
NewLine.Параметр = "--userid";
NewLine.Описание = "Users ID. Current by default (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "PauseTimekeeping";
NewLine.МетодПоиска = "PAUSETIMEKEEPING";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTimekeepingStatus";
NewLine.МетодПоиска = "GETTIMEKEEPINGSTATUS";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Timekeeping";
NewLine.ОписаниеМетода = "Gets user timekeeping status";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTimekeepingStatus";
NewLine.МетодПоиска = "GETTIMEKEEPINGSTATUS";
NewLine.Параметр = "--userid";
NewLine.Описание = "Users ID. Current by default (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTimekeepingStatus";
NewLine.МетодПоиска = "GETTIMEKEEPINGSTATUS";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTimekeepingSettings";
NewLine.МетодПоиска = "GETTIMEKEEPINGSETTINGS";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Timekeeping";
NewLine.ОписаниеМетода = "Gets user timekeeping settings";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTimekeepingSettings";
NewLine.МетодПоиска = "GETTIMEKEEPINGSETTINGS";
NewLine.Параметр = "--userid";
NewLine.Описание = "Users ID. Current by default (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTimekeepingSettings";
NewLine.МетодПоиска = "GETTIMEKEEPINGSETTINGS";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
@@ -5218,6 +5413,37 @@
NewLine.Область = "Users managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "FindUsers";
NewLine.МетодПоиска = "FINDUSERS";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Users managment";
NewLine.ОписаниеМетода = "Gets the list of users according to the specified filter";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "FindUsers";
NewLine.МетодПоиска = "FINDUSERS";
NewLine.Параметр = "--filter";
NewLine.Описание = "Filter. See GetUserFilterStructure";
NewLine.Область = "Users managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "FindUsers";
NewLine.МетодПоиска = "FINDUSERS";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Users managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
@@ -5238,6 +5464,17 @@
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Users managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetUserFilterStructure";
NewLine.МетодПоиска = "GETUSERFILTERSTRUCTURE";
NewLine.Параметр = "--empty";
NewLine.Описание = "True > structure with empty valuse, False > field descriptions at values (optional, def. val. - False)";
NewLine.Область = "Users managment";
NewLine.ОписаниеМетода = "Returns the field structure for filtering users in the FindUsers method";
Return CompositionTable;
EndFunction

View File

@@ -2003,10 +2003,10 @@
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция НачатьУчетВремени(Знач URL
, Знач IDПользователя = ""
, Знач Время = ""
, Знач Отчет = ""
, Знач Токен = "") Экспорт
, Знач IDПользователя = ""
, Знач Время = ""
, Знач Отчет = ""
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.open");
@@ -2036,10 +2036,10 @@
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ЗавершитьУчетВремени(Знач URL
, Знач IDПользователя = ""
, Знач Время = ""
, Знач Отчет = ""
, Знач Токен = "") Экспорт
, Знач IDПользователя = ""
, Знач Время = ""
, Знач Отчет = ""
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.close");

View File

@@ -1,21 +1,21 @@
<package-def>
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
</package-def>

View File

@@ -3903,14 +3903,14 @@
Процедура Проверка_БитриксУчетВремени(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["STATUS"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксНастройкиУчетаВремени(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["UF_TIMEMAN"]).ИмеетТип("Булево");
КонецПроцедуры
@@ -10065,7 +10065,7 @@
Проверка_БитриксУчетВремени(Результат); // SKIP
Час = 3600;
Час = 3600;
//URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
@@ -10121,7 +10121,7 @@
Проверка_БитриксУчетВремени(Результат); // SKIP
Час = 3600;
Час = 3600;
//URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
@@ -10148,7 +10148,7 @@
Проверка_БитриксУчетВремени(Результат); // SKIP
Час = 3600;
Час = 3600;
//URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
@@ -10175,7 +10175,7 @@
Проверка_БитриксНастройкиУчетаВремени(Результат); // SKIP
Час = 3600;
Час = 3600;
//URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];

View File

@@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
// Lib: Bitrix24
// CLI: bitrix24
@@ -2003,10 +2003,10 @@
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция НачатьУчетВремени(Знач URL
, Знач IDПользователя = ""
, Знач Время = ""
, Знач Отчет = ""
, Знач Токен = "") Экспорт
, Знач IDПользователя = ""
, Знач Время = ""
, Знач Отчет = ""
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.open");
@@ -2036,10 +2036,10 @@
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ЗавершитьУчетВремени(Знач URL
, Знач IDПользователя = ""
, Знач Время = ""
, Знач Отчет = ""
, Знач Токен = "") Экспорт
, Знач IDПользователя = ""
, Знач Время = ""
, Знач Отчет = ""
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.close");

View File

@@ -1,4 +1,4 @@
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
// MIT License

View File

@@ -1,4 +1,4 @@
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// MIT License
@@ -3903,14 +3903,14 @@
Процедура Проверка_БитриксУчетВремени(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["STATUS"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксНастройкиУчетаВремени(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["UF_TIMEMAN"]).ИмеетТип("Булево");
КонецПроцедуры
@@ -10065,7 +10065,7 @@
Проверка_БитриксУчетВремени(Результат); // SKIP
Час = 3600;
Час = 3600;
//URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
@@ -10121,7 +10121,7 @@
Проверка_БитриксУчетВремени(Результат); // SKIP
Час = 3600;
Час = 3600;
//URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
@@ -10148,7 +10148,7 @@
Проверка_БитриксУчетВремени(Результат); // SKIP
Час = 3600;
Час = 3600;
//URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
@@ -10175,7 +10175,7 @@
Проверка_БитриксНастройкиУчетаВремени(Результат); // SKIP
Час = 3600;
Час = 3600;
//URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];

View File

@@ -2693,6 +2693,213 @@
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "НачатьУчетВремени";
НоваяСтрока.МетодПоиска = "НАЧАТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока.ОписаниеМетода = "Начинает учет времени пользователя
|
| Дата указывается в формате ISO 8601:
| ""2024-04-07""
| ""2024-04-07T13:34:42+00:00""
| ""2024-04-07T13:34:42Z""
|";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "НачатьУчетВремени";
НоваяСтрока.МетодПоиска = "НАЧАТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--userid";
НоваяСтрока.Описание = "ID пользователя для учета. Текущий по умолчанию (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "НачатьУчетВремени";
НоваяСтрока.МетодПоиска = "НАЧАТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--time";
НоваяСтрока.Описание = "Время начала учета. Дата должна совпадать с текущей. Текущее время по ум. (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "НачатьУчетВремени";
НоваяСтрока.МетодПоиска = "НАЧАТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--report";
НоваяСтрока.Описание = "Причина изменения. Обязателен при указании Время и отключенном свободном графике (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "НачатьУчетВремени";
НоваяСтрока.МетодПоиска = "НАЧАТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ЗавершитьУчетВремени";
НоваяСтрока.МетодПоиска = "ЗАВЕРШИТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока.ОписаниеМетода = "Завершает учет времени пользователя
|
| Дата указывается в формате ISO 8601:
| ""2024-04-07""
| ""2024-04-07T13:34:42+00:00""
| ""2024-04-07T13:34:42Z""
|";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ЗавершитьУчетВремени";
НоваяСтрока.МетодПоиска = "ЗАВЕРШИТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--userid";
НоваяСтрока.Описание = "ID пользователя для учета. Текущий по умолчанию (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ЗавершитьУчетВремени";
НоваяСтрока.МетодПоиска = "ЗАВЕРШИТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--time";
НоваяСтрока.Описание = "Время заверш. учета. Дата должна совпадать с текущей. Текущее время по ум. (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ЗавершитьУчетВремени";
НоваяСтрока.МетодПоиска = "ЗАВЕРШИТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--report";
НоваяСтрока.Описание = "Причина изменения. Обязателен при указании Время и отключенном свободном графике (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ЗавершитьУчетВремени";
НоваяСтрока.МетодПоиска = "ЗАВЕРШИТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПриостановитьУчетВремени";
НоваяСтрока.МетодПоиска = "ПРИОСТАНОВИТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока.ОписаниеМетода = "Приостанавливает учет времени пользователя";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПриостановитьУчетВремени";
НоваяСтрока.МетодПоиска = "ПРИОСТАНОВИТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--userid";
НоваяСтрока.Описание = "ID пользователя для учета. Текущий по умолчанию (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПриостановитьУчетВремени";
НоваяСтрока.МетодПоиска = "ПРИОСТАНОВИТЬУЧЕТВРЕМЕНИ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСтатусУчетаВремени";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТАТУСУЧЕТАВРЕМЕНИ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока.ОписаниеМетода = "Получает статус учета времени пользователя";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСтатусУчетаВремени";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТАТУСУЧЕТАВРЕМЕНИ";
НоваяСтрока.Параметр = "--userid";
НоваяСтрока.Описание = "ID пользователя для учета. Текущий по умолчанию (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСтатусУчетаВремени";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТАТУСУЧЕТАВРЕМЕНИ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьНастройкиУчетаВремени";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИУЧЕТАВРЕМЕНИ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока.ОписаниеМетода = "Получает настройки учета времени пользователя";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьНастройкиУчетаВремени";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИУЧЕТАВРЕМЕНИ";
НоваяСтрока.Параметр = "--userid";
НоваяСтрока.Описание = "ID пользователя для учета. Текущий по умолчанию (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьНастройкиУчетаВремени";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИУЧЕТАВРЕМЕНИ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
@@ -5246,6 +5453,37 @@
НоваяСтрока.Область = "Управление пользователями";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "НайтиПользователей";
НоваяСтрока.МетодПоиска = "НАЙТИПОЛЬЗОВАТЕЛЕЙ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Управление пользователями";
НоваяСтрока.ОписаниеМетода = "Получает список пользователей по заданному фильтру";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "НайтиПользователей";
НоваяСтрока.МетодПоиска = "НАЙТИПОЛЬЗОВАТЕЛЕЙ";
НоваяСтрока.Параметр = "--filter";
НоваяСтрока.Описание = "Фильтр. См. ПолучитьСтруктуруФильтраПользователей";
НоваяСтрока.Область = "Управление пользователями";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "НайтиПользователей";
НоваяСтрока.МетодПоиска = "НАЙТИПОЛЬЗОВАТЕЛЕЙ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Управление пользователями";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
@@ -5266,6 +5504,17 @@
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Управление пользователями";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСтруктуруФильтраПользователей";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУФИЛЬТРАПОЛЬЗОВАТЕЛЕЙ";
НоваяСтрока.Параметр = "--empty";
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - False)";
НоваяСтрока.Область = "Управление пользователями";
НоваяСтрока.ОписаниеМетода = "Возвращает структуру полей для фильтрации пользователей в методе НайтиПользователей";
Возврат ТаблицаСостава;
КонецФункции