#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
Функция ТаблицаКлассификатора(Знач ИмяМакетаСписков = "Списки2014Кв1") Экспорт
Классификатор = Новый ТаблицаЗначений;
Классификатор.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(8)));
Классификатор.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(150)));
Классификатор.Колонки.Добавить("Отбор", Новый ОписаниеТипов("Булево"));
Классификатор.Очистить();
ДлинаКодаСправочника = Метаданные.Справочники.КлассификаторВидовЭкономическойДеятельности.ДлинаКода;
Если ПолучитьФункциональнуюОпцию("УправлениеТорговлей") Тогда
ИспользоватьТаблицуОтбора = Ложь;
ЭлементыКлассификатораИзМакета = Справочники.Организации.ПолучитьПараметрыФормыВыбораДляКода("ОКВЭД", Дата(1,1,1)).СписокКодов;
КонецЕсли;
Если ИспользоватьТаблицуОтбора Тогда
ОбластьИсточникОтбора = "pril_okved_51";
Если ПолучитьФункциональнуюОпцию("УправлениеТорговлей") Тогда
ЭлементыКлассификатора = Справочники.Организации.ПолучитьПараметрыФормыВыбораДляКода("ОКВЭД", Дата(1,1,1)).СписокКодов;
КонецЕсли;
ЭлементыКлассификатораИзМакета.Индексы.Добавить("Код");
Иначе
ЭлементыКлассификатора = ЭлементыКлассификатораИзМакета;
КонецЕсли;
Если ЭлементыКлассификатора.Количество() = 0 Тогда
Возврат Классификатор;
КонецЕсли;
Для Каждого Элемент Из ЭлементыКлассификатора Цикл
НоваяСтрока = Классификатор.Добавить();
НоваяСтрока.Код = Элемент.Код;
НоваяСтрока.Отбор = ИспользоватьТаблицуОтбора;
Наименование = "";
Если Не ИспользоватьТаблицуОтбора Тогда
Наименование = Элемент.Наименование;
Иначе
КлассификаторИзМакета = ЭлементыКлассификатораИзМакета.Найти(Элемент.Код, "Код");
Если КлассификаторИзМакета <> Неопределено Тогда
Наименование = КлассификаторИзМакета.Наименование;
КонецЕсли;
КонецЕсли;
НоваяСтрока.Наименование = Наименование;
КонецЦикла;
Возврат Классификатор;
КонецФункции
#КонецОбласти
#Область ОбновлениеИнформационнойБазы
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если Параметры.Свойство("ДанныеКлассификатора") И Параметры.ДанныеКлассификатора
ИЛИ Не ПолучитьФункциональнуюОпцию("ИспользованиеКлассификаторовНоменклатуры") Тогда
СтандартнаяОбработка = Ложь;
Параметры.Вставить("ИмяСправочника", "КлассификаторВидовЭкономическойДеятельности");
ВыбраннаяФорма = "ОбщаяФорма.ДобавлениеЭлементовВКлассификатор";
КонецЕсли;
КонецПроцедуры
#КонецОбласти