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

#ONECICD-148

Исправление ошибок выявленных при доработке stack-tracer
This commit is contained in:
aleksey.koryakin 2019-05-13 16:56:49 +03:00
parent a155d9e3d6
commit 78e9620464
4 changed files with 31 additions and 75 deletions

View File

@ -88,9 +88,10 @@
Если ОписаниеОбъекта = Неопределено И ОбъектКонфигурации.Описание = Неопределено Тогда Если ОписаниеОбъекта = Неопределено И ОбъектКонфигурации.Описание = Неопределено Тогда
ОбъектКонфигурации.Описание = СтруктурыОписаний.СоздатьСтруктураОбъекта(ТипОбъекта); ОбъектКонфигурации.Описание = СтруктурыОписаний.СоздатьСтруктураОбъекта(ТипОбъекта);
ОбъектКонфигурации.Описание.Наименование = ИмяОбъекта;
ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ОбъектКонфигурации.Описание); ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ОбъектКонфигурации.Описание);
ИначеЕсли ОписаниеОбъекта <> Неопределено Тогда ИначеЕсли ОписаниеОбъекта <> Неопределено И ОбъектКонфигурации.Описание <> ОписаниеОбъекта Тогда
ОбъектКонфигурации.Описание = ОписаниеОбъекта; ОбъектКонфигурации.Описание = ОписаниеОбъекта;
ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ОбъектКонфигурации.Описание); ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ОбъектКонфигурации.Описание);
@ -108,9 +109,15 @@
Если ОбъектКонфигурации = Неопределено Тогда Если ОбъектКонфигурации = Неопределено Тогда
Возврат Неопределено; Возврат Неопределено;
КонецЕсли; КонецЕсли;
СокращенноеОписание = СтруктурыОписаний.СоздатьСокращеннуюСтруктураОбъекта(ОбъектРодительскойКонфигурации.Тип); СокращенноеОписание = СтруктурыОписаний.СоздатьСокращеннуюСтруктураОбъекта(ОбъектРодительскойКонфигурации.Тип);
ЗаполнитьЗначенияСвойств(СокращенноеОписание, ОбъектРодительскойКонфигурации.Описание, , "Подчиненные");
Если ОбъектРодительскойКонфигурации.Описание = Неопределено Тогда
СокращенноеОписание.Наименование = ОбъектКонфигурации.Наименование;
Иначе
ЗаполнитьЗначенияСвойств(СокращенноеОписание, ОбъектРодительскойКонфигурации.Описание, , "Подчиненные");
КонецЕсли;
СокращенноеОписание.Вставить("ObjectBelonging", "Adopted"); СокращенноеОписание.Вставить("ObjectBelonging", "Adopted");
ОбъектКонфигурации.Описание = СокращенноеОписание; ОбъектКонфигурации.Описание = СокращенноеОписание;
@ -127,14 +134,13 @@
// ПараметрыМодуля - Структура - Свойства модуля: Клиент, Сервер, ВызовСервера, ВнешнееСоединение, Привилегированный // ПараметрыМодуля - Структура - Свойства модуля: Клиент, Сервер, ВызовСервера, ВнешнееСоединение, Привилегированный
// ИмяФайла - Строка - Путь к добавляемому файлу // ИмяФайла - Строка - Путь к добавляемому файлу
// //
Процедура ДобавитьМодульОбъекта(ИмяОбъекта, ТипОбъекта, ИмяМодуля, ИмяФайла, ОписаниеОбъекта = Неопределено) Экспорт Процедура ДобавитьМодульОбъекта(ОбъектКонфигурации, ИмяМодуля, ИмяФайла) Экспорт
ДобавитьОбъект(ИмяОбъекта, ТипОбъекта, ОписаниеОбъекта); ИмяФайлаНазначения = СтруктураКаталоговПриемник.ИмяФайлаМодуля(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип, ИмяМодуля);
КопироватьФайл(ИмяФайла, ИмяФайлаНазначения);
ИмяФайлаНазначения = СтруктураКаталоговПриемник.ИмяФайлаМодуля(ИмяОбъекта, ТипОбъекта, ИмяМодуля); Лог.Отладка("Добавлен модуль %3.%1.%2", ОбъектКонфигурации.Наименование, ИмяМодуля, ОбъектКонфигурации.Тип);
КопироватьФайл(ИмяФайла, ИмяФайлаНазначения);
Лог.Отладка("Добавлен модуль %3.%1.%2", ИмяОбъекта, ИмяМодуля, ТипОбъекта);
КонецПроцедуры КонецПроцедуры
@ -149,8 +155,19 @@
ТипОбщийМодуль = ТипыОбъектовКонфигурации.ИмяТипаОбщийМодуль(); ТипОбщийМодуль = ТипыОбъектовКонфигурации.ИмяТипаОбщийМодуль();
ДобавитьМодульОбъекта(ПараметрыМодуля.Наименование, ТипОбщийМодуль, "Module", ИмяФайла, ПараметрыМодуля); ОбъектКонфигурации = ДобавитьОбъект(ПараметрыМодуля.Наименование, ТипОбщийМодуль, ПараметрыМодуля);
Лог.Отладка("Добавлен общий модуль %1", ПараметрыМодуля.Наименование);
ДобавитьМодульОбъекта(ОбъектКонфигурации, "Module", ИмяФайла);
КонецПроцедуры
Процедура ДобавитьМодульКонфигурации(ИмяМодуля, ИмяФайла) Экспорт
ИмяФайлаНазначения = СтруктураКаталоговПриемник.ИмяФайлаМодуля("Configuration", "Configuration", ИмяМодуля);
КопироватьФайл(ИмяФайла, ИмяФайлаНазначения);
Лог.Отладка("Добавлен модуль конфигурации %1", ИмяМодуля);
КонецПроцедуры КонецПроцедуры

View File

@ -114,14 +114,6 @@
| Наименование | name | Name | | | | Наименование | name | Name | | |
| Синоним | synonym | Synonym | МногоязычнаяСтрока | | | Синоним | synonym | Synonym | МногоязычнаяСтрока | |
| Комментарий | comment | Comment | | | | Комментарий | comment | Comment | | |
| Глобальный | global | Global | ЗначениеБулево | false |
| Клиент | clientManagedApplication | ClientManagedApplication | ЗначениеБулево | false |
| КлиентОбычноеПриложение | ClientOrdinaryApplication | ClientOrdinaryApplication | ЗначениеБулево | false |
| Сервер | server | Server | ЗначениеБулево | true |
| ВнешнееСоединение | ExternalConnection | ExternalConnection | ЗначениеБулево | false |
| ВызовСервера | ServerCall | ServerCall | ЗначениеБулево | false |
| Привилегированный | Privileged | Privileged | ЗначениеБулево | false |
| ПовторноеИспользование | ReturnValuesReuse | ReturnValuesReuse | | DontUse |
## Реквизиты Document ## Реквизиты Document

View File

@ -1,54 +0,0 @@
Процедура ЗаписатьОписаниеКонфигурацииXML(ОписаниеКонфигурации, ИмяФайла) Экспорт
ЗаписьXML = Новый ЗаписьXML();
ЗаписьXML.УстановитьСтроку("UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("configuration");
ЗаписатьЗначениеXML(ЗаписьXML, ОписаниеКонфигурации);
ЗаписьXML.ЗаписатьКонецЭлемента();
Текст = ЗаписьXML.Закрыть();
ТекстовыйДокумент = Новый ТекстовыйДокумент();
ТекстовыйДокумент.УстановитьТекст(Текст);
ТекстовыйДокумент.Записать(ИмяФайла);
КонецПроцедуры
Процедура ЗаписатьЗначениеXML(ЗаписьXML, Знач Значение)
Если ТипЗнч(Значение) = Тип("Структура") ИЛИ ТипЗнч(Значение) = Тип("Соответствие") Тогда
Для Каждого Поле Из Значение Цикл
ЗаписьXML.ЗаписатьНачалоЭлемента(Поле.Ключ);
ЗаписатьЗначениеXML(ЗаписьXML, Поле.Значение);
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЦикла;
ИначеЕсли ТипЗнч(Значение) = Тип("Массив") Тогда
Для Каждого Поле Из Значение Цикл
ЗаписатьЗначениеXML(ЗаписьXML, Поле);
КонецЦикла;
ИначеЕсли ТипЗнч(Значение) = Тип("ТаблицаЗначений") Тогда
Для Каждого Поле Из Значение Цикл
ЗаписьXML.ЗаписатьНачалоЭлемента("row");
Для Каждого Колонка Из Значение.Колонки Цикл
ЗаписьXML.ЗаписатьНачалоЭлемента(Колонка.Имя);
ЗаписатьЗначениеXML(ЗаписьXML, Поле[Колонка.Имя]);
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЦикла;
Иначе
ЗаписьXML.ЗаписатьТекст(XMLСтрока(Значение));
КонецЕсли;
КонецПроцедуры

View File

@ -134,9 +134,10 @@
КонецФункции КонецФункции
Функция ЗначениеБулево(Знач Значение) Экспорт Функция ЗначениеБулево(Знач ЧтениеXML) Экспорт
Возврат СтрСравнить(Значение, "true") = 0; ЧтениеXML.Прочитать();
Возврат ЧтениеXML.ИмеетЗначение И СтрСравнить(ЧтениеXML.Значение, "true") = 0;
КонецФункции КонецФункции