&НаСервере
Процедура СоздатьДокументНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОценочныеОбязательстваПоСотрудникамОстатки.Организация КАК Организация,
| ОценочныеОбязательстваПоСотрудникамОстатки.Резерв КАК Резерв,
| ОценочныеОбязательстваПоСотрудникамОстатки.Сотрудник КАК Сотрудник,
| ОценочныеОбязательстваПоСотрудникамОстатки.ФизическоеЛицо КАК ФизическоеЛицо,
| ОценочныеОбязательстваПоСотрудникамОстатки.СтатьяФинансирования КАК СтатьяФинансирования,
| -СУММА(ОценочныеОбязательстваПоСотрудникамОстатки.СуммаРезерваОстаток) КАК СуммаРезерва,
| -СУММА(ОценочныеОбязательстваПоСотрудникамОстатки.СуммаРезерваСтраховыхВзносовОстаток) КАК СуммаРезерваСтраховыхВзносов,
| -СУММА(ОценочныеОбязательстваПоСотрудникамОстатки.СуммаРезерваФССНесчастныеСлучаиОстаток) КАК СуммаРезерваФССНесчастныеСлучаи,
| -СУММА(ОценочныеОбязательстваПоСотрудникамОстатки.СуммаРезерваНУОстаток) КАК СуммаРезерваНУ,
| -СУММА(ОценочныеОбязательстваПоСотрудникамОстатки.СуммаРезерваСтраховыхВзносовНУОстаток) КАК СуммаРезерваСтраховыхВзносовНУ,
| -СУММА(ОценочныеОбязательстваПоСотрудникамОстатки.СуммаРезерваФССНесчастныеСлучаиНУОстаток) КАК СуммаРезерваФССНесчастныеСлучаиНУ,
| &ДатаОстатков КАК Период
|ИЗ
| РегистрНакопления.ОценочныеОбязательстваПоСотрудникам.Остатки(&ДатаОстатков, Организация = &Организация) КАК ОценочныеОбязательстваПоСотрудникамОстатки
|
|СГРУППИРОВАТЬ ПО
| ОценочныеОбязательстваПоСотрудникамОстатки.Организация,
| ОценочныеОбязательстваПоСотрудникамОстатки.ФизическоеЛицо,
| ОценочныеОбязательстваПоСотрудникамОстатки.Сотрудник,
| ОценочныеОбязательстваПоСотрудникамОстатки.Резерв,
| ОценочныеОбязательстваПоСотрудникамОстатки.СтатьяФинансирования
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОценочныеОбязательстваОстатки.Организация КАК Организация,
| ОценочныеОбязательстваОстатки.Резерв КАК Резерв,
| ОценочныеОбязательстваОстатки.ТипОценочногоОбязательства КАК ТипОценочногоОбязательства,
| ОценочныеОбязательстваОстатки.СтатьяФинансирования КАК СтатьяФинансирования,
| -СУММА(ОценочныеОбязательстваОстатки.СуммаОстаток) КАК Сумма,
| -СУММА(ОценочныеОбязательстваОстатки.СуммаНУОстаток) КАК СуммаНУ,
| &ДатаОстатков КАК Период
|ИЗ
| РегистрНакопления.ОценочныеОбязательства.Остатки(&ДатаОстатков, Организация = &Организация) КАК ОценочныеОбязательстваОстатки
|
|СГРУППИРОВАТЬ ПО
| ОценочныеОбязательстваОстатки.Резерв,
| ОценочныеОбязательстваОстатки.Организация,
| ОценочныеОбязательстваОстатки.ТипОценочногоОбязательства,
| ОценочныеОбязательстваОстатки.СтатьяФинансирования";
Запрос.УстановитьПараметр("ДатаОстатков", КонецДня(ДатаОстатков));
Запрос.УстановитьПараметр("Организация", Организация);
РезультатЗапроса = Запрос.ВыполнитьПакетСПромежуточнымиДанными();
ОстаткиРезервовПоСотрудникам = РезультатЗапроса[0].Выгрузить();
ОстаткиРезервовСводно = РезультатЗапроса[1].Выгрузить();
НовыйДокумент = Документы.РезервыПоОплатеТруда.СоздатьДокумент();
НовыйДокумент.Дата = ДатаОстатков;
НовыйДокумент.МесяцНачисления = НачалоМесяца(ДатаОстатков);
НовыйДокумент.Организация = Организация;
НовыйДокумент.Резерв = Резерв;
НовыйДокумент.Ответственный = ПользователиКлиентСервер.ТекущийПользователь();
НовыйДокумент.Комментарий = "#ЗакрытиеОстатков на: " + Формат(ДатаОстатков, "ДФ=dd.MM.yyyy");
НовыйДокумент.ОценочныеОбязательстваПоСотрудникам.Загрузить(ОстаткиРезервовПоСотрудникам);
НовыйДокумент = Документы.ПереносДанных.СоздатьДокумент();
НовыйДокумент.Дата = ДатаОстатков;
НовыйДокумент.ПериодРегистрации = НачалоМесяца(ДатаОстатков);
НовыйДокумент.Организация = Организация;
НовыйДокумент.Ответственный = ПользователиКлиентСервер.ТекущийПользователь();
НовыйДокумент.Комментарий = "#ЗакрытиеОстатковРезервов на: " + Формат(ДатаОстатков, "ДФ=dd.MM.yyyy");
НовыйРегистр = НовыйДокумент.ТаблицаРегистров.Добавить();
НовыйРегистр.Имя = "ОценочныеОбязательства";
НовыйРегистр = НовыйДокумент.ТаблицаРегистров.Добавить();
НовыйРегистр.Имя = "ОценочныеОбязательстваПоСотрудникам";
РН_ОценочныеОбязательстваПоСотрудникам = НовыйДокумент.Движения.ОценочныеОбязательстваПоСотрудникам;
РН_ОценочныеОбязательстваПоСотрудникам.Загрузить(ОстаткиРезервовПоСотрудникам);
РН_ОценочныеОбязательства = НовыйДокумент.Движения.ОценочныеОбязательства;
РН_ОценочныеОбязательства.Загрузить(ОстаткиРезервовСводно);
НовыйДокумент.Записать(РежимЗаписиДокумента.Запись);
Сообщить("Документ создан.");
КонецПроцедуры