Skip to content

Commit 05b7090

Browse files
authored
Поддержка регистров сведений и накопления для тестов открытия форм и тестов командного интерфейса (#1020)
* Добавлены регистры сведений. * Добавлены регистры сведений. * Добавлены тесты открытия форм регистров накопления. * В описание добавлены регистры. * Добавил исключение регистров сведений в тесте коммандного интерфейса. * Исправлена ошибка с периодическими регистрами. Выборка для открытия регистров переделана на выборку из запроса.
1 parent 12d5a99 commit 05b7090

File tree

6 files changed

+394
-5
lines changed

6 files changed

+394
-5
lines changed

tests/smoke/readme.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,8 @@
280280
* `Отчеты` - для настройки исключений для отчетов
281281
* `Обработки` - для настройки исключений для обработок
282282
* `БизнесПроцессы` - для настройки исключений для бизнес-процессов
283+
* `РегистрыСведений` - для настройки исключений для регистров сведений
284+
* `РегистрыНакопления` - для настройки исключений для регистров накопления
283285
* `ПропускаемыеИсключения` - массив с указанием текстов исключений, при появлении которых дымовой тест не будет считаться упавшим. Допускается поиск по подстроке.
284286
* `ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций` - для управления исключением форм, зависящих от отключенных функциональных опций
285287
* `СпособГруппировки` - для настройки способа группировки тестовых случаев для использования в интерактивном режиме
@@ -687,6 +689,7 @@
687689
- `Отчеты`
688690
- `Обработки`
689691
- `БизнесПроцессы`
692+
- `РегистрыСведений`
690693
- `ВнешниеИсточникиДанных`
691694

692695
Для того, чтобы отключить проверки для форм конкретных видов объектов, нужно указать команду интерфейса в массиве исключений.

tests/smoke/smoke.bsp.json

Lines changed: 71 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,74 @@
159159
"Существующие": [
160160
"Удалить*"
161161
]
162-
}
162+
},
163+
"РегистрыСведений": {
164+
"Списки": [
165+
"Удалить*",
166+
"АдресныеОбъекты",
167+
"БезопасноеХранилищеДанных*",
168+
"Версии*",
169+
"ДанныеОбъектовДляРегистрацииВОбменах",
170+
"ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов*",
171+
"ИдентификаторыОбъектовВерсийРасширений",
172+
"ИспользуемыеВидыДоступа*",
173+
"КлючиДоступа*",
174+
"МиграцияПриложений*",
175+
"НастройкиТранспортаОбмена*",
176+
"ОбновлениеКлючейДоступа*",
177+
"РазрешенияНаИспользованиеВнешнихРесурсов*",
178+
"РежимыПодключенияВнешнихМодулей*",
179+
"РезультатыОбменаДанными",
180+
"СообщенияОбменаДанными*",
181+
"СоответствияОбъектовИнформационныхБаз",
182+
"СостоянияОбменовДанными*"
183+
],
184+
"Новые": [
185+
"Удалить*",
186+
"АдресныеОбъекты",
187+
"БезопасноеХранилищеДанных*",
188+
"Версии*",
189+
"ДанныеОбъектовДляРегистрацииВОбменах",
190+
"ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов*",
191+
"ИдентификаторыОбъектовВерсийРасширений",
192+
"ИспользуемыеВидыДоступа*",
193+
"КлючиДоступа*",
194+
"МиграцияПриложений*",
195+
"НастройкиТранспортаОбмена*",
196+
"ОбновлениеКлючейДоступа*",
197+
"РазрешенияНаИспользованиеВнешнихРесурсов*",
198+
"РежимыПодключенияВнешнихМодулей*",
199+
"РезультатыОбменаДанными",
200+
"СообщенияОбменаДанными*",
201+
"СоответствияОбъектовИнформационныхБаз",
202+
"СостоянияОбменовДанными*"
203+
],
204+
"Существующие": [
205+
"Удалить*",
206+
"АдресныеОбъекты",
207+
"БезопасноеХранилищеДанных*",
208+
"Версии*",
209+
"ДанныеОбъектовДляРегистрацииВОбменах",
210+
"ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов*",
211+
"ИдентификаторыОбъектовВерсийРасширений",
212+
"ИспользуемыеВидыДоступа*",
213+
"КлючиДоступа*",
214+
"МиграцияПриложений*",
215+
"НастройкиТранспортаОбмена*",
216+
"ОбновлениеКлючейДоступа*",
217+
"РазрешенияНаИспользованиеВнешнихРесурсов*",
218+
"РежимыПодключенияВнешнихМодулей*",
219+
"РезультатыОбменаДанными",
220+
"СообщенияОбменаДанными*",
221+
"СоответствияОбъектовИнформационныхБаз",
222+
"СостоянияОбменовДанными*"
223+
]
224+
},
225+
"РегистрыНакопления": {
226+
"Списки": [
227+
"Удалить*"
228+
]
229+
}
163230
},
164231

165232
"CommandInterface": {
@@ -224,8 +291,10 @@
224291
"Сканирование"
225292
],
226293
"БизнесПроцессы": [
294+
],
295+
"РегистрыСведений": [
296+
"Удалить*"
227297
]
228-
229298
},
230299

231300
"smokeInputBasedOn": {

tests/smoke/smoke.example.json

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,22 @@
8181
"Удалить*"
8282
]
8383
},
84+
"РегистрыСведений": {
85+
"Списки": [
86+
"Удалить*"
87+
],
88+
"Новые": [
89+
"Удалить*"
90+
],
91+
"Существующие": [
92+
"Удалить*"
93+
]
94+
},
95+
"РегистрыНакопления": {
96+
"Списки": [
97+
"Удалить*"
98+
]
99+
},
84100
"Отчеты": [
85101
"Отчет1"
86102
],
@@ -164,8 +180,10 @@
164180
"БизнесПроцессы": [
165181
"Удалить*",
166182
"БизнесПроцесс2"
183+
],
184+
"РегистрыСведений": [
185+
"Удалить*"
167186
]
168-
169187
},
170188

171189
"ПроведениеДокументов":{

tests/smoke/тесты_КомандныйИнтерфейс/тесты_КомандныйИнтерфейс/Forms/Форма/Ext/Form/Module.bsl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -680,6 +680,7 @@
680680
ДобавитьИсключения(ИсключаемыеОперации, "Отчеты", "Отчет.");
681681
ДобавитьИсключения(ИсключаемыеОперации, "Обработки", "Обработка.");
682682
ДобавитьИсключения(ИсключаемыеОперации, "БизнесПроцессы", "БизнесПроцесс.");
683+
ДобавитьИсключения(ИсключаемыеОперации, "РегистрыСведений", "РегистрСведений.");
683684
ДобавитьИсключения(ИсключаемыеОперации, "ВнешниеИсточникиДанных", "ВнешнийИсточникДанных.");
684685

685686
ИсключаемыеРазделы = Новый Массив;
@@ -740,6 +741,7 @@
740741
Результат.Вставить("Отчет", "Отчеты");
741742
Результат.Вставить("Обработка", "Обработки");
742743
Результат.Вставить("БизнесПроцесс", "БизнесПроцессы");
744+
Результат.Вставить("РегистрСведений", "РегистрыСведений");
743745
Результат.Вставить("ВнешнийИсточникДанных", "ВнешниеИсточникиДанных");
744746

745747
Возврат Новый ФиксированнаяСтруктура(Результат);

tests/smoke/тесты_ОткрытиеФормКонфигурации/Тесты_ОткрытиеФормКонфигурации/Ext/ObjectModule.bsl

Lines changed: 117 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,51 @@
324324
Возврат ПолучитьИсключения(ВидыМетаданных.БизнесПроцессы, ВидыПроверок.Новые);
325325

326326
КонецФункции
327+
328+
// Получить список значений для исключения форм списков регистров сведений.
329+
//
330+
// Возвращаемое значение:
331+
// СписокЗначений, Ложь - ключ - это имя метаданного, Ложь возвращается, если полностью исключается вид проверки
332+
//
333+
Функция ПолучитьСписокИсключений_РегистрыСведений_Списки() Экспорт
334+
335+
Возврат ПолучитьИсключения(ВидыМетаданных.РегистрыСведений, ВидыПроверок.Списки);
336+
337+
КонецФункции
338+
339+
// Получить список значений для исключения существующих записей регистров сведений.
340+
//
341+
// Возвращаемое значение:
342+
// СписокЗначений, Ложь - ключ - это имя метаданного, Ложь возвращается, если полностью исключается вид проверки
343+
//
344+
Функция ПолучитьСписокИсключений_РегистрыСведений_Существующие() Экспорт
345+
346+
Возврат ПолучитьИсключения(ВидыМетаданных.РегистрыСведений, ВидыПроверок.Существующие);
347+
348+
КонецФункции
349+
350+
// Получить список значений для исключения новых записей регистров сведений.
351+
//
352+
// Возвращаемое значение:
353+
// СписокЗначений, Ложь - ключ - это имя метаданного, Ложь возвращается, если полностью исключается вид проверки
354+
//
355+
Функция ПолучитьСписокИсключений_РегистрыСведений_Новые() Экспорт
356+
357+
Возврат ПолучитьИсключения(ВидыМетаданных.РегистрыСведений, ВидыПроверок.Новые);
358+
359+
КонецФункции
360+
361+
// Получить список значений для исключения форм списков регистров накопления.
362+
//
363+
// Возвращаемое значение:
364+
// СписокЗначений, Ложь - ключ - это имя метаданного, Ложь возвращается, если полностью исключается вид проверки
365+
//
366+
Функция ПолучитьСписокИсключений_РегистрыНакопления_Списки() Экспорт
367+
368+
Возврат ПолучитьИсключения(ВидыМетаданных.РегистрыНакопления, ВидыПроверок.Списки);
369+
370+
КонецФункции
371+
327372
#КонецОбласти
328373

329374
#Область ФормированиеСпискаТестовыхСлучаев
@@ -1145,6 +1190,8 @@
11451190
ВидыМетаданных.Вставить("Обработки", "Обработки");
11461191
ВидыМетаданных.Вставить("Отчеты", "Отчеты");
11471192
ВидыМетаданных.Вставить("БизнесПроцессы", "БизнесПроцессы");
1193+
ВидыМетаданных.Вставить("РегистрыСведений", "РегистрыСведений");
1194+
ВидыМетаданных.Вставить("РегистрыНакопления", "РегистрыНакопления");
11481195
ВидыМетаданных = Новый ФиксированнаяСтруктура(ВидыМетаданных);
11491196
КонецЕсли;
11501197
Возврат ВидыМетаданных;
@@ -1561,8 +1608,6 @@
15611608
КонецЕсли;
15621609
КонецФункции
15631610

1564-
1565-
15661611
Функция СоздатьЭлементИВернутьСсылку(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено) Экспорт
15671612
Элем = СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа);
15681613
Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка);
@@ -1681,10 +1726,80 @@
16811726
Элем = СоздатьБизнесПроцесс(ИД, ПроверяемоеПравоДоступа);
16821727
Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка);
16831728
КонецФункции
1729+
1730+
// Получить ключ существующей записи регистра сведений.
1731+
//
1732+
// Параметры:
1733+
// ИД - Строка - Имя регистра.
1734+
// НужноИсключениеЕслиНеНайденоЗаписей - Булево - Флаг выброса исключений.
1735+
// ДопОписаниеДляИсключения - Строка - Дополнительный текст исключения.
1736+
//
1737+
// Возвращаемое значение:
1738+
// РегистрСведенийКлючЗаписи, Неопределено - Ключ записи регистра или Неопределено
1739+
//
1740+
Функция ПолучитьСуществующуюЗаписьРегистраИВернутьКлючЗаписи(ИД, НужноИсключениеЕслиНеНайденоЗаписей, ДопОписаниеДляИсключения) Экспорт
1741+
Выборка = ВыборкаИзРегистраСведений(ИД);
1742+
Успешно = Выборка.Следующий();
1743+
Если Не Успешно Тогда
1744+
Если НужноИсключениеЕслиНеНайденоЗаписей Тогда
1745+
ВызватьИсключение
1746+
СтрШаблон_("%1: выборка.Следующий() - не найдено существующих записей %2! ",
1747+
ДопОписаниеДляИсключения, Ид);
1748+
Иначе
1749+
Возврат Неопределено;
1750+
КонецЕсли;
1751+
КонецЕсли;
1752+
НаборИзмерений = СоздатьПустойНаборИзмеренийРегистраСведений(ИД);
1753+
ЗаполнитьЗначенияСвойств(НаборИзмерений, Выборка);
1754+
1755+
КлючЗаписи = РегистрыСведений[ИД].СоздатьКлючЗаписи(НаборИзмерений);
1756+
1757+
Возврат КлючЗаписи;
1758+
КонецФункции
1759+
1760+
Функция ВыборкаИзРегистраСведений(ИД)
1761+
1762+
Запрос = Новый Запрос;
1763+
1764+
ШаблонТекста =
1765+
"ВЫБРАТЬ ПЕРВЫЕ 1
1766+
| *
1767+
|ИЗ
1768+
| РегистрСведений.%1 КАК ТаблицаРегистра";
1769+
1770+
ТекстЗапроса = СтрШаблон(ШаблонТекста, ИД);
1771+
1772+
Запрос.Текст = ТекстЗапроса;
1773+
1774+
Возврат Запрос.Выполнить().Выбрать();
1775+
1776+
КонецФункции
1777+
16841778
#КонецОбласти
16851779

16861780
#Область ВспомогательныеМетоды
16871781

1782+
Функция СоздатьПустойНаборИзмеренийРегистраСведений(ИД)
1783+
1784+
КлючЗаписи = Новый Структура;
1785+
1786+
МетаданныеРегистра = Метаданные.РегистрыСведений[ИД];
1787+
1788+
Измерения = МетаданныеРегистра.Измерения;
1789+
1790+
Для каждого Измерение Из Измерения Цикл
1791+
КлючЗаписи.Вставить(Измерение.Имя);
1792+
КонецЦикла;
1793+
1794+
Если НЕ МетаданныеРегистра.ПериодичностьРегистраСведений =
1795+
Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический Тогда
1796+
КлючЗаписи.Вставить("Период");
1797+
КонецЕсли;
1798+
1799+
Возврат КлючЗаписи;
1800+
1801+
КонецФункции
1802+
16881803
Функция ИмяМетодаПропускаТестов()
16891804
Возврат "ТестДолжен_ПропуститьТестФормы";
16901805
КонецФункции

0 commit comments

Comments
 (0)