Сведения об обновлении.
Функция СведенияОбОбновлении(Знач ИмяФайлаПоставкиОбновления) Экспорт
Результат = Новый Структура;
Результат.Вставить("ТекстОшибки", "");
Результат.Вставить("Подходит", Ложь);
ИсходныеКонфигурации = Новый ДеревоЗначений;
ИсходныеКонфигурации.Колонки.Добавить("Версия", Новый ОписаниеТипов("Строка"));
Результат.Вставить("ИсходныеКонфигурации", ИсходныеКонфигурации);
Попытка
ДанныеФайла = Новый ДвоичныеДанные(ИмяФайлаПоставкиОбновления);
Исключение
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,,,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Результат.ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
Возврат Результат;
КонецПопытки;
Попытка
Описание = Новый ОписаниеОбновленияКонфигурации(ДанныеФайла);
Исключение
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,,,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Результат.ТекстОшибки = НСтр("ru = 'Сведения не доступны'");
КраткоеПредставлениеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
Если Не ПустаяСтрока(КраткоеПредставлениеОшибки) Тогда
Результат.ТекстОшибки = Результат.ТекстОшибки + " (" + КраткоеПредставлениеОшибки + ")";
КонецЕсли;
Возврат Результат;
КонецПопытки;
Для каждого ИсходнаяКонфигурация Из Описание.ИсходныеКонфигурации Цикл
Если Не Результат.Подходит
И (ИсходнаяКонфигурация.Имя = Метаданные.Имя И ИсходнаяКонфигурация.Поставщик = Метаданные.Поставщик
И ИсходнаяКонфигурация.Версия = Метаданные.Версия) Тогда
Результат.Подходит = Истина;
КонецЕсли;
ИмяКонфигурации = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 (%2)",
ИсходнаяКонфигурация.Имя, ИсходнаяКонфигурация.Поставщик);
ЭлементКонфигурация = ИсходныеКонфигурации.Строки.Найти(ИмяКонфигурации, "Версия", Ложь);
Если ЭлементКонфигурация = Неопределено Тогда
ЭлементКонфигурация = ИсходныеКонфигурации.Строки.Добавить();
ЭлементКонфигурация.Версия = ИмяКонфигурации;
КонецЕсли;
ВерсияКонфигурации = ЭлементКонфигурация.Строки.Добавить();
ВерсияКонфигурации.Версия = ИсходнаяКонфигурация.Версия;
КонецЦикла;
Возврат Результат;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
СведенияОБлокируемыхОбъектах (БСП)
СведенияОбОбновленииИнформационнойБазы (БСП)
ЗаписатьСведенияОбОбновленииИнформационнойБазы (БСП)
ДоступныеВерсииАдресныхСведений (БСП)
ОбновитьНастройкиРаботыСКлассификаторами (БСП)
ЗапланироватьОбновлениеЗависимыхСписковПоЗначениямСГруппами (БСП)
ПриЗаписиСпискаБизнесПроцессов (БСП)
ОбновитьНастройкиРаботыСКлассификаторамиОбластейДанных (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)