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