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