mirror of
https://github.com/bia-technologies/bsl-parser.git
synced 2025-02-19 20:00:02 +02:00
#ONECICD-211
Определение типов для EDT
This commit is contained in:
parent
2a0386712f
commit
f87cf0ff38
@ -64,7 +64,7 @@
|
||||
|
||||
Значение = ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "types");
|
||||
|
||||
Возврат ЧтениеОписанийБазовый.ПреобразоватьТип(Значение);
|
||||
Возврат ЧтениеОписанийБазовый.ПреобразоватьТип(Значение, Истина);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -201,32 +201,38 @@
|
||||
// Возвращаемое значение:
|
||||
// Строка - Дружелюбное имя
|
||||
//
|
||||
Функция ПреобразоватьТип(ТипИзXML) Экспорт
|
||||
Функция ПреобразоватьТип(ТипИзXML, ФорматEDT = Ложь) Экспорт
|
||||
|
||||
// TODO: Проверить для EDT
|
||||
СоответствиеТипов = Новый Соответствие;
|
||||
ПримитивныеТипы = Новый Соответствие;
|
||||
|
||||
СоответствиеТипов.Вставить("xs:boolean", "Булево");
|
||||
СоответствиеТипов.Вставить("xs:decimal", "Число");
|
||||
СоответствиеТипов.Вставить("xs:string", "Строка");
|
||||
СоответствиеТипов.Вставить("xs:dateTime", "Дата");
|
||||
СоответствиеТипов.Вставить("v8:ValueStorage", "Хранилище Значений");
|
||||
СоответствиеТипов.Вставить("v8:UUID", "UUID");
|
||||
СоответствиеТипов.Вставить("v8:Null", "Null");
|
||||
ПримитивныеТипы.Вставить(?(НЕ ФорматEDT, "xs:", "") + "boolean", "Булево");
|
||||
ПримитивныеТипы.Вставить(?(НЕ ФорматEDT, "xs:", "") + "decimal", "Число");
|
||||
ПримитивныеТипы.Вставить(?(НЕ ФорматEDT, "xs:", "") + "number", "Число");
|
||||
ПримитивныеТипы.Вставить(?(НЕ ФорматEDT, "xs:", "") + "string", "Строка");
|
||||
ПримитивныеТипы.Вставить(?(НЕ ФорматEDT, "xs:", "") + "datetime", "Дата");
|
||||
ПримитивныеТипы.Вставить(?(НЕ ФорматEDT, "xs:", "") + "date", "Дата");
|
||||
ПримитивныеТипы.Вставить(?(НЕ ФорматEDT, "v8:", "") + "valuestorage", "Хранилище Значений");
|
||||
ПримитивныеТипы.Вставить(?(НЕ ФорматEDT, "v8:", "") + "uuid", "UUID");
|
||||
ПримитивныеТипы.Вставить(?(НЕ ФорматEDT, "v8:", "") + "null", "Null");
|
||||
|
||||
Если СтрНачинаетсяС(ТипИзXML, "xs") Или СтрНачинаетсяС(ТипИзXML, "v8") Тогда
|
||||
ПреобразованныйТип = ПримитивныеТипы[НРег(ТипИзXML)];
|
||||
|
||||
ПреобразованныйТип = СоответствиеТипов[ТипИзXML];
|
||||
|
||||
ИначеЕсли СтрНачинаетсяС(ТипИзXML, "cfg:") Тогда
|
||||
Если ПреобразованныйТип = Неопределено И ФорматEDT И СтрНайти(ТипИзXML, ".") Тогда
|
||||
|
||||
ЧастиТипа = СтрРазделить(ТипИзXML, ".");
|
||||
ПреобразованныйТип = ТипыОбъектовКонфигурации.ПолучитьИмяТипаНаРусском(СтрЗаменить(ЧастиТипа[0], "Ref", "")) + "." + ЧастиТипа[1];
|
||||
|
||||
ИначеЕсли НЕ ФорматEDT И СтрНачинаетсяС(ТипИзXML, "cfg:") Тогда
|
||||
|
||||
ТипИзXML = СтрЗаменить(ТипИзXML, "cfg:", "");
|
||||
ЧастиТипа = СтрРазделить(ТипИзXML, ".");
|
||||
ТипОбъекта = СтрЗаменить(ЧастиТипа[0], "Ref", "");
|
||||
|
||||
ПреобразованныйТип = ТипыОбъектовКонфигурации.ПолучитьИмяТипаНаРусском(ТипОбъекта) + "." + ЧастиТипа[1];
|
||||
|
||||
Иначе
|
||||
ПреобразованныйТип = ТипыОбъектовКонфигурации.ПолучитьИмяТипаНаРусском(СтрЗаменить(ЧастиТипа[0], "Ref", "")) + "." + ЧастиТипа[1];
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ПреобразованныйТип = Неопределено Тогда
|
||||
|
||||
ПреобразованныйТип = ТипИзXML;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user