1
0
mirror of https://github.com/bia-technologies/bsl-parser.git synced 2024-11-19 20:31:44 +02:00

Merge branch 'feature/ONECICD-503' into 'develop'

ONECICD-503 / Поддержка разных языков при чтении и записи конфигурации

See merge request orais/tools/bsl-parser!9
This commit is contained in:
Максимов Валерий Валерьевич (000044217) 2021-09-22 14:53:44 +03:00
commit c5288f10ef
5 changed files with 57 additions and 9 deletions

View File

@ -198,8 +198,21 @@
//
Процедура МногоязычнаяСтрока(Запись, Значение) Экспорт
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "key", "ru");
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "value", Значение);
Если ТипЗнч(Значение) = Тип("Структура") Тогда
Для Каждого Элемент Из Значение Цикл
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "key", Элемент.Ключ);
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "value", Элемент.Значение);
КонецЦикла;
Иначе
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "key", "ru");
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "value", Значение);
КонецЕсли;
КонецПроцедуры

View File

@ -216,10 +216,23 @@
КонецЕсли;
Запись.ЗаписатьНачалоЭлемента("v8:item");
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "v8:lang", "ru");
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "v8:content", Значение);
Запись.ЗаписатьКонецЭлемента();
Если ТипЗнч(Значение) = Тип("Строка") Тогда
Запись.ЗаписатьНачалоЭлемента("v8:item");
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "v8:lang", "ru");
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "v8:content", Значение);
Запись.ЗаписатьКонецЭлемента();
ИначеЕсли ТипЗнч(Значение) = Тип("Структура") Тогда
Для Каждого Элемент Из Значение Цикл
Запись.ЗаписатьНачалоЭлемента("v8:item");
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "v8:lang", Элемент.Ключ);
ОбработкаXML.ЗаписатьЗначениеXML(Запись, "v8:content", Элемент.Значение);
Запись.ЗаписатьКонецЭлемента();
КонецЦикла;
КонецЕсли;
КонецПроцедуры

View File

@ -48,7 +48,18 @@
//
Функция МногоязычнаяСтрока(Знач ЧтениеXML) Экспорт
Возврат ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "value");
Язык = ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "key");
ЧтениеXML.Прочитать();
Текст = ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "value");
Если ЗначениеЗаполнено(Язык) и ЗначениеЗаполнено(Текст) Тогда
МногоязычнаяСтрока = Новый Структура;
МногоязычнаяСтрока.Вставить(Язык, Текст);
Возврат МногоязычнаяСтрока;
КонецЕсли;
Возврат Текст;
КонецФункции

View File

@ -48,7 +48,18 @@
//
Функция МногоязычнаяСтрока(Знач ЧтениеXML) Экспорт
Возврат ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "v8:content");
Язык = ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "v8:lang");
ЧтениеXML.Прочитать();
Текст = ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "v8:content");
Если ЗначениеЗаполнено(Язык) и ЗначениеЗаполнено(Текст) Тогда
МногоязычнаяСтрока = Новый Структура;
МногоязычнаяСтрока.Вставить(Язык, Текст);
Возврат МногоязычнаяСтрока;
КонецЕсли;
Возврат Текст;
КонецФункции

View File

@ -51,7 +51,7 @@
Расширение = РазборКонфигураций.СоздатьНовоеРасширение(КаталогРасширения, ФорматыВыгрузки.Конфигуратор_8_3_10);
СвойстваРасширения = Расширение.ОписаниеКонфигурации().СвойстваКонфигурации;
СвойстваРасширения.Наименование = "Simple";
СвойстваРасширения.Синоним = "Простое расширение";
СвойстваРасширения.Синоним = Новый Структура ("ru, en", "Простое расширение", "Simple extension");
СвойстваРасширения.ПрефиксИмен = "smpl_";
СвойстваРасширения.РежимСовместимостиРасширенияКонфигурации = "8.3.9";
Для Каждого Объект Из Конфигурация.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл