Классификатор ТН ВЭД / Форма выбора / Модуль формы

файл
#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;
	
	Элементы.ФормаПодборИзТНВЭД.Видимость = ПравоДоступа("Редактирование", Метаданные.Справочники.КлассификаторТНВЭД);
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	Если ИмяСобытия = "ОбновитьПослеДобавленияТНВЭД" 
		Или ИмяСобытия = "ЗавершениеЗагрузкиДанныхТНВЭД" Тогда
		Элементы.Список.Обновить();
	КонецЕсли;
	
КонецПроцедуры

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

#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок

&НаКлиенте
Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
	
	Отказ = Истина;
	
	ДополнительныеПараметры = Новый Структура;
	Если Копирование Тогда
		ЗначенияЗаполнения = Новый Структура;
		ЗначенияЗаполнения.Вставить("Код", Элемент.ТекущиеДанные.Код);
		ЗначенияЗаполнения.Вставить("Наименование", Элемент.ТекущиеДанные.Наименование);
		ДополнительныеПараметры.Вставить("ЗначенияЗаполнения", ЗначенияЗаполнения);
	КонецЕсли;
	
	Оповещение = Новый ОписаниеОповещения("ВопросЗавершение", ЭтотОбъект, ДополнительныеПараметры);
	
	ТекстВопроса = НСтр("ru = 'Есть возможность подобрать товарную номенклатуру ВЭД из классификатора.
		|Подобрать?'");
	
	ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);
	
КонецПроцедуры

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

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура ПодборИзТНВЭД(Команда)

	//++ Локализация
	
	ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПодборИзКлассификатораЗавершение", ЭтотОбъект);
	
	НастройкиРежима = Новый Структура;
	НастройкиРежима.Вставить("Владелец", ЭтотОбъект);
	НастройкиРежима.Вставить("ОбработчикЗавершения", ОповещениеОЗакрытии);
	Если Элементы.Список.ТекущиеДанные <> Неопределено Тогда
		НастройкиРежима.Вставить("КодВыбранногоЭлемента", Элементы.Список.ТекущиеДанные.Код);
	КонецЕсли;
	
	ОблачныеКлассификаторыКлиент.ПодобратьИзСервисаЭлементыТНВЭД(НастройкиРежима);

	//-- Локализация
	
КонецПроцедуры

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

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

&НаКлиенте
Процедура ВопросЗавершение(Результат, ДополнительныеПараметры) Экспорт

	Если Результат = КодВозвратаДиалога.Да Тогда
		ПодборИзТНВЭД(Неопределено);
	Иначе
		ОткрытьФорму("Справочник.КлассификаторТНВЭД.Форма.ФормаЭлемента", ДополнительныеПараметры, ЭтотОбъект);
	КонецЕсли;

КонецПроцедуры

&НаКлиенте
Процедура ПодборИзКлассификатораЗавершение(РезультатВыбора, ДопПараметры) Экспорт
	
	Если РезультатВыбора = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	НовыйЭлемент = ДобавитьЭлементКлассификатора(РезультатВыбора);
	
	ОповеститьОбИзменении(НовыйЭлемент);
	
	Элементы.Список.ТекущаяСтрока = НовыйЭлемент;
	
КонецПроцедуры 

&НаСервереБезКонтекста
Функция ДобавитьЭлементКлассификатора(СвойстваЭлемента)
	
	Если НЕ ЗначениеЗаполнено(СвойстваЭлемента.Код) Тогда
		Возврат Справочники.КлассификаторТНВЭД.ПустаяСсылка();
	КонецЕсли;
	
	ЭлементТНВЭД = Справочники.КлассификаторТНВЭД.СоздатьОбновитьЭлементКлассификатора(СвойстваЭлемента);
	
	Возврат ЭлементТНВЭД;
	
КонецФункции

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

Связанные материалы