1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-25 02:42:28 +02:00

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

This commit is contained in:
Vitaly the Alpaca 2024-07-12 20:29:57 +00:00 committed by Vitaly the Alpaca (bot)
parent 9296f1edc3
commit ddef71e292
15 changed files with 6303 additions and 4225 deletions

View File

@ -107,6 +107,14 @@ jobs:
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os "Б24_Канбан"
- name: Учет рабочего времени
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os "Б24_УчетРабочегоВремени"
- name: Работа с чатами
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os "Б24_РаботаСЧатами"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3

View File

@ -1068,6 +1068,14 @@ jobs:
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os "Б24_Канбан"
- name: Учет рабочего времени
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os "Б24_УчетРабочегоВремени"
- name: Работа с чатами
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os "Б24_РаботаСЧатами"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3

View File

@ -1068,6 +1068,14 @@ jobs:
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/en/OInt/tests/Modules/internal/OPI_Tests.os "B24_Kanban"
- name: Timekeeping
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/en/OInt/tests/Modules/internal/OPI_Tests.os "B24_Timekeeping"
- name: Chats works
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/en/OInt/tests/Modules/internal/OPI_Tests.os "B24_ChatManagment"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3

File diff suppressed because it is too large Load Diff

View File

@ -1030,6 +1030,28 @@ Function RenewTasksChecklistElement(Val URL, Val TaskID, Val ElementID, Val Toke
EndFunction
// Get users daily tasks plan
// Gets the task plan for the current users day
//
// Note
// Method at API documentation: [task.planner.getlist](@dev.1c-bitrix.ru/rest_help/tasks/task/planner/getlist.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetDailyPlan(Val URL, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.planner.getlist");
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get task fields structure
// Gets a structure with a description of the fields for creating a task
//
@ -1516,6 +1538,170 @@ EndFunction
#EndRegion
#Region Timekeeping
// Add task time accounting
// Adds information about the user's time spent to the task
//
// Note
// Method at API documentation: [task.elapseditem.add](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/add.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - String, Number - ID of task for time accounting - task
// Time - String, Number - Time spent in seconds - amount
// UserID - String, Number - ID of user for time accounting - user
// Text - String - Comment text - text
// SetupDate - String - Date the record was set - date
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function AddTaskTimeAccounting(Val URL
, Val TaskID
, Val Time
, Val UserID = ""
, Val Text = ""
, Val SetupDate = ""
, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.elapseditem.add");
Fields = New Structure;
OPI_Tools.AddField("SECONDS" , Time , "String" , Fields);
OPI_Tools.AddField("COMMENT_TEXT", Text , "String" , Fields);
OPI_Tools.AddField("USER_ID" , UserID, "String" , Fields);
OPI_Tools.AddField("CREATED_DATE", SetupDate , "DateISO", Fields);
OPI_Tools.AddField("TASKID" , TaskID, "String" , Parameters);
OPI_Tools.AddField("ARFIELDS", Fields , "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Delete task time accounting
// Deletes record of time accounting
//
// Note
// Method at API documentation: [task.elapseditem.delete](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/delete.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - String, Number - ID of task for time accounting - task
// RecordID - String, Number - Time record ID - record
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function DeleteTaskTimeAccounting(Val URL, Val TaskID, Val RecordID, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.elapseditem.delete");
OPI_Tools.AddField("TASKID", TaskID, "String", Parameters);
OPI_Tools.AddField("ITEMID", RecordID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get task time accounting list
// Get list of time accounting records for task
//
// Note
// Method at API documentation: [task.elapseditem.getlist](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/getlist.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - String, Number - Task ID - task
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTaskTimeAccountingList(Val URL, Val TaskID, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.elapseditem.getlist");
OPI_Tools.AddField("TASKID", TaskID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get task time accounting
// Get time accounting record data
//
// Note
// Method at API documentation: [task.elapseditem.get](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/get.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - String, Number - Task ID - task
// RecordID - String, Number - Time record ID - record
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTaskTimeAccounting(Val URL, Val TaskID, Val RecordID, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.elapseditem.get");
OPI_Tools.AddField("TASKID", TaskID, "String", Parameters);
OPI_Tools.AddField("ITEMID", RecordID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Update task time accounting
// Update time accounting record data
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - String, Number - Task ID - task
// RecordID - String, Number - Time record ID - record
// Time - String, Number - Time spent in seconds - amount
// Text - String - Comment text - text
// SetupDate - String - Date the record was set - date
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function UpdateTaskTimeAccounting(Val URL
, Val TaskID
, Val RecordID
, Val Time
, Val Text = ""
, Val SetupDate = ""
, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.elapseditem.update");
Fields = New Structure;
OPI_Tools.AddField("SECONDS" , Time , "String" , Fields);
OPI_Tools.AddField("COMMENT_TEXT", Text , "String" , Fields);
OPI_Tools.AddField("CREATED_DATE", SetupDate , "DateISO", Fields);
OPI_Tools.AddField("TASKID" , TaskID, "String" , Parameters);
OPI_Tools.AddField("ITEMID" , RecordID, "String" , Parameters);
OPI_Tools.AddField("ARFIELDS", Fields , "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
#EndRegion
#Region StoragesAndFilesManagment
// Get list of storages
@ -2138,6 +2324,110 @@ EndFunction
#EndRegion
#Region ChatsAndMessages
// Create chat
// Creates a new chat based on the field structure
//
// Note
// Method at API documentation: [im.chat.add](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12093)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// ChatStructure - Structure of Key-Value - Chat fields structure. See GetChatStructure - fields
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function CreateChat(Val URL, Val ChatStructure, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "im.chat.add");
For Each Element In ChatStructure Do
Parameters.Insert(Element.Key, Element.Value);
EndDo;
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get chats users
// Gets the list of chat users by ID
//
// Note
// Method at API documentation: [im.chat.user.list](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12095)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// ChatID - String, Number - Chat ID - chat
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetChatUsers(Val URL, Val ChatID, Val Token = "") Export
Response = ChatManagment(URL, ChatID, "im.chat.user.list", Token);
Return Response;
EndFunction
// Leave chat
// Removes the current user from the chat room
//
// Note
// Method at API documentation: [im.chat.leave](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12101)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// ChatID - String, Number - Chat ID - chat
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function LeaveChat(Val URL, Val ChatID, Val Token = "") Export
Response = ChatManagment(URL, ChatID, "im.chat.leave", Token);
Return Response;
EndFunction
// Get chats structure
// Get chat fields structure
//
// Parameters:
// Clear - Boolean - True > structure with empty values, False > field types at values - empty
//
// Returns:
// Structure of Key-Value - Fields structure
Function GetChatStructure(Val Clear = False) Export
OPI_TypeConversion.GetBoolean(Clear);
ChatStructure = New Structure;
ChatStructure.Insert("TYPE" , "<Chat type OPEN (Public) | CHAT (Private)>");
ChatStructure.Insert("TITLE" , "<Chat title>");
ChatStructure.Insert("DESCRIPTION", "<Chat description>");
ChatStructure.Insert("COLOR" , "<Chat color: RED, GREEN, MINT, LIGHT_BLUE, DARK_BLUE, PURPLE, AQUA, ...>");
ChatStructure.Insert("MESSAGE" , "<First chat message>");
ChatStructure.Insert("USERS" , "<Chat members array>");
ChatStructure.Insert("AVATAR" , "<Base64 chat picture>");
ChatStructure.Insert("OWNER_ID" , "<ID of chat owner. Current user by default>");
If Clear Then
For Each Element In ChatStructure Do
Element.Value = "";
EndDo;
EndIf;
//@skip-check constructor-function-return-section
Return ChatStructure;
EndFunction
#EndRegion
#EndRegion
#Region Private
@ -2253,4 +2543,15 @@ Function ChecklistElementManagment(Val URL, Val TaskID, Val ElementID, Val Metho
EndFunction
Function ChatManagment(Val URL, Val ChatID, Val Method, Val Token = "")
Parameters = NormalizeAuth(URL, Token, Method);
OPI_Tools.AddField("CHAT_ID", ChatID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
#EndRegion

View File

@ -2920,6 +2920,7 @@ Procedure B24_TaskManagment() Export
Bitrix24_CompleteTasksChecklistElement(TestParameters);
Bitrix24_RenewTasksChecklistElement(TestParameters);
Bitrix24_DeleteTasksChecklistElement(TestParameters);
Bitrix24_GetDailyPlan(TestParameters);
Name = "Topic picture.jpg";
Image = TestParameters["Picture"];
@ -3020,6 +3021,43 @@ Procedure B24_CommentsManagment() Export
EndProcedure
Procedure B24_Timekeeping() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Domain", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Token" , TestParameters);
CurrentDate = OPI_Tools.GetCurrentDate();
Hour = 3600;
Day = 24;
Responsible = 1;
TaskData = New Structure;
TaskData.Insert("TITLE" , "New task");
TaskData.Insert("DESCRIPTION" , "New task description");
TaskData.Insert("PRIORITY" , "2");
TaskData.Insert("DEADLINE" , CurrentDate + Hour * Day);
TaskData.Insert("RESPONSIBLE_ID", Responsible);
URL = TestParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.CreateTask(URL, TaskData);
TaskID = Result["result"]["task"]["id"];
OPI_TestDataRetrieval.WriteParameter("Bitrix24_ElapsedTaskID", TaskID);
TestParameters.Insert("Bitrix24_ElapsedTaskID", TaskID);
Bitrix24_AddTaskTimeAccounting(TestParameters);
Bitrix24_GetTaskTimeAccounting(TestParameters);
Bitrix24_GetTaskTimeAccountingList(TestParameters);
Bitrix24_UpdateTaskTimeAccounting(TestParameters);
Bitrix24_DeleteTaskTimeAccounting(TestParameters);
OPI_Bitrix24.DeleteTask(URL, TaskID);
EndProcedure
Procedure B24_Kanban() Export
TestParameters = New Structure;
@ -3058,6 +3096,20 @@ Procedure B24_Kanban() Export
EndProcedure
Procedure B24_ChatManagment() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Domain", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Token" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
Bitrix24_CreateChat(TestParameters);
Bitrix24_GetChatUsers(TestParameters);
Bitrix24_LeaveChat(TestParameters);
EndProcedure
#EndRegion
#EndRegion
@ -8320,6 +8372,294 @@ Procedure Bitrix24_RenewTasksChecklistElement(FunctionParameters)
EndProcedure
Procedure Bitrix24_AddTaskTimeAccounting(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
TaskID = FunctionParameters["Bitrix24_ElapsedTaskID"];
Time = 3600;
Result = OPI_Bitrix24.AddTaskTimeAccounting(URL, TaskID, Time);
OPI_TestDataRetrieval.WriteLog(Result, "AddTaskTimeAccounting (wh)", "Bitrix24");
Check_BitrixNumber(Result); // SKIP
SpendingID = Result["result"]; // SKIP
OPI_TestDataRetrieval.WriteParameter("Bitrix24_HookTimeID", SpendingID); // SKIP
FunctionParameters.Insert("Bitrix24_HookTimeID", SpendingID); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Text = "Time spent on work";
UserID = 10;
Time = 7200;
SetupDate = AddMonth(OPI_Tools.GetCurrentDate(), -1);
Result = OPI_Bitrix24.AddTaskTimeAccounting(URL
, TaskID
, Time
, UserID
, Text
, SetupDate
, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "AddTaskTimeAccounting", "Bitrix24");
Check_BitrixNumber(Result);
SpendingID = Result["result"];
OPI_TestDataRetrieval.WriteParameter("Bitrix24_TimeID", SpendingID);
FunctionParameters.Insert("Bitrix24_TimeID", SpendingID);
EndProcedure
Procedure Bitrix24_UpdateTaskTimeAccounting(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
TaskID = FunctionParameters["Bitrix24_ElapsedTaskID"];
RecordID = FunctionParameters["Bitrix24_HookTimeID"];
Text = "The text I forgot last time";
Time = 4800;
Result = OPI_Bitrix24.UpdateTaskTimeAccounting(URL, TaskID, RecordID, Time, Text);
OPI_TestDataRetrieval.WriteLog(Result, "UpdateTaskTimeAccounting (wh)", "Bitrix24");
Check_BitrixUndefined(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
RecordID = FunctionParameters["Bitrix24_TimeID"];
Text = "New time record";
Time = 4800;
SetupDate = AddMonth(OPI_Tools.GetCurrentDate(), -1);
Result = OPI_Bitrix24.UpdateTaskTimeAccounting(URL
, TaskID
, RecordID
, Time
, Text
, SetupDate
, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "UpdateTaskTimeAccounting", "Bitrix24");
Check_BitrixUndefined(Result);
EndProcedure
Procedure Bitrix24_DeleteTaskTimeAccounting(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
TaskID = FunctionParameters["Bitrix24_ElapsedTaskID"];
RecordID = FunctionParameters["Bitrix24_HookTimeID"];
Result = OPI_Bitrix24.DeleteTaskTimeAccounting(URL, TaskID, RecordID);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTaskTimeAccounting (wh)", "Bitrix24");
Check_BitrixUndefined(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
RecordID = FunctionParameters["Bitrix24_TimeID"];
Result = OPI_Bitrix24.DeleteTaskTimeAccounting(URL, TaskID, RecordID, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTaskTimeAccounting", "Bitrix24");
Check_BitrixUndefined(Result);
EndProcedure
Procedure Bitrix24_GetTaskTimeAccounting(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
TaskID = FunctionParameters["Bitrix24_ElapsedTaskID"];
RecordID = FunctionParameters["Bitrix24_HookTimeID"];
Result = OPI_Bitrix24.GetTaskTimeAccounting(URL, TaskID, RecordID);
OPI_TestDataRetrieval.WriteLog(Result, "GetTaskTimeAccounting (wh)", "Bitrix24");
Check_BitrixObject(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
RecordID = FunctionParameters["Bitrix24_TimeID"];
Result = OPI_Bitrix24.GetTaskTimeAccounting(URL, TaskID, RecordID, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetTaskTimeAccounting", "Bitrix24");
Check_BitrixObject(Result);
EndProcedure
Procedure Bitrix24_GetTaskTimeAccountingList(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
TaskID = FunctionParameters["Bitrix24_ElapsedTaskID"];
Result = OPI_Bitrix24.GetTaskTimeAccountingList(URL, TaskID);
OPI_TestDataRetrieval.WriteLog(Result, "GetTaskTimeAccountingList (wh)", "Bitrix24");
Check_BitrixObjectsArray(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.GetTaskTimeAccountingList(URL, TaskID, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetTaskTimeAccountingList", "Bitrix24");
Check_BitrixObjectsArray(Result);
EndProcedure
Procedure Bitrix24_GetDailyPlan(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.GetDailyPlan(URL);
OPI_TestDataRetrieval.WriteLog(Result, "GetDailyPlan (wh)", "Bitrix24");
Check_BitrixArray(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.GetDailyPlan(URL, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetDailyPlan", "Bitrix24");
Check_BitrixArray(Result);
EndProcedure
Procedure Bitrix24_CreateChat(FunctionParameters)
Image = FunctionParameters["Picture"];
OPI_TypeConversion.GetBinaryData(Image);
B64Image = GetBase64StringFromBinaryData(Image);
MembersArray = New Array;
MembersArray.Add(1);
MembersArray.Add(10);
ChatStructure = New Structure;
ChatStructure.Insert("TYPE" , "OPEN");
ChatStructure.Insert("TITLE" , "New chat");
ChatStructure.Insert("DESCRIPTION", "This is a new chat");
ChatStructure.Insert("COLOR" , "GREEN");
ChatStructure.Insert("MESSAGE" , "Welcome to new chat");
ChatStructure.Insert("USERS" , MembersArray);
ChatStructure.Insert("AVATAR" , B64Image);
ChatStructure.Insert("OWNER_ID" , 10);
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.CreateChat(URL, ChatStructure);
OPI_TestDataRetrieval.WriteLog(Result, "CreateChat (wh)", "Bitrix24");
Check_BitrixNumber(Result); // SKIP
ChatID = Result["result"]; // SKIP
OPI_TestDataRetrieval.WriteParameter("Bitrix24_HookChatID", ChatID); // SKIP
FunctionParameters.Insert("Bitrix24_HookChatID", ChatID); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
ChatStructure = New Structure;
ChatStructure.Insert("TYPE" , "CHAT");
ChatStructure.Insert("TITLE" , "Private chat");
ChatStructure.Insert("USERS" , MembersArray);
Result = OPI_Bitrix24.CreateChat(URL, ChatStructure, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateChat", "Bitrix24");
Check_BitrixNumber(Result);
ChatID = Result["result"]; // SKIP
OPI_TestDataRetrieval.WriteParameter("Bitrix24_ChatID", ChatID); // SKIP
FunctionParameters.Insert("Bitrix24_ChatID", ChatID); // SKIP
EndProcedure
Procedure Bitrix24_GetChatUsers(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
ChatID = FunctionParameters["Bitrix24_HookChatID"];
Result = OPI_Bitrix24.GetChatUsers(URL, ChatID);
OPI_TestDataRetrieval.WriteLog(Result, "GetChatUsers (wh)", "Bitrix24");
Check_BitrixArray(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
ChatID = FunctionParameters["Bitrix24_ChatID"];
Result = OPI_Bitrix24.GetChatUsers(URL, ChatID, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetChatUsers", "Bitrix24");
Check_BitrixArray(Result);
EndProcedure
Procedure Bitrix24_LeaveChat(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
ChatID = FunctionParameters["Bitrix24_HookChatID"];
Result = OPI_Bitrix24.LeaveChat(URL, ChatID);
OPI_TestDataRetrieval.WriteLog(Result, "LeaveChat (wh)", "Bitrix24");
Check_BitrixTrue(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
ChatID = FunctionParameters["Bitrix24_ChatID"];
Result = OPI_Bitrix24.LeaveChat(URL, ChatID, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "LeaveChat", "Bitrix24");
Check_BitrixTrue(Result);
EndProcedure
#EndRegion
#Region YandexDisk

View File

@ -228,6 +228,8 @@ Function GetTestTable() Export
NewTest(TestTable, "B24_CommentsManagment" , "Comments managment" , Bitrix);
NewTest(TestTable, "B24_WorkingWithDrive" , "Working with drive" , Bitrix);
NewTest(TestTable, "B24_Kanban" , "Kanban" , Bitrix);
NewTest(TestTable, "B24_Timekeeping" , "Timekeeping" , Bitrix);
NewTest(TestTable, "B24_ChatManagment" , "Chats works" , Bitrix);
Return TestTable;

View File

@ -506,6 +506,10 @@ Procedure AddField(Val Name, Val Value, Val Type, Collection) Export
OPI_TypeConversion.GetDate(Value);
Value = UNIXTime(Value);
ElsIf Type = "DateISO" Then
OPI_TypeConversion.GetDate(Value);
Value = XMLString(Value);
ElsIf Type = "Collection" Then
OPI_TypeConversion.GetCollection(Value);

View File

@ -1030,6 +1030,28 @@ Function RenewTasksChecklistElement(Val URL, Val TaskID, Val ElementID, Val Toke
EndFunction
// Get users daily tasks plan
// Gets the task plan for the current users day
//
// Note
// Method at API documentation: [task.planner.getlist](@dev.1c-bitrix.ru/rest_help/tasks/task/planner/getlist.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetDailyPlan(Val URL, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.planner.getlist");
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get task fields structure
// Gets a structure with a description of the fields for creating a task
//
@ -1516,6 +1538,170 @@ EndFunction
#EndRegion
#Region Timekeeping
// Add task time accounting
// Adds information about the user's time spent to the task
//
// Note
// Method at API documentation: [task.elapseditem.add](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/add.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - String, Number - ID of task for time accounting - task
// Time - String, Number - Time spent in seconds - amount
// UserID - String, Number - ID of user for time accounting - user
// Text - String - Comment text - text
// SetupDate - String - Date the record was set - date
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function AddTaskTimeAccounting(Val URL
, Val TaskID
, Val Time
, Val UserID = ""
, Val Text = ""
, Val SetupDate = ""
, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.elapseditem.add");
Fields = New Structure;
OPI_Tools.AddField("SECONDS" , Time , "String" , Fields);
OPI_Tools.AddField("COMMENT_TEXT", Text , "String" , Fields);
OPI_Tools.AddField("USER_ID" , UserID, "String" , Fields);
OPI_Tools.AddField("CREATED_DATE", SetupDate , "DateISO", Fields);
OPI_Tools.AddField("TASKID" , TaskID, "String" , Parameters);
OPI_Tools.AddField("ARFIELDS", Fields , "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Delete task time accounting
// Deletes record of time accounting
//
// Note
// Method at API documentation: [task.elapseditem.delete](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/delete.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - String, Number - ID of task for time accounting - task
// RecordID - String, Number - Time record ID - record
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function DeleteTaskTimeAccounting(Val URL, Val TaskID, Val RecordID, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.elapseditem.delete");
OPI_Tools.AddField("TASKID", TaskID, "String", Parameters);
OPI_Tools.AddField("ITEMID", RecordID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get task time accounting list
// Get list of time accounting records for task
//
// Note
// Method at API documentation: [task.elapseditem.getlist](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/getlist.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - String, Number - Task ID - task
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTaskTimeAccountingList(Val URL, Val TaskID, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.elapseditem.getlist");
OPI_Tools.AddField("TASKID", TaskID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get task time accounting
// Get time accounting record data
//
// Note
// Method at API documentation: [task.elapseditem.get](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/get.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - String, Number - Task ID - task
// RecordID - String, Number - Time record ID - record
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTaskTimeAccounting(Val URL, Val TaskID, Val RecordID, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.elapseditem.get");
OPI_Tools.AddField("TASKID", TaskID, "String", Parameters);
OPI_Tools.AddField("ITEMID", RecordID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Update task time accounting
// Update time accounting record data
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - String, Number - Task ID - task
// RecordID - String, Number - Time record ID - record
// Time - String, Number - Time spent in seconds - amount
// Text - String - Comment text - text
// SetupDate - String - Date the record was set - date
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function UpdateTaskTimeAccounting(Val URL
, Val TaskID
, Val RecordID
, Val Time
, Val Text = ""
, Val SetupDate = ""
, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "task.elapseditem.update");
Fields = New Structure;
OPI_Tools.AddField("SECONDS" , Time , "String" , Fields);
OPI_Tools.AddField("COMMENT_TEXT", Text , "String" , Fields);
OPI_Tools.AddField("CREATED_DATE", SetupDate , "DateISO", Fields);
OPI_Tools.AddField("TASKID" , TaskID, "String" , Parameters);
OPI_Tools.AddField("ITEMID" , RecordID, "String" , Parameters);
OPI_Tools.AddField("ARFIELDS", Fields , "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
#EndRegion
#Region StoragesAndFilesManagment
// Get list of storages
@ -2138,6 +2324,110 @@ EndFunction
#EndRegion
#Region ChatsAndMessages
// Create chat
// Creates a new chat based on the field structure
//
// Note
// Method at API documentation: [im.chat.add](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12093)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// ChatStructure - Structure of Key-Value - Chat fields structure. See GetChatStructure - fields
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function CreateChat(Val URL, Val ChatStructure, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "im.chat.add");
For Each Element In ChatStructure Do
Parameters.Insert(Element.Key, Element.Value);
EndDo;
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get chats users
// Gets the list of chat users by ID
//
// Note
// Method at API documentation: [im.chat.user.list](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12095)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// ChatID - String, Number - Chat ID - chat
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetChatUsers(Val URL, Val ChatID, Val Token = "") Export
Response = ChatManagment(URL, ChatID, "im.chat.user.list", Token);
Return Response;
EndFunction
// Leave chat
// Removes the current user from the chat room
//
// Note
// Method at API documentation: [im.chat.leave](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12101)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// ChatID - String, Number - Chat ID - chat
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function LeaveChat(Val URL, Val ChatID, Val Token = "") Export
Response = ChatManagment(URL, ChatID, "im.chat.leave", Token);
Return Response;
EndFunction
// Get chats structure
// Get chat fields structure
//
// Parameters:
// Clear - Boolean - True > structure with empty values, False > field types at values - empty
//
// Returns:
// Structure of Key-Value - Fields structure
Function GetChatStructure(Val Clear = False) Export
OPI_TypeConversion.GetBoolean(Clear);
ChatStructure = New Structure;
ChatStructure.Insert("TYPE" , "<Chat type OPEN (Public) | CHAT (Private)>");
ChatStructure.Insert("TITLE" , "<Chat title>");
ChatStructure.Insert("DESCRIPTION", "<Chat description>");
ChatStructure.Insert("COLOR" , "<Chat color: RED, GREEN, MINT, LIGHT_BLUE, DARK_BLUE, PURPLE, AQUA, ...>");
ChatStructure.Insert("MESSAGE" , "<First chat message>");
ChatStructure.Insert("USERS" , "<Chat members array>");
ChatStructure.Insert("AVATAR" , "<Base64 chat picture>");
ChatStructure.Insert("OWNER_ID" , "<ID of chat owner. Current user by default>");
If Clear Then
For Each Element In ChatStructure Do
Element.Value = "";
EndDo;
EndIf;
//@skip-check constructor-function-return-section
Return ChatStructure;
EndFunction
#EndRegion
#EndRegion
#Region Private
@ -2253,4 +2543,15 @@ Function ChecklistElementManagment(Val URL, Val TaskID, Val ElementID, Val Metho
EndFunction
Function ChatManagment(Val URL, Val ChatID, Val Method, Val Token = "")
Parameters = NormalizeAuth(URL, Token, Method);
OPI_Tools.AddField("CHAT_ID", ChatID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
#EndRegion

View File

@ -228,6 +228,8 @@ Function GetTestTable() Export
NewTest(TestTable, "B24_CommentsManagment" , "Comments managment" , Bitrix);
NewTest(TestTable, "B24_WorkingWithDrive" , "Working with drive" , Bitrix);
NewTest(TestTable, "B24_Kanban" , "Kanban" , Bitrix);
NewTest(TestTable, "B24_Timekeeping" , "Timekeeping" , Bitrix);
NewTest(TestTable, "B24_ChatManagment" , "Chats works" , Bitrix);
Return TestTable;

View File

@ -2920,6 +2920,7 @@ Procedure B24_TaskManagment() Export
Bitrix24_CompleteTasksChecklistElement(TestParameters);
Bitrix24_RenewTasksChecklistElement(TestParameters);
Bitrix24_DeleteTasksChecklistElement(TestParameters);
Bitrix24_GetDailyPlan(TestParameters);
Name = "Topic picture.jpg";
Image = TestParameters["Picture"];
@ -3020,6 +3021,43 @@ Procedure B24_CommentsManagment() Export
EndProcedure
Procedure B24_Timekeeping() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Domain", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Token" , TestParameters);
CurrentDate = OPI_Tools.GetCurrentDate();
Hour = 3600;
Day = 24;
Responsible = 1;
TaskData = New Structure;
TaskData.Insert("TITLE" , "New task");
TaskData.Insert("DESCRIPTION" , "New task description");
TaskData.Insert("PRIORITY" , "2");
TaskData.Insert("DEADLINE" , CurrentDate + Hour * Day);
TaskData.Insert("RESPONSIBLE_ID", Responsible);
URL = TestParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.CreateTask(URL, TaskData);
TaskID = Result["result"]["task"]["id"];
OPI_TestDataRetrieval.WriteParameter("Bitrix24_ElapsedTaskID", TaskID);
TestParameters.Insert("Bitrix24_ElapsedTaskID", TaskID);
Bitrix24_AddTaskTimeAccounting(TestParameters);
Bitrix24_GetTaskTimeAccounting(TestParameters);
Bitrix24_GetTaskTimeAccountingList(TestParameters);
Bitrix24_UpdateTaskTimeAccounting(TestParameters);
Bitrix24_DeleteTaskTimeAccounting(TestParameters);
OPI_Bitrix24.DeleteTask(URL, TaskID);
EndProcedure
Procedure B24_Kanban() Export
TestParameters = New Structure;
@ -3058,6 +3096,20 @@ Procedure B24_Kanban() Export
EndProcedure
Procedure B24_ChatManagment() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Domain", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Token" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
Bitrix24_CreateChat(TestParameters);
Bitrix24_GetChatUsers(TestParameters);
Bitrix24_LeaveChat(TestParameters);
EndProcedure
#EndRegion
#EndRegion
@ -8320,6 +8372,294 @@ Procedure Bitrix24_RenewTasksChecklistElement(FunctionParameters)
EndProcedure
Procedure Bitrix24_AddTaskTimeAccounting(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
TaskID = FunctionParameters["Bitrix24_ElapsedTaskID"];
Time = 3600;
Result = OPI_Bitrix24.AddTaskTimeAccounting(URL, TaskID, Time);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "AddTaskTimeAccounting (wh)", "Bitrix24");
Check_BitrixNumber(Result); // SKIP
SpendingID = Result["result"]; // SKIP
OPI_TestDataRetrieval.WriteParameter("Bitrix24_HookTimeID", SpendingID); // SKIP
FunctionParameters.Insert("Bitrix24_HookTimeID", SpendingID); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Text = "Time spent on work";
UserID = 10;
Time = 7200;
SetupDate = AddMonth(OPI_Tools.GetCurrentDate(), -1);
Result = OPI_Bitrix24.AddTaskTimeAccounting(URL
, TaskID
, Time
, UserID
, Text
, SetupDate
, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "AddTaskTimeAccounting", "Bitrix24");
Check_BitrixNumber(Result);
SpendingID = Result["result"];
OPI_TestDataRetrieval.WriteParameter("Bitrix24_TimeID", SpendingID);
FunctionParameters.Insert("Bitrix24_TimeID", SpendingID);
EndProcedure
Procedure Bitrix24_UpdateTaskTimeAccounting(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
TaskID = FunctionParameters["Bitrix24_ElapsedTaskID"];
RecordID = FunctionParameters["Bitrix24_HookTimeID"];
Text = "The text I forgot last time";
Time = 4800;
Result = OPI_Bitrix24.UpdateTaskTimeAccounting(URL, TaskID, RecordID, Time, Text);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "UpdateTaskTimeAccounting (wh)", "Bitrix24");
Check_BitrixUndefined(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
RecordID = FunctionParameters["Bitrix24_TimeID"];
Text = "New time record";
Time = 4800;
SetupDate = AddMonth(OPI_Tools.GetCurrentDate(), -1);
Result = OPI_Bitrix24.UpdateTaskTimeAccounting(URL
, TaskID
, RecordID
, Time
, Text
, SetupDate
, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "UpdateTaskTimeAccounting", "Bitrix24");
Check_BitrixUndefined(Result);
EndProcedure
Procedure Bitrix24_DeleteTaskTimeAccounting(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
TaskID = FunctionParameters["Bitrix24_ElapsedTaskID"];
RecordID = FunctionParameters["Bitrix24_HookTimeID"];
Result = OPI_Bitrix24.DeleteTaskTimeAccounting(URL, TaskID, RecordID);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "DeleteTaskTimeAccounting (wh)", "Bitrix24");
Check_BitrixUndefined(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
RecordID = FunctionParameters["Bitrix24_TimeID"];
Result = OPI_Bitrix24.DeleteTaskTimeAccounting(URL, TaskID, RecordID, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "DeleteTaskTimeAccounting", "Bitrix24");
Check_BitrixUndefined(Result);
EndProcedure
Procedure Bitrix24_GetTaskTimeAccounting(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
TaskID = FunctionParameters["Bitrix24_ElapsedTaskID"];
RecordID = FunctionParameters["Bitrix24_HookTimeID"];
Result = OPI_Bitrix24.GetTaskTimeAccounting(URL, TaskID, RecordID);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetTaskTimeAccounting (wh)", "Bitrix24");
Check_BitrixObject(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
RecordID = FunctionParameters["Bitrix24_TimeID"];
Result = OPI_Bitrix24.GetTaskTimeAccounting(URL, TaskID, RecordID, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetTaskTimeAccounting", "Bitrix24");
Check_BitrixObject(Result);
EndProcedure
Procedure Bitrix24_GetTaskTimeAccountingList(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
TaskID = FunctionParameters["Bitrix24_ElapsedTaskID"];
Result = OPI_Bitrix24.GetTaskTimeAccountingList(URL, TaskID);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetTaskTimeAccountingList (wh)", "Bitrix24");
Check_BitrixObjectsArray(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.GetTaskTimeAccountingList(URL, TaskID, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetTaskTimeAccountingList", "Bitrix24");
Check_BitrixObjectsArray(Result);
EndProcedure
Procedure Bitrix24_GetDailyPlan(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.GetDailyPlan(URL);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetDailyPlan (wh)", "Bitrix24");
Check_BitrixArray(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.GetDailyPlan(URL, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetDailyPlan", "Bitrix24");
Check_BitrixArray(Result);
EndProcedure
Procedure Bitrix24_CreateChat(FunctionParameters)
Image = FunctionParameters["Picture"];
OPI_TypeConversion.GetBinaryData(Image);
B64Image = GetBase64StringFromBinaryData(Image);
MembersArray = New Array;
MembersArray.Add(1);
MembersArray.Add(10);
ChatStructure = New Structure;
ChatStructure.Insert("TYPE" , "OPEN");
ChatStructure.Insert("TITLE" , "New chat");
ChatStructure.Insert("DESCRIPTION", "This is a new chat");
ChatStructure.Insert("COLOR" , "GREEN");
ChatStructure.Insert("MESSAGE" , "Welcome to new chat");
ChatStructure.Insert("USERS" , MembersArray);
ChatStructure.Insert("AVATAR" , B64Image);
ChatStructure.Insert("OWNER_ID" , 10);
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.CreateChat(URL, ChatStructure);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "CreateChat (wh)", "Bitrix24");
Check_BitrixNumber(Result); // SKIP
ChatID = Result["result"]; // SKIP
OPI_TestDataRetrieval.WriteParameter("Bitrix24_HookChatID", ChatID); // SKIP
FunctionParameters.Insert("Bitrix24_HookChatID", ChatID); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
ChatStructure = New Structure;
ChatStructure.Insert("TYPE" , "CHAT");
ChatStructure.Insert("TITLE" , "Private chat");
ChatStructure.Insert("USERS" , MembersArray);
Result = OPI_Bitrix24.CreateChat(URL, ChatStructure, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "CreateChat", "Bitrix24");
Check_BitrixNumber(Result);
ChatID = Result["result"]; // SKIP
OPI_TestDataRetrieval.WriteParameter("Bitrix24_ChatID", ChatID); // SKIP
FunctionParameters.Insert("Bitrix24_ChatID", ChatID); // SKIP
EndProcedure
Procedure Bitrix24_GetChatUsers(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
ChatID = FunctionParameters["Bitrix24_HookChatID"];
Result = OPI_Bitrix24.GetChatUsers(URL, ChatID);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetUserListChatа (хуto)", "Bitrix24");
Check_BitrixArray(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
ChatID = FunctionParameters["Bitrix24_ChatID"];
Result = OPI_Bitrix24.GetChatUsers(URL, ChatID, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetUserListChatа", "Bitrix24");
Check_BitrixArray(Result);
EndProcedure
Procedure Bitrix24_LeaveChat(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
ChatID = FunctionParameters["Bitrix24_HookChatID"];
Result = OPI_Bitrix24.LeaveChat(URL, ChatID);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "LeaveChat (wh)", "Bitrix24");
Check_BitrixTrue(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
ChatID = FunctionParameters["Bitrix24_ChatID"];
Result = OPI_Bitrix24.LeaveChat(URL, ChatID, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "LeaveChat", "Bitrix24");
Check_BitrixTrue(Result);
EndProcedure
#EndRegion
#Region YandexDisk

View File

@ -506,6 +506,10 @@ Procedure AddField(Val Name, Val Value, Val Type, Collection) Export
OPI_TypeConversion.GetDate(Value);
Value = UNIXTime(Value);
ElsIf Type = "DateISO" Then
OPI_TypeConversion.GetDate(Value);
Value = XMLString(Value);
ElsIf Type = "Collection" Then
OPI_TypeConversion.GetCollection(Value);

View File

@ -1572,6 +1572,27 @@
NewLine.Область = "Tasks managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetDailyPlan";
NewLine.МетодПоиска = "GETDAILYPLAN";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Tasks managment";
NewLine.ОписаниеМетода = "Gets the task plan for the current users day";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetDailyPlan";
NewLine.МетодПоиска = "GETDAILYPLAN";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty value)";
NewLine.Область = "Tasks managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
@ -2198,6 +2219,261 @@
NewLine.Область = "Kanban";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "AddTaskTimeAccounting";
NewLine.МетодПоиска = "ADDTASKTIMEACCOUNTING";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Timekeeping";
NewLine.ОписаниеМетода = "Adds information about the user's time spent to the task";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "AddTaskTimeAccounting";
NewLine.МетодПоиска = "ADDTASKTIMEACCOUNTING";
NewLine.Параметр = "--task";
NewLine.Описание = "ID of task for time accounting";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "AddTaskTimeAccounting";
NewLine.МетодПоиска = "ADDTASKTIMEACCOUNTING";
NewLine.Параметр = "--amount";
NewLine.Описание = "Time spent in seconds";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "AddTaskTimeAccounting";
NewLine.МетодПоиска = "ADDTASKTIMEACCOUNTING";
NewLine.Параметр = "--user";
NewLine.Описание = "ID of user for time accounting (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "AddTaskTimeAccounting";
NewLine.МетодПоиска = "ADDTASKTIMEACCOUNTING";
NewLine.Параметр = "--text";
NewLine.Описание = "Comment text (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "AddTaskTimeAccounting";
NewLine.МетодПоиска = "ADDTASKTIMEACCOUNTING";
NewLine.Параметр = "--date";
NewLine.Описание = "Date the record was set (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "AddTaskTimeAccounting";
NewLine.МетодПоиска = "ADDTASKTIMEACCOUNTING";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "DeleteTaskTimeAccounting";
NewLine.МетодПоиска = "DELETETASKTIMEACCOUNTING";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Timekeeping";
NewLine.ОписаниеМетода = "Deletes record of time accounting";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "DeleteTaskTimeAccounting";
NewLine.МетодПоиска = "DELETETASKTIMEACCOUNTING";
NewLine.Параметр = "--task";
NewLine.Описание = "ID of task for time accounting";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "DeleteTaskTimeAccounting";
NewLine.МетодПоиска = "DELETETASKTIMEACCOUNTING";
NewLine.Параметр = "--record";
NewLine.Описание = "Time record ID";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "DeleteTaskTimeAccounting";
NewLine.МетодПоиска = "DELETETASKTIMEACCOUNTING";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTaskTimeAccountingList";
NewLine.МетодПоиска = "GETTASKTIMEACCOUNTINGLIST";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Timekeeping";
NewLine.ОписаниеМетода = "Get list of time accounting records for task";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTaskTimeAccountingList";
NewLine.МетодПоиска = "GETTASKTIMEACCOUNTINGLIST";
NewLine.Параметр = "--task";
NewLine.Описание = "Task ID";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTaskTimeAccountingList";
NewLine.МетодПоиска = "GETTASKTIMEACCOUNTINGLIST";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTaskTimeAccounting";
NewLine.МетодПоиска = "GETTASKTIMEACCOUNTING";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Timekeeping";
NewLine.ОписаниеМетода = "Get time accounting record data";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTaskTimeAccounting";
NewLine.МетодПоиска = "GETTASKTIMEACCOUNTING";
NewLine.Параметр = "--task";
NewLine.Описание = "Task ID";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTaskTimeAccounting";
NewLine.МетодПоиска = "GETTASKTIMEACCOUNTING";
NewLine.Параметр = "--record";
NewLine.Описание = "Time record ID";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTaskTimeAccounting";
NewLine.МетодПоиска = "GETTASKTIMEACCOUNTING";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UpdateTaskTimeAccounting";
NewLine.МетодПоиска = "UPDATETASKTIMEACCOUNTING";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Timekeeping";
NewLine.ОписаниеМетода = "Update time accounting record data";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UpdateTaskTimeAccounting";
NewLine.МетодПоиска = "UPDATETASKTIMEACCOUNTING";
NewLine.Параметр = "--task";
NewLine.Описание = "Task ID";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UpdateTaskTimeAccounting";
NewLine.МетодПоиска = "UPDATETASKTIMEACCOUNTING";
NewLine.Параметр = "--record";
NewLine.Описание = "Time record ID";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UpdateTaskTimeAccounting";
NewLine.МетодПоиска = "UPDATETASKTIMEACCOUNTING";
NewLine.Параметр = "--amount";
NewLine.Описание = "Time spent in seconds";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UpdateTaskTimeAccounting";
NewLine.МетодПоиска = "UPDATETASKTIMEACCOUNTING";
NewLine.Параметр = "--text";
NewLine.Описание = "Comment text (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UpdateTaskTimeAccounting";
NewLine.МетодПоиска = "UPDATETASKTIMEACCOUNTING";
NewLine.Параметр = "--date";
NewLine.Описание = "Date the record was set (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UpdateTaskTimeAccounting";
NewLine.МетодПоиска = "UPDATETASKTIMEACCOUNTING";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty value)";
NewLine.Область = "Timekeeping";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
@ -3164,6 +3440,110 @@
NewLine.Описание = "token (optional, def. val. - Empty value)";
NewLine.Область = "Storages and files managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "CreateChat";
NewLine.МетодПоиска = "CREATECHAT";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Chats and messages";
NewLine.ОписаниеМетода = "Creates a new chat based on the field structure";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "CreateChat";
NewLine.МетодПоиска = "CREATECHAT";
NewLine.Параметр = "--Chat fields structure. See GetChatStructure";
NewLine.Описание = "fields";
NewLine.Область = "Chats and messages";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "CreateChat";
NewLine.МетодПоиска = "CREATECHAT";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty value)";
NewLine.Область = "Chats and messages";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetChatUsers";
NewLine.МетодПоиска = "GETCHATUSERS";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Chats and messages";
NewLine.ОписаниеМетода = "Gets the list of chat users by ID";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetChatUsers";
NewLine.МетодПоиска = "GETCHATUSERS";
NewLine.Параметр = "--chat";
NewLine.Описание = "Chat ID";
NewLine.Область = "Chats and messages";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetChatUsers";
NewLine.МетодПоиска = "GETCHATUSERS";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty value)";
NewLine.Область = "Chats and messages";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "LeaveChat";
NewLine.МетодПоиска = "LEAVECHAT";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Chats and messages";
NewLine.ОписаниеМетода = "Removes the current user from the chat room";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "LeaveChat";
NewLine.МетодПоиска = "LEAVECHAT";
NewLine.Параметр = "--chat";
NewLine.Описание = "Chat ID";
NewLine.Область = "Chats and messages";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "LeaveChat";
NewLine.МетодПоиска = "LEAVECHAT";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty value)";
NewLine.Область = "Chats and messages";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetChatStructure";
NewLine.МетодПоиска = "GETCHATSTRUCTURE";
NewLine.Параметр = "--empty";
NewLine.Описание = "True > structure with empty values, False > field types at values (optional, def. val. - False)";
NewLine.Область = "Chats and messages";
NewLine.ОписаниеМетода = "Get chat fields structure";
Return CompositionTable;
EndFunction

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_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
</package-def>

View File

@ -1576,6 +1576,27 @@
НоваяСтрока.Область = "Работа с задачами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьПланЗадачНаДень";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬПЛАНЗАДАЧНАДЕНЬ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Работа с задачами";
НоваяСтрока.ОписаниеМетода = "Получает план задач на день текущего пользователя";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьПланЗадачНаДень";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬПЛАНЗАДАЧНАДЕНЬ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с задачами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
@ -2202,6 +2223,261 @@
НоваяСтрока.Область = "Канбан";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ДобавитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ДОБАВИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока.ОписаниеМетода = "Добавляет информацию о затраченном времени пользователя в задачу";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ДобавитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ДОБАВИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--task";
НоваяСтрока.Описание = "ID задачи для добавления затрат";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ДобавитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ДОБАВИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--amount";
НоваяСтрока.Описание = "Затраченное время в секундах";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ДобавитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ДОБАВИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--user";
НоваяСтрока.Описание = "ID пользователя, затратившего время (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ДобавитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ДОБАВИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--text";
НоваяСтрока.Описание = "Текст комментария трудозатраты (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ДобавитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ДОБАВИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--date";
НоваяСтрока.Описание = "Дата установки трудозатрат (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ДобавитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ДОБАВИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "УдалитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "УДАЛИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока.ОписаниеМетода = "Удаляет запись о трудозатратах из задачи";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "УдалитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "УДАЛИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--task";
НоваяСтрока.Описание = "ID задачи для добавления затрат";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "УдалитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "УДАЛИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--record";
НоваяСтрока.Описание = "ID записи о трудозатратах";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "УдалитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "УДАЛИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокТрудозатратЗадачи";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКТРУДОЗАТРАТЗАДАЧИ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока.ОписаниеМетода = "Получает список записей о трудозатратах задачи";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокТрудозатратЗадачи";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКТРУДОЗАТРАТЗАДАЧИ";
НоваяСтрока.Параметр = "--task";
НоваяСтрока.Описание = "ID задачи";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокТрудозатратЗадачи";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКТРУДОЗАТРАТЗАДАЧИ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока.ОписаниеМетода = "Получает информацию о записи трудозатрат задачи по ID";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--task";
НоваяСтрока.Описание = "ID задачи";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--record";
НоваяСтрока.Описание = "ID записи о трудозатратах";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ИзменитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока.ОписаниеМетода = "Изменяет данные записи о трудозатратах задачи";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ИзменитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--task";
НоваяСтрока.Описание = "ID задачи";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ИзменитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--record";
НоваяСтрока.Описание = "ID записи о трудозатратах";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ИзменитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--amount";
НоваяСтрока.Описание = "Затраченное время в секундах";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ИзменитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--text";
НоваяСтрока.Описание = "Текст комментария трудозатраты (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ИзменитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--date";
НоваяСтрока.Описание = "Дата установки трудозатрат (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ИзменитьТрудозатратыЗадачи";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬТРУДОЗАТРАТЫЗАДАЧИ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Учет рабочего времени";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
@ -3168,6 +3444,110 @@
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с диском и файлами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "СоздатьЧат";
НоваяСтрока.МетодПоиска = "СОЗДАТЬЧАТ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Чаты и личные сообщения";
НоваяСтрока.ОписаниеМетода = "Создает новый чат на основе структуры полей";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "СоздатьЧат";
НоваяСтрока.МетодПоиска = "СОЗДАТЬЧАТ";
НоваяСтрока.Параметр = "--fields";
НоваяСтрока.Описание = "Структура полей чата. См. ПолучитьСтруктуруЧата";
НоваяСтрока.Область = "Чаты и личные сообщения";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "СоздатьЧат";
НоваяСтрока.МетодПоиска = "СОЗДАТЬЧАТ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Чаты и личные сообщения";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокПользователейЧата";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКПОЛЬЗОВАТЕЛЕЙЧАТА";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Чаты и личные сообщения";
НоваяСтрока.ОписаниеМетода = "Получает список пользователей чата по ID";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокПользователейЧата";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКПОЛЬЗОВАТЕЛЕЙЧАТА";
НоваяСтрока.Параметр = "--chat";
НоваяСтрока.Описание = "ID чата";
НоваяСтрока.Область = "Чаты и личные сообщения";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокПользователейЧата";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКПОЛЬЗОВАТЕЛЕЙЧАТА";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Чаты и личные сообщения";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПокинутьЧат";
НоваяСтрока.МетодПоиска = "ПОКИНУТЬЧАТ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Чаты и личные сообщения";
НоваяСтрока.ОписаниеМетода = "Исключает текущего пользователя из чата";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПокинутьЧат";
НоваяСтрока.МетодПоиска = "ПОКИНУТЬЧАТ";
НоваяСтрока.Параметр = "--chat";
НоваяСтрока.Описание = "ID чата";
НоваяСтрока.Область = "Чаты и личные сообщения";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПокинутьЧат";
НоваяСтрока.МетодПоиска = "ПОКИНУТЬЧАТ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Чаты и личные сообщения";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСтруктуруЧата";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУЧАТА";
НоваяСтрока.Параметр = "--empty";
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания типов полей (необяз. по ум. - False)";
НоваяСтрока.Область = "Чаты и личные сообщения";
НоваяСтрока.ОписаниеМетода = "Получает структуру полей чата";
Возврат ТаблицаСостава;
КонецФункции