Все кадровые документы / Форма списка / Модуль формы

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	УстановитьУсловноеОформлениеСписка();
	
	Если Параметры.Свойство("Заголовок") Тогда
		Заголовок = Параметры.Заголовок;
	КонецЕсли;
	
	Параметры.Свойство("СотрудникСсылка", СотрудникСсылка);
	Если ЗначениеЗаполнено(СотрудникСсылка) Тогда
		
		ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "Сотрудник", СотрудникСсылка, Истина);
		
		ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
			Элементы,
			"Сотрудник",
			"Видимость",
			Ложь);
		
		КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина, СотрудникСсылка, "Организация");
		Если КадровыеДанныеСотрудников.Количество() > 0 Тогда
			
			Организация = КадровыеДанныеСотрудников[0].Организация;
			
			ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
				Список, "ГоловнаяОрганизация", ЗарплатаКадры.ГоловнаяОрганизация(Организация));
				
			Если Не ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЗарплатаКадры.ГоловнаяОрганизация(Организация), "ЕстьОбособленныеПодразделения") Тогда
				
				ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
					Элементы,
					"Организация",
					"Видимость",
					Ложь);
				
			КонецЕсли;
			
		КонецЕсли;
		
		УстановитьТипыОбъектовОповещения();
		
	Иначе
		
		СтруктураПараметровОтбора = Новый Структура();
		ЗарплатаКадры.ДобавитьПараметрОтбора(СтруктураПараметровОтбора, "ФизическоеЛицо",
			Новый ОписаниеТипов("СправочникСсылка.ФизическиеЛица"), НСтр("ru = 'Сотрудник'"));
		ЗарплатаКадры.ДобавитьПараметрОтбора(СтруктураПараметровОтбора, "Подразделение",
			Новый ОписаниеТипов("СправочникСсылка.ПодразделенияОрганизаций"), НСтр("ru = 'Подразделение'"));
		
		ЗарплатаКадры.ПриСозданииНаСервереФормыСДинамическимСписком(ЭтотОбъект, "Список",,
			СтруктураПараметровОтбора, "СписокКритерииОтбора");
		
	КонецЕсли;
	
	МногофункциональныеДокументыБЗКФормы.УстановитьВидимостьКомандыУтвердитьВСписке(ЭтотОбъект);
	ЗарплатаКадрыРасширенный.СформироватьПодменюСоздатьФормыСпискаДокументов(ЭтаФорма, "ЖурналДокументов.КадровыеДокументы");
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
	ПараметрыРазмещения.КоманднаяПанель = Элементы.КоманднаяПанельФормы;
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
	// СтандартныеПодсистемы.КонтрольВеденияУчета
	КонтрольВеденияУчетаБЗК.ПриСозданииНаСервереФормыСписка(ЭтотОбъект, "Список");
	// Конец СтандартныеПодсистемы.КонтрольВеденияУчета
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ШтрихкодыБольничныхЛистов") Тогда 
		Модуль = ОбщегоНазначения.ОбщийМодуль("ШтрихкодыБольничныхЛистов");
		Модуль.НастроитьСканерШтрихкода(ЭтаФорма);
	КонецЕсли;
	
	// БлокировкаИзмененияОбъектов
	БлокировкаИзмененияОбъектов.ПриСозданииНаСервереФормыСписка(ЭтотОбъект, Элементы.КоманднаяПанельФормы);
	// Конец БлокировкаИзмененияОбъектов
	
	// ЭДОБЗК
	ЭДОБЗК.ПриСозданииНаСервереФормыСписка(ЭтотОбъект, Список);
	// Конец ЭДОБЗК
	
	// СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов
	Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов") Тогда
		МодульУчетОригиналовПервичныхДокументов = ОбщегоНазначения.ОбщийМодуль("УчетОригиналовПервичныхДокументов");
		МодульУчетОригиналовПервичныхДокументов.ПриСозданииНаСервере_ФормаСписка(ЭтотОбъект, Элементы.Список, Элементы.Комментарий);
	КонецЕсли;
	// Конец СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов
	
	// ПроцессыОбработкиДокументов
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
		МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначения.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплата");
		МодульПроцессыОбработкиДокументовЗарплата.ПриСозданииНаСервереФормыСписка(ЭтотОбъект, "Список");
	КонецЕсли;	
	// Конец ПроцессыОбработкиДокументов
	
	// ИнтеграцияС1САрхивом 
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ИнтеграцияС1САрхивомЗарплатаКадры") Тогда
		МодульИнтеграцияС1САрхивом = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияС1САрхивом");
		МодульИнтеграцияС1САрхивом.ПриСозданииНаСервереФормыСписка(ЭтотОбъект);
	КонецЕсли;
	// Конец ИнтеграцияС1САрхивом

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ШтрихкодыБольничныхЛистов") Тогда 
		Модуль = ОбщегоНазначенияКлиент.ОбщийМодуль("ШтрихкодыБольничныхЛистовКлиент");
		Модуль.НачатьПодключениеОборудованиеПриОткрытииФормы(ЭтаФорма);
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
	
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ШтрихкодыБольничныхЛистов") Тогда 
		Модуль = ОбщегоНазначенияКлиент.ОбщийМодуль("ШтрихкодыБольничныхЛистовКлиент");
		Модуль.НачатьОтключениеОборудованиеПриЗакрытииФормы(ЭтаФорма);
	КонецЕсли;
	
КонецПроцедуры

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

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

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

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

&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
	
	ЗарплатаКадрыРасширенныйКлиентСервер.УстановитьДоступностьКомандыУтвердитьВМногофункциональныхДокументах(ЭтотОбъект);
	ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
	
КонецПроцедуры

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

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

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

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

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

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

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
	ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры

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

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

&НаКлиенте
Процедура Утвердить(Команда)
	
	ЗарплатаКадрыРасширенныйКлиент.УтвердитьВыделенныеМногофункциональныеДокументы(ЭтаФорма);
	
КонецПроцедуры

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

// БлокировкаИзмененияОбъектов

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

// Конец БлокировкаИзмененияОбъектов

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

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

// СтандартныеПодсистемы.КонтрольВеденияУчета

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

// Конец СтандартныеПодсистемы.КонтрольВеденияУчета

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

	ТекущийШрифт = Элементы.Список.Шрифт;
	
	ЖирныйШрифт = Новый Шрифт(ТекущийШрифт,,,Истина);
	
	ЭлементОформления = УсловноеОформлениеКД.Элементы.Добавить();
	ЭлементОформления.Представление = НСтр("ru='Выделять бронирование.'");
	
	ГруппаОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
	
	ОтборЭлемента = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("БронированиеПозиции");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ОтборЭлемента.ПравоеЗначение = Истина;
	
	ОтборЭлемента = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Проведен");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ОтборЭлемента.ПравоеЗначение = Новый ПолеКомпоновкиДанных("БронированиеПозиции");
	
	ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", ЖирныйШрифт);
			
КонецПроцедуры

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

&НаСервере
Процедура НастроитьДинамическийСписокНаСервере(ОписаниеМодификации) Экспорт
	ЗарплатаКадрыРасширенный.НастроитьДинамическийСписокПоОписаниюМодификации(ЭтаФорма, ОписаниеМодификации);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПараметрМодификацииВыбор(Элемент, ИмяПараметра, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	ЗарплатаКадрыРасширенныйКлиент.ПараметрМодификацииОбработкаНавигационнойСсылки(
		ЭтотОбъект, Элемент.Родитель.Имя, ИмяПараметра);
	
КонецПроцедуры

// СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов
&НаКлиенте
Процедура Подключаемый_ОбновитьКомандыСостоянияОригинала()
	
	ОбновитьКомандыСостоянияОригинала()
	
КонецПроцедуры
&НаСервере
Процедура ОбновитьКомандыСостоянияОригинала()
	
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
	
КонецПроцедуры
//Конец СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов

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

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