Документооборот с контролирующими органами / Мастер выбор учетной записи DSS / Модуль формы

файл
#Область ОписаниеПеременных

&НаКлиенте
Перем КонтекстЭДОКлиент;

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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	ИнициализироватьПараметры();
	УправлениеФормой();
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	ОписаниеОповещения = Новый ОписаниеОповещения("ПриОткрытии_ПослеПолученияКонтекста", ЭтотОбъект);
	ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
	
КонецПроцедуры

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

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

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

&НаКлиенте
Процедура ТаблицаВыбораВыборЗначения(Элемент, Значение, СтандартнаяОбработка)
	
	ВернутьЗначениеВыбора();
	
КонецПроцедуры

&НаКлиенте
Процедура ТаблицаВыбораВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	
	ВернутьЗначениеВыбора();
	
КонецПроцедуры

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

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

&НаКлиенте
Процедура ВключитьОтбор(Команда)
	
	ОтборВключен = НЕ ОтборВключен;
	УправлениеФормой();
	
КонецПроцедуры

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

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

&НаКлиенте
Процедура ПриОткрытии_ПослеПолученияКонтекста(Результат, ДополнительныеПараметры) Экспорт
	
	КонтекстЭДОКлиент 	 = Результат.КонтекстЭДО;
	
КонецПроцедуры

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

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

	НашлиСтроки = Новый Массив;
	Если ЗначениеЗаполнено(Параметры.ТекущаяЗапись) Тогда
		НашлиСтроки = ТаблицаВыбора.НайтиСтроки(Новый Структура("Ссылка", Параметры.ТекущаяЗапись));
	КонецЕсли;
	
	Если НашлиСтроки.Количество() > 0 Тогда
		Элементы.ТаблицаВыбора.ТекущаяСтрока = НашлиСтроки[0].ПолучитьИдентификатор();
	КонецЕсли;
	
КонецПроцедуры

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

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

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