mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-02-10 19:41:26 +02:00
Фикс работы с метаданными на клиенте
This commit is contained in:
parent
02f1aa07a7
commit
cb3b8e04f7
@ -73,7 +73,7 @@
|
||||
|
||||
Функция ТипыМетаданных() Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеСервер.ТипыМетаданных();
|
||||
Возврат ЮТМетаданныеПовтИсп.ТипыМетаданных();
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -42,8 +42,15 @@
|
||||
#ИначеЕсли Сервер Тогда
|
||||
Возврат ЗначениеВСтрокуВнутр(Тип); // Не все серверные типы сериализуются через СериализаторXDTO
|
||||
#Иначе
|
||||
ТипXML = СериализаторXDTO.XMLТип(Тип);
|
||||
Возврат ТипXML.ИмяТипа;
|
||||
Попытка
|
||||
Запись = Новый ЗаписьJSON();
|
||||
Запись.УстановитьСтроку();
|
||||
СериализаторXDTO.ЗаписатьJSON(Запись, Тип);
|
||||
Возврат Запись.Закрыть();
|
||||
Исключение
|
||||
ВызватьИсключение СтрШаблон("Не удалось определить индетификатор типа для `%1`
|
||||
|%2", Тип, ОписаниеОшибки());
|
||||
КонецПопытки;
|
||||
#КонецЕсли
|
||||
|
||||
КонецФункции
|
||||
@ -67,19 +74,9 @@
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТипыДанныхСлужебный.ТипПоПредставлению");
|
||||
#Иначе
|
||||
//@skip-check Undefined variable
|
||||
Сериализатор = СериализаторXDTO;
|
||||
Если СтрНайти(ПредставлениеТипа, ".") Тогда
|
||||
Результат = Сериализатор.ИзXMLТипа(ПредставлениеТипа, "http://v8.1c.ru/8.1/data/enterprise/current-config");
|
||||
Иначе
|
||||
Результат = Сериализатор.ИзXMLТипа(ПредставлениеТипа, "http://www.w3.org/2001/XMLSchema");
|
||||
Если Результат = Неопределено Тогда
|
||||
Результат = Сериализатор.ИзXMLТипа(ПредставлениеТипа, "http://v8.1c.ru/8.1/data/core");
|
||||
КонецЕсли;
|
||||
Если Результат = Неопределено Тогда
|
||||
Результат = Сериализатор.ИзXMLТипа(ПредставлениеТипа, "http://v8.1c.ru/8.1/data/enterprise");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Чтение = Новый ЧтениеJSON();
|
||||
Чтение.УстановитьСтроку(ПредставлениеТипа);
|
||||
Результат = СериализаторXDTO.ПрочитатьJSON(Чтение, Тип("Тип"));
|
||||
|
||||
Если Результат = Неопределено Тогда
|
||||
ВызватьИсключение СтрШаблон("Не удалось определить тип по представлению `%1`", ПредставлениеТипа);
|
||||
|
53
tests/src/CommonModules/ОМ_ЮТМетаданные/Module.bsl
Normal file
53
tests/src/CommonModules/ОМ_ЮТМетаданные/Module.bsl
Normal file
@ -0,0 +1,53 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Процедура ИсполняемыеСценарии() Экспорт
|
||||
|
||||
ЮТТесты
|
||||
.ДобавитьТест("ОписаниеОбъектаМетаданных")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОписаниеОбъектаМетаданных() Экспорт
|
||||
|
||||
#Если Сервер Тогда
|
||||
ДляСервера = Истина;
|
||||
#Иначе
|
||||
ДляСервера = Ложь;
|
||||
#КонецЕсли
|
||||
|
||||
Данные = ПомощникТестированияВызовСервера.ТестовыеДанныеДляОписаниеОбъектаМетаданных(ДляСервера);
|
||||
|
||||
Для Каждого Значение Из Данные Цикл
|
||||
|
||||
Описание = ЮТМетаданные.ОписаниеОбъектаМетаданных(Значение);
|
||||
|
||||
ЮТест.ОжидаетЧто(Описание).Заполнено();
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#КонецОбласти
|
11
tests/src/CommonModules/ОМ_ЮТМетаданные/ОМ_ЮТМетаданные.mdo
Normal file
11
tests/src/CommonModules/ОМ_ЮТМетаданные/ОМ_ЮТМетаданные.mdo
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="16b464c9-e5a2-4c92-9afb-1ab4a3532a87">
|
||||
<name>ОМ_ЮТМетаданные</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>ЮТМетаданные</value>
|
||||
</synonym>
|
||||
<clientManagedApplication>true</clientManagedApplication>
|
||||
<server>true</server>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
@ -71,4 +71,37 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ТестовыеДанныеДляОписаниеОбъектаМетаданных(ДляСервера) Экспорт
|
||||
|
||||
Данные = Новый Массив();
|
||||
|
||||
Вид = "Справочник";
|
||||
|
||||
Для Каждого Справочник Из Метаданные.Справочники Цикл
|
||||
|
||||
Данные.Добавить(Справочник.ПолноеИмя());
|
||||
Данные.Добавить(Тип(СтрШаблон("%1Ссылка.%2", Вид, Справочник.Имя)));
|
||||
Данные.Добавить(Новый(СтрШаблон("%1Ссылка.%2", Вид, Справочник.Имя)));
|
||||
|
||||
Если ДляСервера Тогда
|
||||
Данные.Добавить(Справочник);
|
||||
Данные.Добавить(Новый(СтрШаблон("%1Менеджер.%2", Вид, Справочник.Имя)));
|
||||
Данные.Добавить(Новый(СтрШаблон("%1Объект.%2", Вид, Справочник.Имя)));
|
||||
Данные.Добавить(Тип(СтрШаблон("%1Объект.%2", Вид, Справочник.Имя)));
|
||||
Данные.Добавить(Тип(СтрШаблон("%1Менеджер.%2", Вид, Справочник.Имя)));
|
||||
КонецЕсли
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Количество = Данные.Количество();
|
||||
Для Инд = 0 По Количество - 1 Цикл
|
||||
Данные.Добавить(Данные[Инд]);
|
||||
Данные.Добавить(Данные[Инд]);
|
||||
Данные.Добавить(Данные[Инд]);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Данные;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
Loading…
x
Reference in New Issue
Block a user