Untitled
unknown
plain_text
2 years ago
6.5 kB
4
Indexable
Процедура ОбработкаПроведения(Отказ, РежимПроведения) // ДВИЖЕНИЯ ПО РЕГИСТРАМ ОСНОВНЫЕ НАЧИСЛЕНИЯ И ДОПОЛНИТЕЛЬНЫЕ НАЧИСЛЕНИЯ Движения.ОсновныеНачисления.Записывать = Истина; Движения.ДополнительныеНачисления.Записывать = Истина; // Запрос для формирования рабочих наборов записей Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НачислениеЗарплатыОсновныеНачисления.Сотрудник, | НачислениеЗарплатыОсновныеНачисления.Подразделение, | НачислениеЗарплатыОсновныеНачисления.ВидРасчета, | НачислениеЗарплатыОсновныеНачисления.График, | НачислениеЗарплатыОсновныеНачисления.ДатаНачала, | НачислениеЗарплатыОсновныеНачисления.ДатаОкончания |ПОМЕСТИТЬ ВТ_ТабЧастьОН |ИЗ | Документ.НачислениеЗарплаты.ОсновныеНачисления КАК НачислениеЗарплатыОсновныеНачисления |ГДЕ | НачислениеЗарплатыОсновныеНачисления.Ссылка = &Ссылка | И НачислениеЗарплатыОсновныеНачисления.ВидРасчета.СпособРасчета = &СпособРасчетаПоТарифу |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ_ТабЧастьОН.Сотрудник, | ВТ_ТабЧастьОН.Подразделение, | ВТ_ТабЧастьОН.ВидРасчета, | ВТ_ТабЧастьОН.График, | ВТ_ТабЧастьОН.ДатаНачала КАК ПериодДействияНачало, | ВТ_ТабЧастьОН.ДатаОкончания КАК ПериодДействияКонец, | ЕСТЬNULL(ТарифныеСтавкиСрезПоследних.Ставка, 0) КАК Параметр, | &ПериодРегистрации |ИЗ | ВТ_ТабЧастьОН КАК ВТ_ТабЧастьОН | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТарифныеСтавки.СрезПоследних( | &ПериодРегистрации, | Смена В | (ВЫБРАТЬ | ВТ_ТабЧастьОН.График | ИЗ | ВТ_ТабЧастьОН КАК ВТ_ТабЧастьОН)) КАК ТарифныеСтавкиСрезПоследних | ПО ВТ_ТабЧастьОН.График = ТарифныеСтавкиСрезПоследних.Смена |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НачислениеЗарплатыДополнительныеНачисления.Сотрудник, | НачислениеЗарплатыДополнительныеНачисления.Подразделение, | НачислениеЗарплатыДополнительныеНачисления.ВидРасчета, | НачислениеЗарплатыДополнительныеНачисления.Параметр, | &ПериодРегистрации, | ДОБАВИТЬКДАТЕ(&ПериодРегистрации, МЕСЯЦ, -1) КАК БазовыйПериодНачало, | ДОБАВИТЬКДАТЕ(&ПериодРегистрации, СЕКУНДА, -1) КАК БазовыйПериодКонец |ИЗ | Документ.НачислениеЗарплаты.ДополнительныеНачисления КАК НачислениеЗарплатыДополнительныеНачисления |ГДЕ | НачислениеЗарплатыДополнительныеНачисления.Ссылка = &Ссылка | И НачислениеЗарплатыДополнительныеНачисления.ВидРасчета.СпособРасчета = &СпособРасчетаПремияРуководителю"; Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.УстановитьПараметр("ПериодРегистрации", НачалоМесяца(Дата)); Запрос.УстановитьПараметр("СпособРасчетаПоТарифу", Перечисления.СпособыРасчета.ПоТарифу); Запрос.УстановитьПараметр("СпособРасчетаПремияРуководителю", Перечисления.СпособыРасчета.ПремияРуководителя); // Обход результатов запроса, заполнение наборов записей МассивРезультатов = Запрос.ВыполнитьПакет(); РезультатОН = МассивРезультатов[1]; Если Не РезультатОН.Пустой() Тогда Выборка = РезультатОН.Выбрать(); Пока Выборка.Следующий() Цикл Движение = Движения.ОсновныеНачисления.Добавить(); ЗаполнитьЗначенияСвойств(Движение, Выборка); КонецЦикла; КонецЕсли; РезультатДН = МассивРезультатов[2]; Если Не РезультатДН.Пустой() Тогда Выборка = РезультатДН.Выбрать(); Пока Выборка.Следующий() Цикл Движение = Движения.ДополнительныеНачисления.Добавить(); ЗаполнитьЗначенияСвойств(Движение, Выборка); КонецЦикла; КонецЕсли; // Запись рабочих наборов записей Движения.Записать(); // Окончательный расчет данных в регистрах Расчет.РассчитатьНачисления (Ссылка, Движения); КонецПроцедуры
Editor is loading...