Skip to content

Commit 8ddf764

Browse files
authored
Merge pull request #74 from 240596448/smartTags-patch
Smart tags patch: исправление неверного чтение опций корня и падения.
2 parents 64192f1 + 0e59a5c commit 8ddf764

File tree

1 file changed

+20
-36
lines changed

1 file changed

+20
-36
lines changed

src/Классы/smartTags.os

Lines changed: 20 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@
205205

206206
ПараметрыКонфигурации = ПолучитьПараметрыКонфигурацииИзИсходников(КаталогИсходныхФайлов);
207207

208-
Возврат ПараметрыКонфигурации.Version;
208+
Возврат ПараметрыКонфигурации["Version"];
209209

210210
КонецФункции // ПрочитатьВерсиюИзИсходников()
211211

@@ -226,7 +226,7 @@
226226
ВызватьИсключение СтрШаблон("Файл <%1> не найден у указанном каталоге.", ФайлКонфигурации.ПолноеИмя);
227227
КонецЕсли;
228228

229-
ПараметрыКонфигурации = Новый Структура;
229+
ПараметрыКонфигурации = Новый Соответствие;
230230

231231
Чтение = Новый ЧтениеXML;
232232
Чтение.ОткрытьФайл(ФайлКонфигурации.ПолноеИмя);
@@ -237,8 +237,6 @@
237237
КонецЕсли;
238238
КонецЦикла;
239239

240-
Чтение.Прочитать();
241-
242240
МассивДоступныхСвойств = Новый Массив;
243241
МассивДоступныхСвойств.Добавить("Vendor");
244242
МассивДоступныхСвойств.Добавить("Version");
@@ -247,48 +245,34 @@
247245
МассивДоступныхСвойств.Добавить("Name");
248246

249247
Пока Не (Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента И Чтение.ЛокальноеИмя = "Properties") Цикл
250-
251-
КлючИЗначение = ПрочитатьОпцию(Чтение);
252-
253-
Если МассивДоступныхСвойств.Найти(КлючИЗначение.Ключ) = Неопределено Тогда
248+
249+
Ключ = Чтение.ЛокальноеИмя;
250+
Если НЕ Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента
251+
Или МассивДоступныхСвойств.Найти(Ключ) = Неопределено Тогда
252+
Чтение.Прочитать();
254253
Продолжить;
254+
Иначе
255+
Чтение.Прочитать();
256+
Если Чтение.ТипУзла = ТипУзлаXML.Текст Тогда
257+
Значение = Чтение.Значение;
258+
ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
259+
Значение = "";
260+
Иначе
261+
Продолжить;
262+
КонецЕсли;
263+
ПараметрыКонфигурации.Вставить(Ключ, Значение);
264+
Лог.Отладка("Читаю опцию: %1
265+
| Значение: %2", Ключ, Значение);
255266
КонецЕсли;
256267

257-
ПараметрыКонфигурации.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение);
258-
259268
КонецЦикла;
269+
260270
Чтение.Закрыть();
261271

262272
Возврат ПараметрыКонфигурации;
263273

264274
КонецФункции
265275

266-
// Функция читает опцию из ЧтениеXML
267-
//
268-
Функция ПрочитатьОпцию(Знач Чтение)
269-
270-
Перем Ключ;
271-
Перем Значение;
272-
273-
Ключ = Чтение.ЛокальноеИмя;
274-
275-
Чтение.Прочитать();
276-
Если Чтение.ТипУзла = ТипУзлаXML.Текст Тогда
277-
Значение = Чтение.Значение;
278-
Чтение.Прочитать();
279-
ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
280-
Значение = "";
281-
КонецЕсли;
282-
283-
Лог.Отладка("Читаю опцию: %1
284-
| Значение: %2", Ключ, Значение);
285-
286-
Чтение.Прочитать();
287-
288-
Возврат Новый Структура("Ключ,Значение", Ключ, Значение);
289-
290-
КонецФункции
291-
292276
Процедура Инициализация()
293277

294278
Лог = Логирование.ПолучитьЛог(ИмяЛога());

0 commit comments

Comments
 (0)