1
0
mirror of https://github.com/bia-technologies/bsl-parser.git synced 2024-11-24 08:12:17 +02:00

#ONECICD-148

Исправлена ошибка записи описаний
This commit is contained in:
aleksey.koryakin 2019-05-20 18:13:30 +03:00
parent 7997126610
commit e30e43d95a
3 changed files with 31 additions and 24 deletions

View File

@ -59,12 +59,12 @@
Функция ЗаписатьДанные(Запись, Данные, ТипОбъекта, Генератор) Экспорт
ФорматEDT = Генератор = ГенераторОписанийEDT;
СвойстваОбъекта = ПараметрыСериализации.ПараметрыСериализации(ТипОбъекта, ?(ФорматEDT, "EDT", "Designer"));
ПараметрыЗаписи = ПараметрыСериализации.ПараметрыЗаписи(ТипОбъекта, ?(ФорматEDT, "EDT", "Designer"));
АргументыПреобразования = Новый Массив(2);
АргументыПреобразования[0] = Запись;
Для Каждого Элемент Из СвойстваОбъекта.Свойства Цикл
Для Каждого Элемент Из ПараметрыЗаписи.Свойства Цикл
Значение = Неопределено;

View File

@ -8,7 +8,23 @@
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
///////////////////////////////////////////////////////////////////////////////
Функция ПараметрыСериализации(ТипОбъекта, Формат) Экспорт
Функция ПараметрыЧтения(ТипОбъекта, Формат) Экспорт
Возврат ПараметрыСериализации(ТипОбъекта, Формат, Истина);
КонецФункции // ПараметрыЧтения
Функция ПараметрыЗаписи(ТипОбъекта, Формат) Экспорт
Возврат ПараметрыСериализации(ТипОбъекта, Формат, Ложь);
КонецФункции // ПараметрыЗаписи
///////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
///////////////////////////////////////////////////////////////////////////////
Функция ПараметрыСериализации(ТипОбъекта, Формат, ДляЧтения)
ДанныеОписания = Новый Структура("Тип, Свойства, ЕстьПодчиненные, ЕстьЗначенияПоУмолчанию");
@ -30,31 +46,22 @@
ОписаниеСвойства = Новый Структура(РеквизитыСвойства);
ЗаполнитьЗначенияСвойств(ОписаниеСвойства, Свойство);
ОписаниеСвойства.Поле = Свойство[РеквизитИмениПоля];
ДанныеОписания.Свойства.Вставить(ОписаниеСвойства.Поле, ОписаниеСвойства);
Если ДляЧтения Тогда
ДанныеОписания.Свойства.Вставить(ОписаниеСвойства.Поле, ОписаниеСвойства);
Иначе
ДанныеОписания.Свойства.Вставить(ОписаниеСвойства.Наименование, ОписаниеСвойства);
КонецЕсли;
КонецЦикла;
// Для Каждого Стр Из ОписаниеОбъекта.Свойства Цикл
// ДобавитьВОписание(ДанныеОписания, Стр.Наименование, Стр.ЭлементDesigner, , Стр.МетодПреобразования);
// КонецЦикла;
// Возврат ДанныеОписания;
Возврат ДанныеОписания;
КонецФункции
///////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
///////////////////////////////////////////////////////////////////////////////
Процедура ДобавитьВОписание(Описание, Имя, ИмяПоля, Многоязычный = Ложь, МетодПреобразования = Неопределено, Коллекция = Ложь)
Описание.Вставить(Имя, Новый Структура("Поле, Многоязычный, МетодПреобразования, Коллекция", ИмяПоля, Многоязычный, МетодПреобразования, Коллекция));
КонецПроцедуры

View File

@ -258,7 +258,7 @@
Функция ПрочитатьФайлОписанияОбъекта(ПутьКФайлу, ТипОбъекта)
ПараметрыЧтения = ПараметрыСериализации.ПараметрыСериализации(ТипОбъекта, ФорматВыгрузки());
ПараметрыЧтения = ПараметрыСериализации.ПараметрыЧтения(ТипОбъекта, ФорматВыгрузки());
Описание = ЧитательОписаний.ПрочитатьСвойстваИзФайла(ПутьКФайлу, ПараметрыЧтения);