Настройки обмена с ЕГАИС / Форма списка / Модуль формы

файл

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

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	Если НЕ ЗначениеЗаполнено(РабочееМесто) Тогда
		МенеджерОборудованияКлиент.ОбновитьРабочееМестоКлиента();
		УстановитьТекущееРабочееМесто();
	КонецЕсли;
	
	УстановитьЗаголовокФормы(ЭтотОбъект);
	
КонецПроцедуры

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

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

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

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

//@skip-warning
&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	Если ОбщегоНазначенияЕГАИСКлиент.ЭтоРасширеннаяВерсияГосИС() Тогда
		МодульСобытияФормИСКлиентПереопределяемый = ОбщегоНазначенияКлиент.ОбщийМодуль("СобытияФормИСКлиентПереопределяемый");
		МодульСобытияФормИСКлиентПереопределяемый.ВыполнитьПереопределяемуюКоманду(ЭтотОбъект, Команда);
	КонецЕсли;
	
КонецПроцедуры

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

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

&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьЗаголовокФормы(Форма)
	
	Если Форма.ПоказатьВсеРабочиеМеста Тогда
		Форма.АвтоЗаголовок = Истина;
		Форма.Заголовок = "";
	Иначе
		Форма.АвтоЗаголовок = Ложь;
		Форма.Заголовок = НСтр("ru = 'Настройки обмена с ЕГАИС:'") + " " + Строка(Форма.РабочееМесто);
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Процедура УдалитьОтборПоРабочемуМесту()
	
	ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора(Список.КомпоновщикНастроек.Настройки.Отбор, "РабочееМесто");
	
	УстановитьЗаголовокФормы(ЭтотОбъект);
	
КонецПроцедуры

&НаСервере
Процедура УстановитьОтборПоРабочемуМесту()
	
	РабочиеМеста = Новый Массив;
	РабочиеМеста.Добавить(РабочееМесто);
	РабочиеМеста.Добавить(Справочники.РабочиеМеста.ПустаяСсылка());
	
	ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(
		Список.КомпоновщикНастроек.Настройки.Отбор,
		"РабочееМесто",
		РабочиеМеста,
		ВидСравненияКомпоновкиДанных.ВСписке,
		НСтр("ru = 'Доступная настройка обмена'"),
		Истина);
	
	УстановитьЗаголовокФормы(ЭтотОбъект);
	
КонецПроцедуры

&НаСервере
Процедура УстановитьУсловноеОформление()
	
	УсловноеОформление.Элементы.Очистить();
	
	ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
	
	ПолеЭлемента = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
	ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("РабочееМесто");
	
	ОтборЭлемента = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.РабочееМесто");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
	
	ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru='Сервер 1С:Предприятия'"));
	
	//
	
	ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
	
	ПолеЭлемента = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
	ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Организация.Имя);
	
	ОтборЭлемента = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Организация");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
	
	ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru='<не сопоставлено>'"));
	ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ЦветТекстаТребуетВниманияГосИС);
	
	//
	
	ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
	
	ПолеЭлемента = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
	ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТорговыйОбъект.Имя);
	
	ОтборЭлемента = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ТорговыйОбъект");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
	
	ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru='<не сопоставлено>'"));
	ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ЦветТекстаТребуетВниманияГосИС);
	
КонецПроцедуры

&НаСервере
Процедура УстановитьТекущееРабочееМесто()
	
	РабочееМесто = МенеджерОборудованияВызовСервера.ПолучитьРабочееМестоКлиента();
	
	УстановитьОтборПоРабочемуМесту();
	
КонецПроцедуры

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

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