1
0
mirror of https://github.com/bia-technologies/bsl-parser.git synced 2025-07-16 00:04:14 +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;
СвойстваОбъекта = ПараметрыСериализации.ПараметрыСериализации(ТипОбъекта, ?(ФорматEDT, "EDT", "Designer")); ПараметрыЗаписи = ПараметрыСериализации.ПараметрыЗаписи(ТипОбъекта, ?(ФорматEDT, "EDT", "Designer"));
АргументыПреобразования = Новый Массив(2); АргументыПреобразования = Новый Массив(2);
АргументыПреобразования[0] = Запись; АргументыПреобразования[0] = Запись;
Для Каждого Элемент Из СвойстваОбъекта.Свойства Цикл Для Каждого Элемент Из ПараметрыЗаписи.Свойства Цикл
Значение = Неопределено; Значение = Неопределено;

View File

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

View File

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