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-06-19 07:52:18 +00:00 committed by Vitaly the Alpaca (bot)
parent 848ba345f0
commit 2f57aaefb1
15 changed files with 4679 additions and 3501 deletions

View File

@ -95,6 +95,10 @@ 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
uses: actions/cache/save@v3

View File

@ -1056,6 +1056,10 @@ 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
uses: actions/cache/save@v3

View File

@ -1056,6 +1056,10 @@ 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_TaskManagment"
- name: Working with drive
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_WorkingWithDrive"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3

File diff suppressed because it is too large Load Diff

View File

@ -151,7 +151,7 @@ EndFunction
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// Text - String - Text of post - text
// Visibility - String - Array or a single post target: UA all, SG<X> work group, U<X> user, DR<X> depart., G<X> group - vision
// Files - String - Data inложенandй, где toлюч > andмя file, value > path to file andдand дinоandчные Data - files
// Files - String - Data inложенandй, где toлюч > name file, value > path to file andдand дinоandчные Data - files
// Title - String - Post title - title
// Important - Boolean - Mark post as important - important
// Token - String - Access token, when not-webhook method used - token
@ -200,7 +200,7 @@ EndFunction
// PostID - String, Number - Post ID - postid
// Text - String - Text of post - text
// Visibility - String - Array or a single post target: UA all, SG<X> work group, U<X> user, DR<X> depart., G<X> group - vision
// Files - String - Data inложенandй, где toлюч > andмя file, value > path to file andдand дinоandчные Data - files
// Files - String - Data inложенandй, где toлюч > name file, value > path to file andдand дinоandчные Data - files
// Title - String - Post title - title
// Token - String - Access token, when not-webhook method used - token
//
@ -396,17 +396,17 @@ EndFunction
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// FilterStructure - Structure of Key-Value - Structure of task filter (see GetTaskFieldsStructure) - filter
// Filter - Structure of Key-Value - Structure of task filter (see GetTaskFieldsStructure) - filter
// Indent - Number, String - Offset of tasks list - offset
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTasksList(Val URL, Val FilterStructure = "", Val Indent = 0, Val Token = "") Export
Function GetTasksList(Val URL, Val Filter = "", Val Indent = 0, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "tasks.task.list");
OPI_Tools.AddField("filter", FilterStructure, "Collection", Parameters);
OPI_Tools.AddField("start" , Indent , "String" , Parameters);
OPI_Tools.AddField("filter", Filter, "Collection", Parameters);
OPI_Tools.AddField("start" , Indent, "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
@ -702,16 +702,44 @@ Function GetTaskHistory(Val URL, Val TaskID, Val Token = "") Export
EndFunction
// Get comments list for a task
// Get user comments list for a task
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - Number, String - Task ID - task
// Filter - Structure of Key-Value - Comments filter structure (see GetCommentsFilterStructure) - filter
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTaskCommentsList(Val URL, Val TaskID, Val Filter = "", Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "tasks.task.delegate");
OPI_Tools.AddField("TASKID", TaskID, "String" , Parameters);
OPI_Tools.AddField("FILTER", Filter , "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get structure of tasks filter
// Return filter structure for GetTasksList
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of Key-Value - Fields structure
Function GetTasksFilterStructure() Export
Function GetTasksFilterStructure(Val Clear = False) Export
// More
// https://dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_list.php
OPI_TypeConversion.GetBoolean(Clear);
FilterStructure = New Structure;
FilterStructure.Insert("ID" , "<identifier of topic>");
FilterStructure.Insert("PARENT_ID" , "<identifier of parrent of topic>");
@ -740,12 +768,143 @@ Function GetTasksFilterStructure() Export
FilterStructure.Insert("UF_CRM_TASK" , "<elements CRM>");
FilterStructure.Insert("STATUS"
, "<status for of sorting. Similar REAL_STATUS, but have additionally three meta-of status>");
If Clear Then
For Each Filter In FilterStructure Do
Filter.Value = "";
EndDo;
EndIf;
//@skip-check constructor-function-return-section
Return FilterStructure;
EndFunction
// Get structure of comments filter
// Return filter structure for GetTaskCommentsList
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of Key-Value - Fields structure
Function GetCommentsFilterStructure(Val Clear = False) Export
// More
// https://dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/getlist.php
OPI_TypeConversion.GetBoolean(Clear);
FilterStructure = New Structure;
FilterStructure.Insert("ID" , "<identifier of comment>");
FilterStructure.Insert("AUTHOR_ID " , "<identifier of author of comment>");
FilterStructure.Insert("AUTHOR_NAME ", "<name of author>");
FilterStructure.Insert("POST_DATE " , "<date of publish of comment>");
If Clear Then
For Each Filter In FilterStructure Do
Filter.Value = "";
EndDo;
EndIf;
//@skip-check constructor-function-return-section
Return FilterStructure;
EndFunction
#EndRegion
#Region Drive
// Get list of storages
// Get list of available files storages
//
// 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 GetStoragesList(Val URL, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "disk.storage.getlist");
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Upload file to a storage.
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// Name - String - File name with extension - title
// File - String, BinaryData - File for upload - file
// StorageID - String - Storage id - storage
// Rights - String - Rights array if required - rights
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function UploadFileToStorage(Val URL
, Val Name
, Val File
, Val StorageID = ""
, Val Rights = ""
, Val Token = "") Export
OPI_TypeConversion.GetLine(StorageID);
OPI_TypeConversion.GetLine(Name);
If ValueIsFilled(StorageID) Then
Method = "disk.storage.uploadfile";
Else
EndIf;
FileData = New Structure("NAME", Name);
FileData = New Map();
FileData.Insert(Name, File);
Parameters = NormalizeAuth(URL, Token, Method);
OPI_Tools.AddField("data" , FileData, "Collection", Parameters);
OPI_Tools.AddField("rights", Rights , "Array" , Parameters);
OPI_Tools.AddField("id" , StorageID, "String" , Parameters);
FileArray = NormalizeFiles(FileData);
FileArray.Add(Name);
If Not FileArray.Count() = 0 Then
Parameters.Insert("fileContent", FileArray);
EndIf;
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Delete file
// Delete file by ID
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// FileID - String, Number - ID of removing file - fileid
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function DeleteFile(Val URL, Val FileID, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "disk.file.delete");
OPI_Tools.AddField("id", FileID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
#EndRegion
#EndRegion

View File

@ -3333,6 +3333,21 @@ Procedure B24_TaskManagment() Export
EndProcedure
Procedure B24_WorkingWithDrive() 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);
OPI_TestDataRetrieval.ParameterToCollection("Picture2" , TestParameters);
Bitrix24_GetStoragesList(TestParameters);
Bitrix24_UploadFileToStorage(TestParameters);
Bitrix24_DeleteFile(TestParameters);
EndProcedure
#EndRegion
#EndRegion
@ -3775,6 +3790,16 @@ Procedure Check_BitrixTasksList(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["tasks"]).ИмеетТип("Array");
EndProcedure
Procedure Check_BitrixStorage(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Array");
OPI_TestDataRetrieval.ExpectsThat(Result["total"]).Заполнено();
EndProcedure
Procedure Check_BitrixFile(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["ID"]).Заполнено();
EndProcedure
#EndRegion
#Region AtomicTests
@ -6242,14 +6267,14 @@ EndProcedure
Procedure Bitrix24_GetTasksList(FunctionParameters)
// Full filter structer you can find at GetTasksFilterStructure method
FilterStructure = New Structure;
FilterStructure.Insert("CREATED_BY" , 1);
FilterStructure.Insert("RESPONSIBLE_ID", 10);
Filter = New Structure;
Filter.Insert("CREATED_BY" , 1);
Filter.Insert("RESPONSIBLE_ID", 10);
Indent = 1;
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.GetTasksList(URL, FilterStructure);
Result = OPI_Bitrix24.GetTasksList(URL, Filter);
OPI_TestDataRetrieval.WriteLog(Result, "GetTasksList (wh)", "Bitrix24");
@ -6268,6 +6293,92 @@ Procedure Bitrix24_GetTasksList(FunctionParameters)
EndProcedure
Procedure Bitrix24_GetStoragesList(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.GetStoragesList(URL);
OPI_TestDataRetrieval.WriteLog(Result, ")", "Bitrix24");
Check_BitrixStorage(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.GetStoragesList(URL, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetStoragesList", "Bitrix24");
Check_BitrixStorage(Result);
EndProcedure
Procedure Bitrix24_UploadFileToStorage(FunctionParameters)
Filename1 = String(New UUID) + ".jpg";
Filename2 = String(New UUID) + ".jpg";
Image1 = FunctionParameters["Picture"];
Image2 = FunctionParameters["Picture2"];
DestinationID = 3;
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.UploadFileToStorage(URL, Filename1, Image1, DestinationID);
OPI_TestDataRetrieval.WriteLog(Result, ")", "Bitrix24");
Check_BitrixFile(Result); // SKIP
FileID = Result["result"]["ID"]; // SKIP
OPI_TestDataRetrieval.WriteParameter("Bitrix24_HookFileID", FileID); // SKIP
FunctionParameters.Insert("Bitrix24_HookFileID", FileID); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.UploadFileToStorage(URL, Filename2, Image2, DestinationID, , Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "UploadFileToStorage", "Bitrix24");
Check_BitrixFile(Result);
FileID = Result["result"]["ID"];
OPI_TestDataRetrieval.WriteParameter("Bitrix24_FileID", FileID);
FunctionParameters.Insert("Bitrix24_FileID", FileID);
EndProcedure
Procedure Bitrix24_DeleteFile(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
FileID = FunctionParameters["Bitrix24_HookFileID"];
Result = OPI_Bitrix24.DeleteFile(URL, FileID);
OPI_TestDataRetrieval.WriteLog(Result, ")", "Bitrix24");
Check_BitrixTrue(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
FileID = FunctionParameters["Bitrix24_FileID"];
Result = OPI_Bitrix24.DeleteFile(URL, FileID, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DeleteFile", "Bitrix24");
Check_BitrixTrue(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -225,7 +225,8 @@ Function GetTestTable() Export
NewTest(TestTable, "B24_ServerTime" , "Server time" , Bitrix);
NewTest(TestTable, "B24_PostsManagment" , "Posts managment" , Bitrix);
NewTest(TestTable, "B24_TaskManagment" , "Tasks managment" , Bitrix);
NewTest(TestTable, "B24_WorkingWithDrive" , "Working with drive" , Bitrix);
Return TestTable;
EndFunction

View File

@ -151,7 +151,7 @@ EndFunction
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// Text - String - Text of post - text
// Visibility - String - Array or a single post target: UA all, SG<X> work group, U<X> user, DR<X> depart., G<X> group - vision
// Files - String - Data inложенandй, где toлюч > andмя file, value > path to file andдand дinоandчные Data - files
// Files - String - Data inложенandй, где toлюч > name file, value > path to file andдand дinоandчные Data - files
// Title - String - Post title - title
// Important - Boolean - Mark post as important - important
// Token - String - Access token, when not-webhook method used - token
@ -200,7 +200,7 @@ EndFunction
// PostID - String, Number - Post ID - postid
// Text - String - Text of post - text
// Visibility - String - Array or a single post target: UA all, SG<X> work group, U<X> user, DR<X> depart., G<X> group - vision
// Files - String - Data inложенandй, где toлюч > andмя file, value > path to file andдand дinоandчные Data - files
// Files - String - Data inложенandй, где toлюч > name file, value > path to file andдand дinоandчные Data - files
// Title - String - Post title - title
// Token - String - Access token, when not-webhook method used - token
//
@ -396,17 +396,17 @@ EndFunction
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// FilterStructure - Structure of Key-Value - Structure of task filter (see GetTaskFieldsStructure) - filter
// Filter - Structure of Key-Value - Structure of task filter (see GetTaskFieldsStructure) - filter
// Indent - Number, String - Offset of tasks list - offset
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTasksList(Val URL, Val FilterStructure = "", Val Indent = 0, Val Token = "") Export
Function GetTasksList(Val URL, Val Filter = "", Val Indent = 0, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "tasks.task.list");
OPI_Tools.AddField("filter", FilterStructure, "Collection", Parameters);
OPI_Tools.AddField("start" , Indent , "String" , Parameters);
OPI_Tools.AddField("filter", Filter, "Collection", Parameters);
OPI_Tools.AddField("start" , Indent, "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
@ -702,16 +702,44 @@ Function GetTaskHistory(Val URL, Val TaskID, Val Token = "") Export
EndFunction
// Get comments list for a task
// Get user comments list for a task
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// TaskID - Number, String - Task ID - task
// Filter - Structure of Key-Value - Comments filter structure (see GetCommentsFilterStructure) - filter
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetTaskCommentsList(Val URL, Val TaskID, Val Filter = "", Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "tasks.task.delegate");
OPI_Tools.AddField("TASKID", TaskID, "String" , Parameters);
OPI_Tools.AddField("FILTER", Filter , "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get structure of tasks filter
// Return filter structure for GetTasksList
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of Key-Value - Fields structure
Function GetTasksFilterStructure() Export
Function GetTasksFilterStructure(Val Clear = False) Export
// More
// https://dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_list.php
OPI_TypeConversion.GetBoolean(Clear);
FilterStructure = New Structure;
FilterStructure.Insert("ID" , "<identifier of topic>");
FilterStructure.Insert("PARENT_ID" , "<identifier of parrent of topic>");
@ -740,12 +768,143 @@ Function GetTasksFilterStructure() Export
FilterStructure.Insert("UF_CRM_TASK" , "<elements CRM>");
FilterStructure.Insert("STATUS"
, "<status for of sorting. Similar REAL_STATUS, but have additionally three meta-of status>");
If Clear Then
For Each Filter In FilterStructure Do
Filter.Value = "";
EndDo;
EndIf;
//@skip-check constructor-function-return-section
Return FilterStructure;
EndFunction
// Get structure of comments filter
// Return filter structure for GetTaskCommentsList
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of Key-Value - Fields structure
Function GetCommentsFilterStructure(Val Clear = False) Export
// More
// https://dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/getlist.php
OPI_TypeConversion.GetBoolean(Clear);
FilterStructure = New Structure;
FilterStructure.Insert("ID" , "<identifier of comment>");
FilterStructure.Insert("AUTHOR_ID " , "<identifier of author of comment>");
FilterStructure.Insert("AUTHOR_NAME ", "<name of author>");
FilterStructure.Insert("POST_DATE " , "<date of publish of comment>");
If Clear Then
For Each Filter In FilterStructure Do
Filter.Value = "";
EndDo;
EndIf;
//@skip-check constructor-function-return-section
Return FilterStructure;
EndFunction
#EndRegion
#Region Drive
// Get list of storages
// Get list of available files storages
//
// 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 GetStoragesList(Val URL, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "disk.storage.getlist");
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Upload file to a storage.
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// Name - String - File name with extension - title
// File - String, BinaryData - File for upload - file
// StorageID - String - Storage id - storage
// Rights - String - Rights array if required - rights
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function UploadFileToStorage(Val URL
, Val Name
, Val File
, Val StorageID = ""
, Val Rights = ""
, Val Token = "") Export
OPI_TypeConversion.GetLine(StorageID);
OPI_TypeConversion.GetLine(Name);
If ValueIsFilled(StorageID) Then
Method = "disk.storage.uploadfile";
Else
EndIf;
FileData = New Structure("NAME", Name);
FileData = New Map();
FileData.Insert(Name, File);
Parameters = NormalizeAuth(URL, Token, Method);
OPI_Tools.AddField("data" , FileData, "Collection", Parameters);
OPI_Tools.AddField("rights", Rights , "Array" , Parameters);
OPI_Tools.AddField("id" , StorageID, "String" , Parameters);
FileArray = NormalizeFiles(FileData);
FileArray.Add(Name);
If Not FileArray.Count() = 0 Then
Parameters.Insert("fileContent", FileArray);
EndIf;
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Delete file
// Delete file by ID
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// FileID - String, Number - ID of removing file - fileid
// Token - String - Access token, when not-webhook method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function DeleteFile(Val URL, Val FileID, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "disk.file.delete");
OPI_Tools.AddField("id", FileID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
#EndRegion
#EndRegion

View File

@ -225,7 +225,8 @@ Function GetTestTable() Export
NewTest(TestTable, "B24_ServerTime" , "Server time" , Bitrix);
NewTest(TestTable, "B24_PostsManagment" , "Posts managment" , Bitrix);
NewTest(TestTable, "B24_TaskManagment" , "Tasks managment" , Bitrix);
NewTest(TestTable, "B24_WorkingWithDrive" , "Working with drive" , Bitrix);
Return TestTable;
EndFunction

View File

@ -3333,6 +3333,21 @@ Procedure B24_TaskManagment() Export
EndProcedure
Procedure B24_WorkingWithDrive() 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);
OPI_TestDataRetrieval.ParameterToCollection("Picture2" , TestParameters);
Bitrix24_GetStoragesList(TestParameters);
Bitrix24_UploadFileToStorage(TestParameters);
Bitrix24_DeleteFile(TestParameters);
EndProcedure
#EndRegion
#EndRegion
@ -3775,6 +3790,16 @@ Procedure Check_BitrixTasksList(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["tasks"]).ИмеетТип("Array");
EndProcedure
Procedure Check_BitrixStorage(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Array");
OPI_TestDataRetrieval.ExpectsThat(Result["total"]).Заполнено();
EndProcedure
Procedure Check_BitrixFile(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["ID"]).Заполнено();
EndProcedure
#EndRegion
#Region AtomicTests
@ -6242,14 +6267,14 @@ EndProcedure
Procedure Bitrix24_GetTasksList(FunctionParameters)
// Full filter structer you can find at GetTasksFilterStructure method
FilterStructure = New Structure;
FilterStructure.Insert("CREATED_BY" , 1);
FilterStructure.Insert("RESPONSIBLE_ID", 10);
Filter = New Structure;
Filter.Insert("CREATED_BY" , 1);
Filter.Insert("RESPONSIBLE_ID", 10);
Indent = 1;
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.GetTasksList(URL, FilterStructure);
Result = OPI_Bitrix24.GetTasksList(URL, Filter);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetTasksList (wh)", "Bitrix24");
@ -6268,6 +6293,92 @@ Procedure Bitrix24_GetTasksList(FunctionParameters)
EndProcedure
Procedure Bitrix24_GetStoragesList(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.GetStoragesList(URL);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, ")", "Bitrix24");
Check_BitrixStorage(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.GetStoragesList(URL, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetStoragesList", "Bitrix24");
Check_BitrixStorage(Result);
EndProcedure
Procedure Bitrix24_UploadFileToStorage(FunctionParameters)
Filename1 = String(New UUID) + ".jpg";
Filename2 = String(New UUID) + ".jpg";
Image1 = FunctionParameters["Picture"];
Image2 = FunctionParameters["Picture2"];
DestinationID = 3;
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.UploadFileToStorage(URL, Filename1, Image1, DestinationID);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "UploadFileInХранorще (хуto)", "Bitrix24");
Check_BitrixFile(Result); // SKIP
FileID = Result["result"]["ID"]; // SKIP
OPI_TestDataRetrieval.WriteParameter("Bitrix24_HookFileID", FileID); // SKIP
FunctionParameters.Insert("Bitrix24_HookFileID", FileID); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.UploadFileToStorage(URL, Filename2, Image2, DestinationID, , Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "UploadFileInХранorще", "Bitrix24");
Check_BitrixFile(Result);
FileID = Result["result"]["ID"];
OPI_TestDataRetrieval.WriteParameter("Bitrix24_FileID", FileID);
FunctionParameters.Insert("Bitrix24_FileID", FileID);
EndProcedure
Procedure Bitrix24_DeleteFile(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
FileID = FunctionParameters["Bitrix24_HookFileID"];
Result = OPI_Bitrix24.DeleteFile(URL, FileID);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "DeleteFile (хуto)", "Bitrix24");
Check_BitrixTrue(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
FileID = FunctionParameters["Bitrix24_FileID"];
Result = OPI_Bitrix24.DeleteFile(URL, FileID, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "DeleteFile", "Bitrix24");
Check_BitrixTrue(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -151,7 +151,7 @@
NewLine.Метод = "CreatePost";
NewLine.МетодПоиска = "CREATEPOST";
NewLine.Параметр = "--files";
NewLine.Описание = "Data inложенandй, где toлюч > andмя file, value > path to file andдand дinоandчные Data (optional, def. val. - Empty)";
NewLine.Описание = "Data inложенandй, где toлюч > name file, value > path to file andдand дinоandчные Data (optional, def. val. - Empty)";
NewLine.Область = "News feed";
@ -232,7 +232,7 @@
NewLine.Метод = "UpdatePost";
NewLine.МетодПоиска = "UPDATEPOST";
NewLine.Параметр = "--files";
NewLine.Описание = "Data inложенandй, где toлюч > andмя file, value > path to file andдand дinоandчные Data (optional, def. val. - Empty)";
NewLine.Описание = "Data inложенandй, где toлюч > name file, value > path to file andдand дinоandчные Data (optional, def. val. - Empty)";
NewLine.Область = "News feed";
@ -1049,6 +1049,181 @@
NewLine.Описание = "token (optional, def. val. - Empty)";
NewLine.Область = "Tasks";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTaskCommentsList";
NewLine.МетодПоиска = "GETTASKCOMMENTSLIST";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Tasks";
NewLine.ОписаниеМетода = "Get user comments list for a task";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTaskCommentsList";
NewLine.МетодПоиска = "GETTASKCOMMENTSLIST";
NewLine.Параметр = "--task";
NewLine.Описание = "Task ID";
NewLine.Область = "Tasks";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTaskCommentsList";
NewLine.МетодПоиска = "GETTASKCOMMENTSLIST";
NewLine.Параметр = "--Comments filter structure (see GetCommentsFilterStructure)";
NewLine.Описание = "filter (optional, def. val. - Empty)";
NewLine.Область = "Tasks";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTaskCommentsList";
NewLine.МетодПоиска = "GETTASKCOMMENTSLIST";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty)";
NewLine.Область = "Tasks";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetTasksFilterStructure";
NewLine.МетодПоиска = "GETTASKSFILTERSTRUCTURE";
NewLine.Параметр = "--empty";
NewLine.Описание = "True > structure with empty valuse, False > field descriptions at values (optional, def. val. - False)";
NewLine.Область = "Tasks";
NewLine.ОписаниеМетода = "Return filter structure for GetTasksList";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetCommentsFilterStructure";
NewLine.МетодПоиска = "GETCOMMENTSFILTERSTRUCTURE";
NewLine.Параметр = "--empty";
NewLine.Описание = "True > structure with empty valuse, False > field descriptions at values (optional, def. val. - False)";
NewLine.Область = "Tasks";
NewLine.ОписаниеМетода = "Return filter structure for GetTaskCommentsList";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetStoragesList";
NewLine.МетодПоиска = "GETSTORAGESLIST";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Drive";
NewLine.ОписаниеМетода = "Get list of available files storages";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetStoragesList";
NewLine.МетодПоиска = "GETSTORAGESLIST";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty)";
NewLine.Область = "Drive";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UploadFileToStorage";
NewLine.МетодПоиска = "UPLOADFILETOSTORAGE";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Drive";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UploadFileToStorage";
NewLine.МетодПоиска = "UPLOADFILETOSTORAGE";
NewLine.Параметр = "--title";
NewLine.Описание = "File name with extension";
NewLine.Область = "Drive";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UploadFileToStorage";
NewLine.МетодПоиска = "UPLOADFILETOSTORAGE";
NewLine.Параметр = "--file";
NewLine.Описание = "File for upload";
NewLine.Область = "Drive";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UploadFileToStorage";
NewLine.МетодПоиска = "UPLOADFILETOSTORAGE";
NewLine.Параметр = "--storage";
NewLine.Описание = "Storage id (optional, def. val. - Empty)";
NewLine.Область = "Drive";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UploadFileToStorage";
NewLine.МетодПоиска = "UPLOADFILETOSTORAGE";
NewLine.Параметр = "--rights";
NewLine.Описание = "Rights array if required (optional, def. val. - Empty)";
NewLine.Область = "Drive";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UploadFileToStorage";
NewLine.МетодПоиска = "UPLOADFILETOSTORAGE";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty)";
NewLine.Область = "Drive";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "DeleteFile";
NewLine.МетодПоиска = "DELETEFILE";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Drive";
NewLine.ОписаниеМетода = "Delete file by ID";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "DeleteFile";
NewLine.МетодПоиска = "DELETEFILE";
NewLine.Параметр = "--fileid";
NewLine.Описание = "ID of removing file";
NewLine.Область = "Drive";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "DeleteFile";
NewLine.МетодПоиска = "DELETEFILE";
NewLine.Параметр = "--webhook method used";
NewLine.Описание = "token (optional, def. val. - Empty)";
NewLine.Область = "Drive";
Return CompositionTable;
EndFunction

View File

@ -395,18 +395,18 @@
// Получает список задач (50 шт. за запрос максимум) с фильтром или без (см. ПолучитьСтруктуруФильтраЗадач)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// СтруктураФильтра - Структура из КлючИЗначение - Структура отбора задач (см. ПолучитьСтруктуруФильтраЗадач) - filter
// Отступ - Число, Строка - Отступ от начала списка для полчения задач > 50 шт. рекурсивно - offset
// Токен - Строка - Токен авторизации, если используется не вебхук - token
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Фильтр - Структура из КлючИЗначение - Структура отбора задач (см. ПолучитьСтруктуруФильтраЗадач) - filter
// Отступ - Число, Строка - Отступ от начала списка для полчения задач > 50 шт. рекурсивно - offset
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПолучитьСписокЗадач(Знач URL, Знач СтруктураФильтра = "", Знач Отступ = 0, Знач Токен = "") Экспорт
Функция ПолучитьСписокЗадач(Знач URL, Знач Фильтр = "", Знач Отступ = 0, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.list");
OPI_Инструменты.ДобавитьПоле("filter", СтруктураФильтра, "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("start" , Отступ , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("filter", Фильтр, "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("start" , Отступ, "Строка" , Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
@ -702,16 +702,44 @@
КонецФункции
// Получить список комментариев задачи
// Полчает список комментариев пользователей к задаче по ID
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЗадачи - Число,Строка - ID задачи - task
// Фильтр - Структура из КлючИЗначение - Структура отбора (см. ПолучитьСтруктуруФильтраКомментариев) - filter
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПолучитьСписокКомментариевЗадачи(Знач URL, Знач IDЗадачи, Знач Фильтр = "", Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.delegate");
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи, "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("FILTER", Фильтр , "Коллекция", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить структуру фильтра задач
// Возвращает структуру полей для фильтрации задач в методе ПолучитьСписокЗадач
//
// Параметры:
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруФильтраЗадач() Экспорт
Функция ПолучитьСтруктуруФильтраЗадач(Знач Пустая = Ложь) Экспорт
// Подробнее
// https://dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_list.php
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("ID" , "<идентификатор задачи>");
СтруктураФильтра.Вставить("PARENT_ID" , "<идентификатор родительской задачи>");
@ -740,12 +768,143 @@
СтруктураФильтра.Вставить("UF_CRM_TASK" , "<элементы CRM>");
СтруктураФильтра.Вставить("STATUS"
, "<статус для сортировки. Аналогичен REAL_STATUS, но имеет дополнительно три мета-статуса>");
Если Пустая Тогда
Для Каждого Фильтр Из СтруктураФильтра Цикл
Фильтр.Значение = "";
КонецЦикла;
КонецЕсли;
//@skip-check constructor-function-return-section
Возврат СтруктураФильтра;
КонецФункции
// Получить структуру фильтра комментариев
// Возвращает структуру полей для фильтрации комментариев в методе ПолучитьСписокКомментариевЗадачи
//
// Параметры:
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруФильтраКомментариев(Знач Пустая = Ложь) Экспорт
// Подробнее
// https://dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/getlist.php
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("ID" , "<идентификатор комментария>");
СтруктураФильтра.Вставить("AUTHOR_ID " , "<идентификатор автора комментария>");
СтруктураФильтра.Вставить("AUTHOR_NAME ", "<имя автора>");
СтруктураФильтра.Вставить("POST_DATE " , "<дата публикации комментария>");
Если Пустая Тогда
Для Каждого Фильтр Из СтруктураФильтра Цикл
Фильтр.Значение = "";
КонецЦикла;
КонецЕсли;
//@skip-check constructor-function-return-section
Возврат СтруктураФильтра;
КонецФункции
#КонецОбласти
#Область Диск
// Получить список хранилищ
// Получает список доступных хранилищ файлов
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПолучитьСписокХранилищ(Знач URL, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.storage.getlist");
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Загрузить файл в хранилище.
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Наименование - Строка - Наименование файла с расширением для сохранения - title
// Файл - Строка, ДвоичныеДанные - Файл для загрузки - file
// IDХранилища - Строка - Идентификатор хранилища для загрузки - storage
// Доступы - Строка - Массив доступов по задачам, если необходимо - rights
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ЗагрузитьФайлВХранилище(Знач URL
, Знач Наименование
, Знач Файл
, Знач IDХранилища = ""
, Знач Доступы = ""
, Знач Токен = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDХранилища);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
Если ЗначениеЗаполнено(IDХранилища) Тогда
Метод = "disk.storage.uploadfile";
Иначе
КонецЕсли;
ДанныеФайла = Новый Структура("NAME", Наименование);
СодержимоеФайла = Новый Соответствие();
СодержимоеФайла.Вставить(Наименование, Файл);
Параметры = НормализоватьАвторизацию(URL, Токен, Метод);
OPI_Инструменты.ДобавитьПоле("data" , ДанныеФайла, "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("rights", Доступы , "Массив" , Параметры);
OPI_Инструменты.ДобавитьПоле("id" , IDХранилища, "Строка" , Параметры);
МассивФайла = НормализоватьФайлы(СодержимоеФайла);
МассивФайла.Добавить(Наименование);
Если Не МассивФайла.Количество() = 0 Тогда
Параметры.Вставить("fileContent", МассивФайла);
КонецЕсли;
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Удалить файл
// Удаляет файл по ID
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDФайла - Строка, Число - Идентификатор удаляемого файла - fileid
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция УдалитьФайл(Знач URL, Знач IDФайла, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.file.delete");
OPI_Инструменты.ДобавитьПоле("id", IDФайла, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@ -3333,6 +3333,21 @@
КонецПроцедуры
Процедура Б24_РаботаСДиском() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
Bitrix24_ПолучитьСписокХранилищ(ПараметрыТеста);
Bitrix24_ЗагрузитьФайлВХранилище(ПараметрыТеста);
Bitrix24_УдалитьФайл(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@ -3775,6 +3790,16 @@
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["tasks"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_БитриксХранилища(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["total"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксФайл(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["ID"]).Заполнено();
КонецПроцедуры
#КонецОбласти
#Область АтомарныеТесты
@ -6242,14 +6267,14 @@
Процедура Bitrix24_ПолучитьСписокЗадач(ПараметрыФункции)
// Полную структуру фильтра можно найти в функции ПолучитьСтруктуруФильтраЗадач
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("CREATED_BY" , 1);
СтруктураФильтра.Вставить("RESPONSIBLE_ID", 10);
Фильтр = Новый Структура;
Фильтр.Вставить("CREATED_BY" , 1);
Фильтр.Вставить("RESPONSIBLE_ID", 10);
Отступ = 1;
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьСписокЗадач(URL, СтруктураФильтра);
Результат = OPI_Bitrix24.ПолучитьСписокЗадач(URL, Фильтр);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗадач (хук)", "Bitrix24");
@ -6268,6 +6293,92 @@
КонецПроцедуры
Процедура Bitrix24_ПолучитьСписокХранилищ(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьСписокХранилищ(URL);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокХранилищ (хук)", "Bitrix24");
Проверка_БитриксХранилища(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьСписокХранилищ(URL, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокХранилищ", "Bitrix24");
Проверка_БитриксХранилища(Результат);
КонецПроцедуры
Процедура Bitrix24_ЗагрузитьФайлВХранилище(ПараметрыФункции)
Наименование1 = Строка(Новый УникальныйИдентификатор) + ".jpg";
Наименование2 = Строка(Новый УникальныйИдентификатор) + ".jpg";
Картинка1 = ПараметрыФункции["Picture"];
Картинка2 = ПараметрыФункции["Picture2"];
IDПриемника = 3;
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ЗагрузитьФайлВХранилище(URL, Наименование1, Картинка1, IDПриемника);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлВХранилище (хук)", "Bitrix24");
Проверка_БитриксФайл(Результат); // SKIP
IDФайла = Результат["result"]["ID"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookFileID", IDФайла); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookFileID", IDФайла); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ЗагрузитьФайлВХранилище(URL, Наименование2, Картинка2, IDПриемника, , Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлВХранилище", "Bitrix24");
Проверка_БитриксФайл(Результат);
IDФайла = Результат["result"]["ID"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_FileID", IDФайла);
ПараметрыФункции.Вставить("Bitrix24_FileID", IDФайла);
КонецПроцедуры
Процедура Bitrix24_УдалитьФайл(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDФайла = ПараметрыФункции["Bitrix24_HookFileID"];
Результат = OPI_Bitrix24.УдалитьФайл(URL, IDФайла);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьФайл (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDФайла = ПараметрыФункции["Bitrix24_FileID"];
Результат = OPI_Bitrix24.УдалитьФайл(URL, IDФайла, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьФайл", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@ -225,7 +225,8 @@
НовыйТест(ТаблицаТестов, "Б24_СерверноеВремя" , "Серверное время" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСНовостями" , "Работа с новостями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСЗадачами" , "Работа с задачами" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСДиском" , "Работа с диском" , Битрикс);
Возврат ТаблицаТестов;
КонецФункции

View File

@ -1049,6 +1049,181 @@
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Задачи";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокКомментариевЗадачи";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОККОММЕНТАРИЕВЗАДАЧИ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Задачи";
НоваяСтрока.ОписаниеМетода = "Полчает список комментариев пользователей к задаче по ID";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокКомментариевЗадачи";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОККОММЕНТАРИЕВЗАДАЧИ";
НоваяСтрока.Параметр = "--task";
НоваяСтрока.Описание = "ID задачи";
НоваяСтрока.Область = "Задачи";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокКомментариевЗадачи";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОККОММЕНТАРИЕВЗАДАЧИ";
НоваяСтрока.Параметр = "--filter";
НоваяСтрока.Описание = "Структура отбора (см. ПолучитьСтруктуруФильтраКомментариев) (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Задачи";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокКомментариевЗадачи";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОККОММЕНТАРИЕВЗАДАЧИ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Задачи";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСтруктуруФильтраЗадач";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУФИЛЬТРАЗАДАЧ";
НоваяСтрока.Параметр = "--empty";
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - False)";
НоваяСтрока.Область = "Задачи";
НоваяСтрока.ОписаниеМетода = "Возвращает структуру полей для фильтрации задач в методе ПолучитьСписокЗадач";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСтруктуруФильтраКомментариев";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУФИЛЬТРАКОММЕНТАРИЕВ";
НоваяСтрока.Параметр = "--empty";
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - False)";
НоваяСтрока.Область = "Задачи";
НоваяСтрока.ОписаниеМетода = "Возвращает структуру полей для фильтрации комментариев в методе ПолучитьСписокКомментариевЗадачи";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокХранилищ";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКХРАНИЛИЩ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Диск";
НоваяСтрока.ОписаниеМетода = "Получает список доступных хранилищ файлов";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокХранилищ";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКХРАНИЛИЩ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Диск";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ЗагрузитьФайлВХранилище";
НоваяСтрока.МетодПоиска = "ЗАГРУЗИТЬФАЙЛВХРАНИЛИЩЕ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Диск";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ЗагрузитьФайлВХранилище";
НоваяСтрока.МетодПоиска = "ЗАГРУЗИТЬФАЙЛВХРАНИЛИЩЕ";
НоваяСтрока.Параметр = "--title";
НоваяСтрока.Описание = "Наименование файла с расширением для сохранения";
НоваяСтрока.Область = "Диск";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ЗагрузитьФайлВХранилище";
НоваяСтрока.МетодПоиска = "ЗАГРУЗИТЬФАЙЛВХРАНИЛИЩЕ";
НоваяСтрока.Параметр = "--file";
НоваяСтрока.Описание = "Файл для загрузки";
НоваяСтрока.Область = "Диск";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ЗагрузитьФайлВХранилище";
НоваяСтрока.МетодПоиска = "ЗАГРУЗИТЬФАЙЛВХРАНИЛИЩЕ";
НоваяСтрока.Параметр = "--storage";
НоваяСтрока.Описание = "Идентификатор хранилища для загрузки (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Диск";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ЗагрузитьФайлВХранилище";
НоваяСтрока.МетодПоиска = "ЗАГРУЗИТЬФАЙЛВХРАНИЛИЩЕ";
НоваяСтрока.Параметр = "--rights";
НоваяСтрока.Описание = "Массив доступов по задачам, если необходимо (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Диск";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ЗагрузитьФайлВХранилище";
НоваяСтрока.МетодПоиска = "ЗАГРУЗИТЬФАЙЛВХРАНИЛИЩЕ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Диск";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "УдалитьФайл";
НоваяСтрока.МетодПоиска = "УДАЛИТЬФАЙЛ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Диск";
НоваяСтрока.ОписаниеМетода = "Удаляет файл по ID";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "УдалитьФайл";
НоваяСтрока.МетодПоиска = "УДАЛИТЬФАЙЛ";
НоваяСтрока.Параметр = "--fileid";
НоваяСтрока.Описание = "Идентификатор удаляемого файла";
НоваяСтрока.Область = "Диск";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "УдалитьФайл";
НоваяСтрока.МетодПоиска = "УДАЛИТЬФАЙЛ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Диск";
Возврат ТаблицаСостава;
КонецФункции