mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-01-20 18:48:36 +02:00
Merge pull request #268 from bia-technologies/feature/246
#246 / Получение случайного предопределенного значения
This commit is contained in:
commit
38d6ad1072
@ -1,6 +1,6 @@
|
|||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
//
|
//
|
||||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -200,6 +200,12 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция НовыйОписаниеЗапроса(ИмяТаблицы, ПредикатыУсловия, ВыбираемыеПоля) Экспорт
|
||||||
|
|
||||||
|
Возврат ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, ПредикатыУсловия, ВыбираемыеПоля);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Возвращает коллекцию движений документа
|
// Возвращает коллекцию движений документа
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
//
|
//
|
||||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -52,6 +52,7 @@
|
|||||||
ТипЗначения = ТипЗнч(Значение);
|
ТипЗначения = ТипЗнч(Значение);
|
||||||
|
|
||||||
Если ТипЗначения = Тип("Структура") И ЭтоОписаниеОбъектаМетаданных(Значение) Тогда
|
Если ТипЗначения = Тип("Структура") И ЭтоОписаниеОбъектаМетаданных(Значение) Тогда
|
||||||
|
//@skip-check constructor-function-return-section
|
||||||
Возврат Значение;
|
Возврат Значение;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@ -70,13 +71,23 @@
|
|||||||
|
|
||||||
Если ТипЗначения = ТипТип Тогда
|
Если ТипЗначения = ТипТип Тогда
|
||||||
ИдентификаторТипа = ЮТТипыДанныхСлужебный.ИдентификаторТипа(Значение); // Для работы кэширования
|
ИдентификаторТипа = ЮТТипыДанныхСлужебный.ИдентификаторТипа(Значение); // Для работы кэширования
|
||||||
|
//@skip-check constructor-function-return-section
|
||||||
Возврат ЮТМетаданныеПовтИсп.ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(ИдентификаторТипа);
|
Возврат ЮТМетаданныеПовтИсп.ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(ИдентификаторТипа);
|
||||||
Иначе
|
Иначе
|
||||||
|
//@skip-check constructor-function-return-section
|
||||||
Возврат ЮТМетаданныеПовтИсп.ОписаниеОбъектаМетаданных(Значение);
|
Возврат ЮТМетаданныеПовтИсп.ОписаниеОбъектаМетаданных(Значение);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция НормализованноеИмяТаблицы(Значение) Экспорт
|
||||||
|
|
||||||
|
Описание = ОписаниеОбъектаМетаданных(Значение);
|
||||||
|
|
||||||
|
Возврат СтрШаблон("%1.%2", Описание.ОписаниеТипа.Имя, Описание.Имя);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Функция ЭтоОписаниеОбъектаМетаданных(Параметры) Экспорт
|
Функция ЭтоОписаниеОбъектаМетаданных(Параметры) Экспорт
|
||||||
|
|
||||||
Возврат ЮТОбщий.ЭтаСтруктураИмеетТип(Параметры, "ОписаниеОбъектаМетаданных");
|
Возврат ЮТОбщий.ЭтаСтруктураИмеетТип(Параметры, "ОписаниеОбъектаМетаданных");
|
||||||
|
@ -863,7 +863,7 @@
|
|||||||
|
|
||||||
Функция НеподдерживаемыйПараметрМетода(ИмяМетода, ЗначениеПараметра) Экспорт
|
Функция НеподдерживаемыйПараметрМетода(ИмяМетода, ЗначениеПараметра) Экспорт
|
||||||
|
|
||||||
Возврат СтрШаблон("Неподдерживаемый параметры метода `%1` `%2`(%3)", ИмяМетода, ЗначениеПараметра, ТипЗнч(ЗначениеПараметра));
|
Возврат СтрШаблон("Неподдерживаемый параметр метода `%1` `%2`(%3)", ИмяМетода, ЗначениеПараметра, ТипЗнч(ЗначениеПараметра));
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
//
|
//
|
||||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -315,12 +315,24 @@
|
|||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
// Инициализирует конструктор предиката
|
// Инициализирует конструктор предиката
|
||||||
|
// Параметры:
|
||||||
|
// Условия - Структура, Соответствие из Произвольный - Набор условий, которыми инициализируется предикат
|
||||||
|
// Ключ - Строка - Имя реквизита
|
||||||
|
// Значение - Произвольный - Значение, которому должен быть равен реквизит
|
||||||
|
//
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// ОбщийМодуль - Этот модуль для замыкания
|
// ОбщийМодуль - Этот модуль для замыкания
|
||||||
Функция Инициализировать() Экспорт
|
Функция Инициализировать(Условия = Неопределено) Экспорт
|
||||||
|
|
||||||
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
|
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Условия) Тогда
|
||||||
|
Для Каждого Элемент Из Условия Цикл
|
||||||
|
Реквизит(Элемент.Ключ).Равно(Элемент.Значение);
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат ЮТПредикаты;
|
Возврат ЮТПредикаты;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
@ -309,6 +309,21 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает случайное предопреленное значения объекта конфигурации.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Менеджер - Строка - Имя менеджера. Примеры: "Справочники.ВидыЦен", "Справочник.ВидыЦен"
|
||||||
|
// - Произвольный - Менеджер объекта метаданных. Примеры: Справочники.ВидыЦен
|
||||||
|
// Отбор - Структура, Соответствие из Произвольный - Отбора поиска предопределенных значений (сравнение на равенство)
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ПеречислениеСсылка
|
||||||
|
Функция СлучайноеПредопределенноеЗначение(Менеджер, Отбор = Неопределено) Экспорт
|
||||||
|
|
||||||
|
Возврат ЮТТестовыеДанныеВызовСервера.СлучайноеПредопределенноеЗначение(Менеджер, Отбор);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Возвращает случайный номер телефона.
|
// Возвращает случайный номер телефона.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
@ -526,8 +541,8 @@
|
|||||||
// * При использовании на клиенте все значения должны быть сериализуемыми.
|
// * При использовании на клиенте все значения должны быть сериализуемыми.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Менеджер - Строка - Имя менеджера. Примеры: Справочники.Товары, Документы.ПриходТоваров
|
// Менеджер - Строка - Имя менеджера. Примеры: "Справочники.Товары", "Документы.ПриходТоваров"
|
||||||
//
|
// - Произвольный - Менеджер объекта метаданных. Примеры: Справочники.Товары, Документы.ПриходТоваров
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных
|
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных
|
||||||
Функция КонструкторОбъекта(Менеджер) Экспорт
|
Функция КонструкторОбъекта(Менеджер) Экспорт
|
||||||
|
@ -201,6 +201,29 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция СлучайноеПредопределенноеЗначение(Менеджер, Отбор) Экспорт
|
||||||
|
|
||||||
|
ИмяТаблицы = ЮТМетаданные.НормализованноеИмяТаблицы(Менеджер);
|
||||||
|
Условия = ЮТест.Предикат(Отбор)
|
||||||
|
.Реквизит("Предопределенный").Равно(Истина);
|
||||||
|
|
||||||
|
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Условия, "Ссылка");
|
||||||
|
|
||||||
|
Данные = ЮТЗапросы.РезультатЗапроса(ОписаниеЗапроса);
|
||||||
|
|
||||||
|
Если Данные.Количество() = 1 Тогда
|
||||||
|
Значение = Данные[0].Ссылка;
|
||||||
|
ИначеЕсли Данные.Количество() > 1 Тогда
|
||||||
|
Индекс = ЮТест.Данные().СлучайноеЧисло(0, Данные.Количество() - 1);
|
||||||
|
Значение = Данные[Индекс].Ссылка;
|
||||||
|
Иначе
|
||||||
|
Значение = Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Значение;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Процедура УстановитьЗначенияРеквизитов(Знач Ссылка, Знач ЗначенияРеквизитов, Знач ПараметрыЗаписи = Неопределено) Экспорт
|
Процедура УстановитьЗначенияРеквизитов(Знач Ссылка, Знач ЗначенияРеквизитов, Знач ПараметрыЗаписи = Неопределено) Экспорт
|
||||||
|
|
||||||
Объект = Ссылка.ПолучитьОбъект();
|
Объект = Ссылка.ПолучитьОбъект();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
//
|
//
|
||||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -61,11 +61,16 @@
|
|||||||
|
|
||||||
// Возвращает API для формирования предикатов/утверждений, которые могут быть использованы для проверки коллекций.
|
// Возвращает API для формирования предикатов/утверждений, которые могут быть использованы для проверки коллекций.
|
||||||
//
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Условия - Структура, Соответствие из Произвольный - Набор условий, которыми инициализируется предикат
|
||||||
|
// Ключ - Строка - Имя реквизита
|
||||||
|
// Значение - Произвольный - Значение, которому должен быть равен реквизит
|
||||||
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// ОбщийМодуль - см. ЮТПредикаты.
|
// ОбщийМодуль - См. ЮТПредикаты.
|
||||||
Функция Предикат() Экспорт
|
Функция Предикат(Условия = Неопределено) Экспорт
|
||||||
|
|
||||||
Возврат ЮТПредикаты.Инициализировать();
|
Возврат ЮТПредикаты.Инициализировать(Условия);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
//
|
//
|
||||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -23,6 +23,7 @@
|
|||||||
ЮТТесты
|
ЮТТесты
|
||||||
.ДобавитьТест("ОписаниеОбъектаМетаданных")
|
.ДобавитьТест("ОписаниеОбъектаМетаданных")
|
||||||
.ДобавитьТест("РегистрыДвиженийДокумента")
|
.ДобавитьТест("РегистрыДвиженийДокумента")
|
||||||
|
.ДобавитьТест("НормализованноеИмяТаблицы")
|
||||||
;
|
;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -71,6 +72,30 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура НормализованноеИмяТаблицы() Экспорт
|
||||||
|
|
||||||
|
Варианты = ЮТОбщий.ЗначениеВМассиве("Справочник.Банки", "Справочники.Банки", ПредопределенноеЗначение("Справочник.Банки.ПустаяСсылка"));
|
||||||
|
|
||||||
|
#Если Сервер Тогда
|
||||||
|
Варианты.Добавить(Справочники.Банки);
|
||||||
|
Варианты.Добавить(Справочники.Банки.СоздатьЭлемент());
|
||||||
|
#КонецЕсли
|
||||||
|
|
||||||
|
Для Каждого Вариант Из Варианты Цикл
|
||||||
|
|
||||||
|
Описание = СтрШаблон("%1 (%2)", Вариант, ТипЗнч(Вариант));
|
||||||
|
ФактическоеЗначение = ЮТМетаданные.НормализованноеИмяТаблицы(Вариант);
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(ФактическоеЗначение, Описание).Равно("Справочник.Банки");
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(ЮТМетаданные)
|
||||||
|
.Метод("НормализованноеИмяТаблицы").Параметр("123")
|
||||||
|
.ВыбрасываетИсключение("Неподдерживаемый параметр метода");
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
.СПараметрами(Новый ОписаниеТипов("СправочникСсылка.Банки"))
|
.СПараметрами(Новый ОписаниеТипов("СправочникСсылка.Банки"))
|
||||||
.СПараметрами(Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(3, 1, ДопустимыйЗнак.Неотрицательный)))
|
.СПараметрами(Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(3, 1, ДопустимыйЗнак.Неотрицательный)))
|
||||||
.СПараметрами(Новый ОписаниеТипов("СправочникСсылка.Банки, ДокументСсылка.Заказ"))
|
.СПараметрами(Новый ОписаниеТипов("СправочникСсылка.Банки, ДокументСсылка.Заказ"))
|
||||||
|
.ДобавитьТест("СлучайноеПредопределенноеЗначение")
|
||||||
;
|
;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -516,4 +517,18 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура СлучайноеПредопределенноеЗначение() Экспорт
|
||||||
|
|
||||||
|
ОжидаемоеЗначение = ПредопределенноеЗначение("Справочник.ВидыЦен.Закупочная");
|
||||||
|
Значение = ЮТест.Данные().СлучайноеПредопределенноеЗначение("Справочники.ВидыЦен");
|
||||||
|
ЮТест.ОжидаетЧто(Значение).Равно(ОжидаемоеЗначение);
|
||||||
|
|
||||||
|
Значение = ЮТест.Данные().СлучайноеПредопределенноеЗначение("Справочники.ВидыЦен", Новый Структура("ПометкаУдаления", Ложь));
|
||||||
|
ЮТест.ОжидаетЧто(Значение).Равно(ОжидаемоеЗначение);
|
||||||
|
|
||||||
|
Значение = ЮТест.Данные().СлучайноеПредопределенноеЗначение("Справочники.ВидыЦен", Новый Структура("ПометкаУдаления", Истина));
|
||||||
|
ЮТест.ОжидаетЧто(Значение).Равно(Неопределено);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
Loading…
x
Reference in New Issue
Block a user