Работа с расширениями из встроенного языка

Для программной работы с расширениями в 1С есть объект РасширенияКонфигурации. Это менеджер для работы с расширениями.

Получить массив всех расширений

//получить массив всех расширений ИБ, включая неактивные:
Расширения = РасширенияКонфигурации.Получить();
 
//получить массив расширений с отбором по имени расширения, 
//также можно по идентификатору:
Отбор = Новый Структура;
Отбор.Вставить("Имя", "Расширение2");
Расширения = РасширенияКонфигурации.Получить(Отбор);

Проверить возможность применения всех расширений

//проверить возможность применения всех расширений:
//вернет массив объектов ИнформацияОПроблемеПримененияРасширенияКонфигурации 
Массив = РасширенияКонфигурации.ПроверитьВозможностьПримененияВсех();
Для Каждого ИнфОПроблеме Из Массив Цикл
	Сообщить(ИнфОПроблеме.Расширение.Имя);
	Сообщить(ИнфОПроблеме.Описание);
КонецЦикла;

Проверить возможность применения одного расширения

//проверка возможности применения одного расширения:
Расширения = РасширенияКонфигурации.Получить();
Для Каждого Расш Из Расширения Цикл
	Массив = Расш.ПроверитьВозможностьПрименения();	
	Для Каждого ИнфОПроблеме Из Массив Цикл
		Сообщить(ИнфОПроблеме.Расширение.Имя);
		Сообщить(ИнфОПроблеме.Описание);
	КонецЦикла;
КонецЦикла;

Узнать изменяет ли расширение структуру данных

//изменяет ли расширение структуру данных (есть новые объекты в расширении):
Расширения = РасширенияКонфигурации.Получить();
Для Каждого Расш Из Расширения Цикл
	Изменяет = Расш.ИзменяетСтруктуруДанных();
	Сообщить(Изменяет);
КонецЦикла;

Программно добавить расширение из файла

//программное добавление расширения из файла:
ДД = Новый ДвоичныеДанные("F:\Расширение3.cfe");
Расш = РасширенияКонфигурации.Создать();
Расш.ИспользуетсяВРаспределеннойИнформационнойБазе = Ложь;
Расш.БезопасныйРежим = Ложь;
Попытка
	Расш.Записать(ДД);
Исключение
КонецПопытки;

Программное удаление расширения

//удаление расширений:
Массив = РасширенияКонфигурации.Получить();
Для Каждого Расш Из Массив Цикл
	Расш.Удалить();
КонецЦикла;

Есть ли в метаданных изменения расширенями

//узнать есть ли в метаданных изменения расширениями конфигурации: вернет тип булево (любые изменения, не только структурные)
Сообщить(Метаданные.Справочники.Номенклатура.ЕстьИзмененияРасширениямиКонфигурации());
Сообщить(Метаданные.Справочники.Контрагенты.ЕстьИзмененияРасширениямиКонфигурации());
Сообщить(Метаданные.Документы.ПоступлениеТоваровУслуг.Формы.ФормаДокумента.ЕстьИзмененияРасширениямиКонфигурации());

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями: