///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2024, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

#Область СлужебныйПрограммныйИнтерфейс

// См. ОбновлениеИнформационнойБазыБСП.ПриДобавленииОбработчиковОбновления.
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
	
	Если Не ОбщегоНазначения.РазделениеВключено() Тогда
		Обработчик = Обработчики.Добавить();
		Обработчик.Процедура = "Справочники.КлассификаторБанков.ОбработатьДанныеДляПереходаНаНовуюВерсию";
		Обработчик.Версия = "3.1.11.1";
		Обработчик.РежимВыполнения = "Отложенно";
		Обработчик.Идентификатор = Новый УникальныйИдентификатор("ffab8bb3-4bb1-4dde-9283-8328c8ede4d9");
		Обработчик.ПроцедураЗаполненияДанныхОбновления = "Справочники.КлассификаторБанков.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
		Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
		Обработчик.Комментарий = НСтр("ru = 'Заполняет код страны в Справочнике БИК.'");
		
		Изменяемые = Новый Массив;
		Изменяемые.Добавить(Метаданные.Справочники.КлассификаторБанков.ПолноеИмя());
		Обработчик.ИзменяемыеОбъекты = СтрСоединить(Изменяемые, ",");
		
		Блокируемые = Новый Массив;
		Блокируемые.Добавить(Метаданные.Справочники.КлассификаторБанков.ПолноеИмя());
		Обработчик.БлокируемыеОбъекты = СтрСоединить(Блокируемые, ",");
	КонецЕсли;
	
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

// Определяет нужно ли обновление данных классификатора.
//
Функция КлассификаторАктуален() Экспорт
	
	ИмяОбработки = "ЗагрузкаКлассификатораБанков";
	Если Метаданные.Обработки.Найти(ИмяОбработки) <> Неопределено Тогда
		Возврат Обработки[ИмяОбработки].КлассификаторАктуален();
	КонецЕсли;
	
	Возврат Истина;
	
КонецФункции

Функция КлассификаторПустой()
	
	ТекстЗапроса =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	КлассификаторБанков.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.КлассификаторБанков КАК КлассификаторБанков";
	
	Запрос = Новый Запрос(ТекстЗапроса);
	Возврат Запрос.Выполнить().Пустой();
	
КонецФункции

Функция ПредлагатьЗагрузкуКлассификатора() Экспорт
	
	Возврат Не ОбщегоНазначения.РазделениеВключено() И КлассификаторПустой();
	
КонецФункции

#КонецОбласти
