1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-17 21:08:03 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot) 2024-11-10 00:21:33 +03:00
parent ae1ad3d4aa
commit 4eb7f344f1
25 changed files with 6026 additions and 5496 deletions

View File

@ -1244,6 +1244,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_ТестыCLI.os "CLI_ЯМетрика_УправлениеМетками"
- 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_ТестыCLI.os "CLI_ЯМетрика_УправлениеСчетчиками"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3

View File

@ -630,6 +630,10 @@ pipeline {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_ЯМетрика_УправлениеМетками"'
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_ЯМетрика_УправлениеСчетчиками"'
}
}
}

View File

@ -2476,6 +2476,10 @@ def test_metrika(){
powershell encoding: 'UTF-8', script:'./oint.exe metrika GetTagsList --token "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika GetCounterStructure --empty "test" --debug --test '
}
}
pipeline {
agent any

View File

@ -2476,6 +2476,10 @@ def test_metrika(){
powershell encoding: 'UTF-8', script:'./oint.exe metrika ПолучитьСписокМеток --token "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika ПолучитьСтруктуруСчетчика --empty "test" --debug --test '
}
}
pipeline {
agent any

View File

@ -630,6 +630,10 @@ pipeline {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "ЯМетрика_УправлениеМетками"'
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "ЯМетрика_УправлениеСчетчиками"'
}
}
}

View File

@ -0,0 +1 @@
 Result = OPI_YandexMetrika.GetCounterStructure();

View File

@ -0,0 +1,37 @@
---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Get counter structure
Gets the structure of standard fields for counter creation
`Function GetCounterStructure(Val Clear = False) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Clear | --empty | Boolean | ✖ | True > structure with empty valuse, False > field descriptions at values |
Returns: Structure of KeyAndValue - Counter field structure
<br/>
:::tip
Description in the API documentation: [Creating a counter](https://yandex.ru/dev/metrika/en/management/openapi/counter/addCounter)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Result = OPI_YandexMetrika.GetCounterStructure();
```

View File

@ -0,0 +1,4 @@
{
"label": "Counters management",
"position": "3"
}

View File

@ -0,0 +1 @@
 Результат = OPI_YandexMetrika.ПолучитьСтруктуруСчетчика();

View File

@ -0,0 +1,37 @@
---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Получить структуру счетчика
Получает структуру стандартных полей для создания счетчика
`Функция ПолучитьСтруктуруСчетчика(Знач Пустая = Ложь) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Пустая | --empty | Булево | &#x2716; | Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей |
Возвращаемое значение: Структура Из КлючИЗначение - Структура полей счетчика
<br/>
:::tip
Описание в документации API: [Создание счетчика](https://yandex.ru/dev/metrika/ru/management/openapi/counter/addCounter)
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Результат = OPI_YandexMetrika.ПолучитьСтруктуруСчетчика();
```

View File

@ -0,0 +1,4 @@
{
"label": "Управление счетчиками",
"position": "3"
}

File diff suppressed because it is too large Load Diff

View File

@ -174,4 +174,185 @@ EndFunction
#EndRegion
#Region CountersManagement
Function CreateCounter(Val Token, Val CounterStructure) Export
EndFunction
// Get counter structure
// Gets the structure of standard fields for counter creation
//
// Note
// Description in the API documentation: [Creating a counter](@yandex.ru/dev/metrika/en/management/openapi/counter/addCounter)
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of KeyAndValue - Counter field structure
Function GetCounterStructure(Val Clear = False) Export
OPI_TypeConversion.GetBoolean(Clear);
CounterStructure = New Structure;
CounterStructure.Insert("autogoals_enabled", "<auto-targeting>");
CodeSettingsStructure = New Structure;
CodeSettingsStructure.Insert("async" , "<asynchronous counter code>");
CodeSettingsStructure.Insert("clickmap" , "<collection of statistics for Click Map operation>");
CodeSettingsStructure.Insert("ecommerce" , "<e-commerce data collection>");
CodeSettingsStructure.Insert("in_one_line" , "<output the counter code in one line>");
CodeSettingsStructure.Insert("track_hash" , "<tracking the hash in the browser address bar>");
CodeSettingsStructure.Insert("visor" , "<recording and analyzing the behavior of site visitors>");
CodeSettingsStructure.Insert("xml_site" , "<for XML-sites>");
CodeSettingsStructure.Insert("ytm" , "<use of a tag management system>");
CodeSettingsStructure.Insert("alternative_cdn"
, "<take into account visits from regions without access to Yandex resources>");
InformerStructure = New Structure;
InformerStructure.Insert("color_arrow", "<arrow color on the informer>");
InformerStructure.Insert("color_end" , "<final (bottom) color of the informer in RRGGBBAA format>");
InformerStructure.Insert("color_start", "<initial (top) color of the informer in RRGGBBAA format>");
InformerStructure.Insert("color_text" , "<informer text color>");
InformerStructure.Insert("enabled" , "<informer display permission>");
InformerStructure.Insert("indicator" , "<informer index>");
InformerStructure.Insert("size" , "<informer size>");
InformerStructure.Insert("type" , "<informer type>");
CodeSettingsStructure.Insert("informer", InformerStructure);
CounterStructure.Insert("code_options", CodeSettingsStructure);
FlagsStructure = New Structure;
FlagsStructure.Insert("collect_first_party_data" , "<use advanced tracking settings>");
FlagsStructure.Insert("measurement_enabled" , "<enable the Measurement Protocol option>");
FlagsStructure.Insert("use_in_benchmarks" , "<access market reports>");
FlagsStructure.Insert("direct_allow_use_goals_without_access"
, "<allow optimization by goals in advertising campaigns without access to the counter>");
CounterStructure.Insert("counter_flags", FlagsStructure);
CounterStructure.Insert("favorite" , "<favorite>");
CounterStructure.Insert("filter_robots", "<robots filtration>");
FiltersArray = New Array;
FilterStructure = New Structure;
FilterStructure.Insert("action" , "<filter type>");
FilterStructure.Insert("attr" , "<type of data to which the filter is applied>");
FilterStructure.Insert("status" , "<filter status>");
FilterStructure.Insert("type" , "<attitude or action for the filter>");
FilterStructure.Insert("end_ip" , "<last IP address of the range>");
FilterStructure.Insert("id" , "<filter identifier to change>");
FilterStructure.Insert("start_ip" , "<first IP address of the range>");
FilterStructure.Insert("value" , "<value>");
FilterStructure.Insert("with_subdomains", "<subdomain filter>");
FiltersArray.Add(FilterStructure);
CounterStructure.Insert("filters" , FiltersArray);
CounterStructure.Insert("gdpr_agreement_accepted", "<consent to the Data Processing Agreement>");
GoalsArray = New Array;
GoalStructure = New Structure;
GoalStructure.Insert("name" , "<goal name>");
GoalStructure.Insert("type" , "<goal type>");
GoalStructure.Insert("default_price", "<goal default price>");
GoalStructure.Insert("id" , "<if of goal for updating>");
GoalStructure.Insert("is_favorite" , "<favorite>");
GoalsArray.Add(GoalStructure);
CounterStructure.Insert("goals", GoalsArray);
PremissionsArray = New Array;
PermissionsStructure = New Structure;
PermissionsStructure.Insert("perm" , "<Access level>");
PermissionsStructure.Insert("comment" , "<arbitrary comment>");
PermissionsStructure.Insert("partner_data_access", "<access to report group Monetization>");
PermissionsStructure.Insert("user_login" , "<login of the user to whom the authorization has been granted>");
PermissionsStructure.Insert("user_uid" , "<uid of the user to whom the authorization has been granted>");
PremissionsArray.Add(PermissionsStructure);
CounterStructure.Insert("grants", PremissionsArray);
LabelsArray = New Array;
LabelStructure = New Structure;
LabelStructure.Insert("name", "<lable name>");
LabelsArray.Add(LabelStructure);
CounterStructure.Insert("labels" , LabelsArray);
CounterStructure.Insert("measurement_tokens", "<active token list>");
MirrorsArray = New Array;
MirrorStructure = New Structure;
MirrorStructure.Insert("site", "<full site domain>");
MirrorsArray.Add(MirrorStructure);
CounterStructure.Insert("mirrors2", MirrorsArray);
CounterStructure.Insert("name" , "<counter name>");
OfflineOptionsStructure = New Structure;
OfflineOptionsStructure.Insert("offline_calls_extended_threshold" , "<extended call accounting period>");
OfflineOptionsStructure.Insert("offline_conversion_extended_threshold"
, "<extended accounting period for offline conversions>");
OfflineOptionsStructure.Insert("offline_visits_extended_threshold"
, "<extended accounting period for offline visits>");
CounterStructure.Insert("offline_options", OfflineOptionsStructure);
ActionsArray = New Array;
OperationStructure = New Structure;
OperationStructure.Insert("action", "<action type>");
OperationStructure.Insert("attr" , "<filter field>");
OperationStructure.Insert("status", "<action status>");
OperationStructure.Insert("id" , "<change actions>");
OperationStructure.Insert("value" , "<replacement value>");
ActionsArray.Add(OperationStructure);
CounterStructure.Insert("operations" , ActionsArray);
CounterStructure.Insert("owner_login", "<owners login>");
CounterStructure.Insert("permission" , "<counter access level>");
AnalyticsStructure = New Structure;
AnalyticsStructure.Insert("enabled" , "<content analytics data collection>");
AnalyticsStructure.Insert("schema" , "<markup type used on the site>");
AnalyticsStructure.Insert("schema_options", "<available markup options>");
CounterStructure.Insert("publisher_options", AnalyticsStructure);
CounterStructure.Insert("site2" , MirrorsArray);
CounterStructure.Insert("source" , "<counter type>");
CounterStructure.Insert("time_zone_name" , "<time zone>");
CounterStructure.Insert("visit_threshold" , "<visit timeout in seconds>");
WebvisorStructure = New Structure;
WebvisorStructure.Insert("arch_enabled" , "<page saving>");
WebvisorStructure.Insert("arch_type" , "<page content recording>");
WebvisorStructure.Insert("load_player_type", "<page load to player>");
WebvisorStructure.Insert("urls" , "<save page list>");
WebvisorStructure.Insert("wv_forms" , "<recording the contents of fields and forms>");
WebvisorStructure.Insert("wv_version" , "<webvisor version>");
CounterStructure.Insert("webvisor", WebvisorStructure);
If Clear Then
CounterStructure = OPI_Tools.ClearCollectionRecursively(CounterStructure);
EndIf;
//@skip-check constructor-function-return-section
Return CounterStructure;
EndFunction
#EndRegion
#EndRegion

View File

@ -2083,6 +2083,15 @@ Procedure YaMetrika_TagsManagment() Export
EndProcedure
Procedure YaMetrika_CountersManagement() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
YandexMetrika_GetCounterStructure(TestParameters);
EndProcedure
#EndRegion
#EndRegion
@ -14403,6 +14412,17 @@ Procedure YandexMetrika_GetTag(FunctionParameters)
EndProcedure
Procedure YandexMetrika_GetCounterStructure(FunctionParameters)
Result = OPI_YandexMetrika.GetCounterStructure();
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetCounterStructure", "YandexMetrika");
OPI_TestDataRetrieval.Check_Structure(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -250,6 +250,7 @@ Function GetTestTable() Export
NewTest(TestTable, "CDEKAPI_OrdersManagment" , "Orders managment" , Cdek);
NewTest(TestTable, "CdekAPI_CourierInvitationsManagment" , "Courier invitations managment" , Cdek);
NewTest(TestTable, "YaMetrika_TagsManagment" , "Tags managment" , Metrika);
NewTest(TestTable, "YaMetrika_CountersManagement" , "Counters management" , Metrika);
Return TestTable;

View File

@ -250,6 +250,7 @@ Function GetTestTable() Export
NewTest(TestTable, "CDEKAPI_OrdersManagment" , "Orders managment" , Cdek);
NewTest(TestTable, "CdekAPI_CourierInvitationsManagment" , "Courier invitations managment" , Cdek);
NewTest(TestTable, "YaMetrika_TagsManagment" , "Tags managment" , Metrika);
NewTest(TestTable, "YaMetrika_CountersManagement" , "Counters management" , Metrika);
Return TestTable;

View File

@ -2083,6 +2083,15 @@ Procedure YaMetrika_TagsManagment() Export
EndProcedure
Procedure YaMetrika_CountersManagement() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
YandexMetrika_GetCounterStructure(TestParameters);
EndProcedure
#EndRegion
#EndRegion
@ -14403,6 +14412,17 @@ Procedure YandexMetrika_GetTag(FunctionParameters)
EndProcedure
Procedure YandexMetrika_GetCounterStructure(FunctionParameters)
Result = OPI_YandexMetrika.GetCounterStructure();
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetCounterStructure", "YandexMetrika");
OPI_TestDataRetrieval.Check_Structure(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -174,4 +174,185 @@ EndFunction
#EndRegion
#Region CountersManagement
Function CreateCounter(Val Token, Val CounterStructure) Export
EndFunction
// Get counter structure
// Gets the structure of standard fields for counter creation
//
// Note
// Description in the API documentation: [Creating a counter](@yandex.ru/dev/metrika/en/management/openapi/counter/addCounter)
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of KeyAndValue - Counter field structure
Function GetCounterStructure(Val Clear = False) Export
OPI_TypeConversion.GetBoolean(Clear);
CounterStructure = New Structure;
CounterStructure.Insert("autogoals_enabled", "<auto-targeting>");
CodeSettingsStructure = New Structure;
CodeSettingsStructure.Insert("async" , "<asynchronous counter code>");
CodeSettingsStructure.Insert("clickmap" , "<collection of statistics for Click Map operation>");
CodeSettingsStructure.Insert("ecommerce" , "<e-commerce data collection>");
CodeSettingsStructure.Insert("in_one_line" , "<output the counter code in one line>");
CodeSettingsStructure.Insert("track_hash" , "<tracking the hash in the browser address bar>");
CodeSettingsStructure.Insert("visor" , "<recording and analyzing the behavior of site visitors>");
CodeSettingsStructure.Insert("xml_site" , "<for XML-sites>");
CodeSettingsStructure.Insert("ytm" , "<use of a tag management system>");
CodeSettingsStructure.Insert("alternative_cdn"
, "<take into account visits from regions without access to Yandex resources>");
InformerStructure = New Structure;
InformerStructure.Insert("color_arrow", "<arrow color on the informer>");
InformerStructure.Insert("color_end" , "<final (bottom) color of the informer in RRGGBBAA format>");
InformerStructure.Insert("color_start", "<initial (top) color of the informer in RRGGBBAA format>");
InformerStructure.Insert("color_text" , "<informer text color>");
InformerStructure.Insert("enabled" , "<informer display permission>");
InformerStructure.Insert("indicator" , "<informer index>");
InformerStructure.Insert("size" , "<informer size>");
InformerStructure.Insert("type" , "<informer type>");
CodeSettingsStructure.Insert("informer", InformerStructure);
CounterStructure.Insert("code_options", CodeSettingsStructure);
FlagsStructure = New Structure;
FlagsStructure.Insert("collect_first_party_data" , "<use advanced tracking settings>");
FlagsStructure.Insert("measurement_enabled" , "<enable the Measurement Protocol option>");
FlagsStructure.Insert("use_in_benchmarks" , "<access market reports>");
FlagsStructure.Insert("direct_allow_use_goals_without_access"
, "<allow optimization by goals in advertising campaigns without access to the counter>");
CounterStructure.Insert("counter_flags", FlagsStructure);
CounterStructure.Insert("favorite" , "<favorite>");
CounterStructure.Insert("filter_robots", "<robots filtration>");
FiltersArray = New Array;
FilterStructure = New Structure;
FilterStructure.Insert("action" , "<filter type>");
FilterStructure.Insert("attr" , "<type of data to which the filter is applied>");
FilterStructure.Insert("status" , "<filter status>");
FilterStructure.Insert("type" , "<attitude or action for the filter>");
FilterStructure.Insert("end_ip" , "<last IP address of the range>");
FilterStructure.Insert("id" , "<filter identifier to change>");
FilterStructure.Insert("start_ip" , "<first IP address of the range>");
FilterStructure.Insert("value" , "<value>");
FilterStructure.Insert("with_subdomains", "<subdomain filter>");
FiltersArray.Add(FilterStructure);
CounterStructure.Insert("filters" , FiltersArray);
CounterStructure.Insert("gdpr_agreement_accepted", "<consent to the Data Processing Agreement>");
GoalsArray = New Array;
GoalStructure = New Structure;
GoalStructure.Insert("name" , "<goal name>");
GoalStructure.Insert("type" , "<goal type>");
GoalStructure.Insert("default_price", "<goal default price>");
GoalStructure.Insert("id" , "<if of goal for updating>");
GoalStructure.Insert("is_favorite" , "<favorite>");
GoalsArray.Add(GoalStructure);
CounterStructure.Insert("goals", GoalsArray);
PremissionsArray = New Array;
PermissionsStructure = New Structure;
PermissionsStructure.Insert("perm" , "<Access level>");
PermissionsStructure.Insert("comment" , "<arbitrary comment>");
PermissionsStructure.Insert("partner_data_access", "<access to report group Monetization>");
PermissionsStructure.Insert("user_login" , "<login of the user to whom the authorization has been granted>");
PermissionsStructure.Insert("user_uid" , "<uid of the user to whom the authorization has been granted>");
PremissionsArray.Add(PermissionsStructure);
CounterStructure.Insert("grants", PremissionsArray);
LabelsArray = New Array;
LabelStructure = New Structure;
LabelStructure.Insert("name", "<lable name>");
LabelsArray.Add(LabelStructure);
CounterStructure.Insert("labels" , LabelsArray);
CounterStructure.Insert("measurement_tokens", "<active token list>");
MirrorsArray = New Array;
MirrorStructure = New Structure;
MirrorStructure.Insert("site", "<full site domain>");
MirrorsArray.Add(MirrorStructure);
CounterStructure.Insert("mirrors2", MirrorsArray);
CounterStructure.Insert("name" , "<counter name>");
OfflineOptionsStructure = New Structure;
OfflineOptionsStructure.Insert("offline_calls_extended_threshold" , "<extended call accounting period>");
OfflineOptionsStructure.Insert("offline_conversion_extended_threshold"
, "<extended accounting period for offline conversions>");
OfflineOptionsStructure.Insert("offline_visits_extended_threshold"
, "<extended accounting period for offline visits>");
CounterStructure.Insert("offline_options", OfflineOptionsStructure);
ActionsArray = New Array;
OperationStructure = New Structure;
OperationStructure.Insert("action", "<action type>");
OperationStructure.Insert("attr" , "<filter field>");
OperationStructure.Insert("status", "<action status>");
OperationStructure.Insert("id" , "<change actions>");
OperationStructure.Insert("value" , "<replacement value>");
ActionsArray.Add(OperationStructure);
CounterStructure.Insert("operations" , ActionsArray);
CounterStructure.Insert("owner_login", "<owners login>");
CounterStructure.Insert("permission" , "<counter access level>");
AnalyticsStructure = New Structure;
AnalyticsStructure.Insert("enabled" , "<content analytics data collection>");
AnalyticsStructure.Insert("schema" , "<markup type used on the site>");
AnalyticsStructure.Insert("schema_options", "<available markup options>");
CounterStructure.Insert("publisher_options", AnalyticsStructure);
CounterStructure.Insert("site2" , MirrorsArray);
CounterStructure.Insert("source" , "<counter type>");
CounterStructure.Insert("time_zone_name" , "<time zone>");
CounterStructure.Insert("visit_threshold" , "<visit timeout in seconds>");
WebvisorStructure = New Structure;
WebvisorStructure.Insert("arch_enabled" , "<page saving>");
WebvisorStructure.Insert("arch_type" , "<page content recording>");
WebvisorStructure.Insert("load_player_type", "<page load to player>");
WebvisorStructure.Insert("urls" , "<save page list>");
WebvisorStructure.Insert("wv_forms" , "<recording the contents of fields and forms>");
WebvisorStructure.Insert("wv_version" , "<webvisor version>");
CounterStructure.Insert("webvisor", WebvisorStructure);
If Clear Then
CounterStructure = OPI_Tools.ClearCollectionRecursively(CounterStructure);
EndIf;
//@skip-check constructor-function-return-section
Return CounterStructure;
EndFunction
#EndRegion
#EndRegion

View File

@ -114,6 +114,17 @@
NewLine.Область = "Tags managment";
NewLine.ОписаниеМетода = "Gets a list of the users tags";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "GetCounterStructure";
NewLine.МетодПоиска = "GETCOUNTERSTRUCTURE";
NewLine.Параметр = "--empty";
NewLine.Описание = "True > structure with empty valuse, False > field descriptions at values (optional, def. val. - No)";
NewLine.Область = "Counters management";
NewLine.ОписаниеМетода = "Gets the structure of standard fields for counter creation";
Return CompositionTable;
EndFunction

View File

@ -177,7 +177,7 @@
#Область УправлениеСчетчиками
Функция СоздатьСчетчик(Знач Токен, Знач СтруктураСчетчика) Экспорт
КонецФункции
// Получить структуру счетчика
@ -197,7 +197,7 @@
СтруктураСчетчика = Новый Структура;
СтруктураСчетчика.Вставить("autogoals_enabled", "<включение автоматических целей>");
СтруктураНастроекКода = Новый Структура;
СтруктураНастроекКода.Вставить("async" , "<асинхронный код счетчика>");
СтруктураНастроекКода.Вставить("clickmap" , "<сбор статистики для работы Карты кликов>");
@ -209,7 +209,7 @@
СтруктураНастроекКода.Вставить("ytm" , "<использование системы управления тегами>");
СтруктураНастроекКода.Вставить("alternative_cdn"
, "<учитывать посещения из регионов без доступ к ресурсам Яндекса>");
СтруктураИнформера = Новый Структура;
СтруктураИнформера.Вставить("color_arrow", "<цвет стрелки на информере>");
СтруктураИнформера.Вставить("color_end" , "<конечный (нижний) цвет информера в формате RRGGBBAA>");
@ -219,24 +219,24 @@
СтруктураИнформера.Вставить("indicator" , "<показатель информера>");
СтруктураИнформера.Вставить("size" , "<размер информера>");
СтруктураИнформера.Вставить("type" , "<тип информера>");
СтруктураНастроекКода.Вставить("informer", СтруктураИнформера);
СтруктураСчетчика.Вставить("code_options", СтруктураНастроекКода);
СтруктураФлагов = Новый Структура;
СтруктураФлагов.Вставить("collect_first_party_data" , "<использовать доп. настройки отслеживания>");
СтруктураФлагов.Вставить("measurement_enabled" , "<включить опцию Measurement Protocol>");
СтруктураФлагов.Вставить("use_in_benchmarks" , "<получать доступ к отчетам по рынку>");
СтруктураФлагов.Вставить("direct_allow_use_goals_without_access"
, "<разрешить в рекламных кампаниях оптимизацию по целям без доступа к счетчику>");
СтруктураСчетчика.Вставить("counter_flags", СтруктураФлагов);
СтруктураСчетчика.Вставить("favorite" , "<избранное>");
СтруктураСчетчика.Вставить("filter_robots", "<фильтрация роботов>");
МассивФильтров = Новый Массив;
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("action" , "<тип фильтра>");
СтруктураФильтра.Вставить("attr" , "<тип данных, к которым применяется фильтр>");
@ -247,93 +247,93 @@
СтруктураФильтра.Вставить("start_ip" , "<первый IP-адрес диапазона>");
СтруктураФильтра.Вставить("value" , "<значение>");
СтруктураФильтра.Вставить("with_subdomains", "<фильтровать по поддоменам>");
МассивФильтров.Добавить(СтруктураФильтра);
СтруктураСчетчика.Вставить("filters" , МассивФильтров);
СтруктураСчетчика.Вставить("gdpr_agreement_accepted", "<согласие с Договором об обработке данных>");
МассивЦелей = Новый Массив;
СтруктураЦели = Новый Структура;
СтруктураЦели.Вставить("name" , "<наименование цели>");
СтруктураЦели.Вставить("type" , "<тип цели>");
СтруктураЦели.Вставить("default_price", "<цена цели по умолчанию>");
СтруктураЦели.Вставить("id" , "<id цели для изменения>");
СтруктураЦели.Вставить("is_favorite" , "<избранное>");
МассивЦелей.Добавить(СтруктураЦели);
СтруктураСчетчика.Вставить("goals", МассивЦелей);
МассивПрав = Новый Массив;
СтруктураПрав = Новый Структура;
СтруктураПрав.Вставить("perm" , "<уровень доступа>");
СтруктураПрав.Вставить("comment" , "<произвольный комментарий>");
СтруктураПрав.Вставить("partner_data_access", "<доступ к группе отчетов Монетизация>");
СтруктураПрав.Вставить("user_login" , "<логин пользователя, которому выдано разрешение>");
СтруктураПрав.Вставить("user_uid" , "<uid пользователя, которому выдано разрешение>");
МассивПрав.Добавить(СтруктураПрав);
СтруктураСчетчика.Вставить("grants", МассивПрав);
МассивЯрлыков = Новый Массив;
СтруктураЯрлыка = Новый Структура;
СтруктураЯрлыка.Вставить("name", "<имя метки>");
МассивЯрлыков.Добавить(СтруктураЯрлыка);
СтруктураСчетчика.Вставить("labels" , МассивЯрлыков);
СтруктураСчетчика.Вставить("measurement_tokens", "<список активных токенов>");
МассивЗеркал = Новый Массив;
СтруктураЗеркала = Новый Структура;
СтруктураЗеркала.Вставить("site", "<полный домен сайта>");
МассивЗеркал.Добавить(СтруктураЗеркала);
СтруктураСчетчика.Вставить("mirrors2", МассивЗеркал);
СтруктураСчетчика.Вставить("name" , "<наименование счетчика>");
СтруктураОффлайнОпций = Новый Структура;
СтруктураОффлайнОпций.Вставить("offline_calls_extended_threshold" , "<расширенный период учета звонков>");
СтруктураОффлайнОпций.Вставить("offline_conversion_extended_threshold"
, "<расширенный период учета офлайн-конверсий>");
СтруктураОффлайнОпций.Вставить("offline_visits_extended_threshold"
СтруктураОффлайнОпций.Вставить("offline_visits_extended_threshold"
, "<расширенный период учета оффлайн-заходов>");
СтруктураСчетчика.Вставить("offline_options", СтруктураОффлайнОпций);
МассивОпераций = Новый Массив;
СтруктураОперации = Новый Структура;
СтруктураОперации.Вставить("action", "<тип операции>");
СтруктураОперации.Вставить("attr" , "<поле фильтрации>");
СтруктураОперации.Вставить("status", "<статус операции>");
СтруктураОперации.Вставить("id" , "<операции для изменения>");
СтруктураОперации.Вставить("value" , "<значение для замены>");
МассивОпераций.Добавить(СтруктураОперации);
СтруктураСчетчика.Вставить("operations" , МассивОпераций);
СтруктураСчетчика.Вставить("owner_login", "<логин владельца>");
СтруктураСчетчика.Вставить("permission" , "<уровень доступа к счетчику>");
СтруктураАналитики = Новый Структура;
СтруктураАналитики.Вставить("enabled" , "<сбор данных контентной аналитики>");
СтруктураАналитики.Вставить("schema" , "<используемый на сайте тип разметки>");
СтруктураАналитики.Вставить("schema_options", "<доступные варианты разметки сайта>");
СтруктураСчетчика.Вставить("publisher_options", СтруктураАналитики);
СтруктураСчетчика.Вставить("site2" , МассивЗеркал);
СтруктураСчетчика.Вставить("source" , "<тип счетчика>");
СтруктураСчетчика.Вставить("time_zone_name" , "<часовой пояс>");
СтруктураСчетчика.Вставить("visit_threshold" , "<таймаут визита в секундах>");
СтруктураВебвизора = Новый Структура;
СтруктураВебвизора.Вставить("arch_enabled" , "<сохранение страниц сайта>");
СтруктураВебвизора.Вставить("arch_type" , "<запись содержимого страниц>");
@ -341,7 +341,7 @@
СтруктураВебвизора.Вставить("urls" , "<список страниц для сохранения>");
СтруктураВебвизора.Вставить("wv_forms" , "<запись содержимого полей и форм>");
СтруктураВебвизора.Вставить("wv_version" , "<версия вебвизора>");
СтруктураСчетчика.Вставить("webvisor", СтруктураВебвизора);
Если Пустая Тогда
@ -350,7 +350,7 @@
//@skip-check constructor-function-return-section
Возврат СтруктураСчетчика;
КонецФункции
#КонецОбласти

View File

@ -2087,9 +2087,9 @@
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Metrika_Token", ПараметрыТеста);
YandexMetrika_ПолучитьСтруктуруСчетчика(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
@ -14413,14 +14413,14 @@
КонецПроцедуры
Процедура YandexMetrika_ПолучитьСтруктуруСчетчика(ПараметрыФункции)
Результат = OPI_YandexMetrika.ПолучитьСтруктуруСчетчика();
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруСчетчика", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
КонецПроцедуры
#КонецОбласти

View File

@ -1994,9 +1994,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@ -177,7 +177,7 @@
#Область УправлениеСчетчиками
Функция СоздатьСчетчик(Знач Токен, Знач СтруктураСчетчика) Экспорт
КонецФункции
// Получить структуру счетчика
@ -197,7 +197,7 @@
СтруктураСчетчика = Новый Структура;
СтруктураСчетчика.Вставить("autogoals_enabled", "<включение автоматических целей>");
СтруктураНастроекКода = Новый Структура;
СтруктураНастроекКода.Вставить("async" , "<асинхронный код счетчика>");
СтруктураНастроекКода.Вставить("clickmap" , "<сбор статистики для работы Карты кликов>");
@ -209,7 +209,7 @@
СтруктураНастроекКода.Вставить("ytm" , "<использование системы управления тегами>");
СтруктураНастроекКода.Вставить("alternative_cdn"
, "<учитывать посещения из регионов без доступ к ресурсам Яндекса>");
СтруктураИнформера = Новый Структура;
СтруктураИнформера.Вставить("color_arrow", "<цвет стрелки на информере>");
СтруктураИнформера.Вставить("color_end" , "<конечный (нижний) цвет информера в формате RRGGBBAA>");
@ -219,24 +219,24 @@
СтруктураИнформера.Вставить("indicator" , "<показатель информера>");
СтруктураИнформера.Вставить("size" , "<размер информера>");
СтруктураИнформера.Вставить("type" , "<тип информера>");
СтруктураНастроекКода.Вставить("informer", СтруктураИнформера);
СтруктураСчетчика.Вставить("code_options", СтруктураНастроекКода);
СтруктураФлагов = Новый Структура;
СтруктураФлагов.Вставить("collect_first_party_data" , "<использовать доп. настройки отслеживания>");
СтруктураФлагов.Вставить("measurement_enabled" , "<включить опцию Measurement Protocol>");
СтруктураФлагов.Вставить("use_in_benchmarks" , "<получать доступ к отчетам по рынку>");
СтруктураФлагов.Вставить("direct_allow_use_goals_without_access"
, "<разрешить в рекламных кампаниях оптимизацию по целям без доступа к счетчику>");
СтруктураСчетчика.Вставить("counter_flags", СтруктураФлагов);
СтруктураСчетчика.Вставить("favorite" , "<избранное>");
СтруктураСчетчика.Вставить("filter_robots", "<фильтрация роботов>");
МассивФильтров = Новый Массив;
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("action" , "<тип фильтра>");
СтруктураФильтра.Вставить("attr" , "<тип данных, к которым применяется фильтр>");
@ -247,93 +247,93 @@
СтруктураФильтра.Вставить("start_ip" , "<первый IP-адрес диапазона>");
СтруктураФильтра.Вставить("value" , "<значение>");
СтруктураФильтра.Вставить("with_subdomains", "<фильтровать по поддоменам>");
МассивФильтров.Добавить(СтруктураФильтра);
СтруктураСчетчика.Вставить("filters" , МассивФильтров);
СтруктураСчетчика.Вставить("gdpr_agreement_accepted", "<согласие с Договором об обработке данных>");
МассивЦелей = Новый Массив;
СтруктураЦели = Новый Структура;
СтруктураЦели.Вставить("name" , "<наименование цели>");
СтруктураЦели.Вставить("type" , "<тип цели>");
СтруктураЦели.Вставить("default_price", "<цена цели по умолчанию>");
СтруктураЦели.Вставить("id" , "<id цели для изменения>");
СтруктураЦели.Вставить("is_favorite" , "<избранное>");
МассивЦелей.Добавить(СтруктураЦели);
СтруктураСчетчика.Вставить("goals", МассивЦелей);
МассивПрав = Новый Массив;
СтруктураПрав = Новый Структура;
СтруктураПрав.Вставить("perm" , "<уровень доступа>");
СтруктураПрав.Вставить("comment" , "<произвольный комментарий>");
СтруктураПрав.Вставить("partner_data_access", "<доступ к группе отчетов Монетизация>");
СтруктураПрав.Вставить("user_login" , "<логин пользователя, которому выдано разрешение>");
СтруктураПрав.Вставить("user_uid" , "<uid пользователя, которому выдано разрешение>");
МассивПрав.Добавить(СтруктураПрав);
СтруктураСчетчика.Вставить("grants", МассивПрав);
МассивЯрлыков = Новый Массив;
СтруктураЯрлыка = Новый Структура;
СтруктураЯрлыка.Вставить("name", "<имя метки>");
МассивЯрлыков.Добавить(СтруктураЯрлыка);
СтруктураСчетчика.Вставить("labels" , МассивЯрлыков);
СтруктураСчетчика.Вставить("measurement_tokens", "<список активных токенов>");
МассивЗеркал = Новый Массив;
СтруктураЗеркала = Новый Структура;
СтруктураЗеркала.Вставить("site", "<полный домен сайта>");
МассивЗеркал.Добавить(СтруктураЗеркала);
СтруктураСчетчика.Вставить("mirrors2", МассивЗеркал);
СтруктураСчетчика.Вставить("name" , "<наименование счетчика>");
СтруктураОффлайнОпций = Новый Структура;
СтруктураОффлайнОпций.Вставить("offline_calls_extended_threshold" , "<расширенный период учета звонков>");
СтруктураОффлайнОпций.Вставить("offline_conversion_extended_threshold"
, "<расширенный период учета офлайн-конверсий>");
СтруктураОффлайнОпций.Вставить("offline_visits_extended_threshold"
СтруктураОффлайнОпций.Вставить("offline_visits_extended_threshold"
, "<расширенный период учета оффлайн-заходов>");
СтруктураСчетчика.Вставить("offline_options", СтруктураОффлайнОпций);
МассивОпераций = Новый Массив;
СтруктураОперации = Новый Структура;
СтруктураОперации.Вставить("action", "<тип операции>");
СтруктураОперации.Вставить("attr" , "<поле фильтрации>");
СтруктураОперации.Вставить("status", "<статус операции>");
СтруктураОперации.Вставить("id" , "<операции для изменения>");
СтруктураОперации.Вставить("value" , "<значение для замены>");
МассивОпераций.Добавить(СтруктураОперации);
СтруктураСчетчика.Вставить("operations" , МассивОпераций);
СтруктураСчетчика.Вставить("owner_login", "<логин владельца>");
СтруктураСчетчика.Вставить("permission" , "<уровень доступа к счетчику>");
СтруктураАналитики = Новый Структура;
СтруктураАналитики.Вставить("enabled" , "<сбор данных контентной аналитики>");
СтруктураАналитики.Вставить("schema" , "<используемый на сайте тип разметки>");
СтруктураАналитики.Вставить("schema_options", "<доступные варианты разметки сайта>");
СтруктураСчетчика.Вставить("publisher_options", СтруктураАналитики);
СтруктураСчетчика.Вставить("site2" , МассивЗеркал);
СтруктураСчетчика.Вставить("source" , "<тип счетчика>");
СтруктураСчетчика.Вставить("time_zone_name" , "<часовой пояс>");
СтруктураСчетчика.Вставить("visit_threshold" , "<таймаут визита в секундах>");
СтруктураВебвизора = Новый Структура;
СтруктураВебвизора.Вставить("arch_enabled" , "<сохранение страниц сайта>");
СтруктураВебвизора.Вставить("arch_type" , "<запись содержимого страниц>");
@ -341,7 +341,7 @@
СтруктураВебвизора.Вставить("urls" , "<список страниц для сохранения>");
СтруктураВебвизора.Вставить("wv_forms" , "<запись содержимого полей и форм>");
СтруктураВебвизора.Вставить("wv_version" , "<версия вебвизора>");
СтруктураСчетчика.Вставить("webvisor", СтруктураВебвизора);
Если Пустая Тогда
@ -350,7 +350,7 @@
//@skip-check constructor-function-return-section
Возврат СтруктураСчетчика;
КонецФункции
#КонецОбласти

View File

@ -2087,9 +2087,9 @@
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Metrika_Token", ПараметрыТеста);
YandexMetrika_ПолучитьСтруктуруСчетчика(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
@ -14413,14 +14413,14 @@
КонецПроцедуры
Процедура YandexMetrika_ПолучитьСтруктуруСчетчика(ПараметрыФункции)
Результат = OPI_YandexMetrika.ПолучитьСтруктуруСчетчика();
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруСчетчика", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
КонецПроцедуры
#КонецОбласти

View File

@ -114,6 +114,17 @@
НоваяСтрока.Область = "Управление метками";
НоваяСтрока.ОписаниеМетода = "Получает список меток пользователя";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "ПолучитьСтруктуруСчетчика";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУСЧЕТЧИКА";
НоваяСтрока.Параметр = "--empty";
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - Нет)";
НоваяСтрока.Область = "Управление счетчиками";
НоваяСтрока.ОписаниеМетода = "Получает структуру стандартных полей для создания счетчика";
Возврат ТаблицаСостава;
КонецФункции