| ПО ВТ_База. Сотрудник = ВТ_НакопленоЧасов. Сотрудник";
Измерения = Новый Массив;
Измерения. Добавить("Сотрудник");
Запрос. УстановитьПараметр("Измерения", Измерения);
Запрос. УстановитьПараметр("Дата", Дата);
Запрос. УстановитьПараметр("Компенсация", ПланыВидовРасчета. ДополнительныеНачисления. Компенсация);
Запрос. УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос. Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать();
Пока ВыборкаДетальныеЗаписи. Следующий() Цикл
Набор[ВыборкаДетальныеЗаписи. номерСтроки -1].Результат = ВыборкаДетальныеЗаписи. Результат;
ТЧ[ВыборкаДетальныеЗаписи. номерСтроки -1].Результат = ВыборкаДетальныеЗаписи. Результат;
Набор[ВыборкаДетальныеЗаписи. номерСтроки -1].КолЧасов = ВыборкаДетальныеЗаписи. КолЧасов;
ТЧ[ВыборкаДетальныеЗаписи. номерСтроки -1].КолЧасов = ВыборкаДетальныеЗаписи. КолЧасов;
КонецЦикла;
ИначеЕсли Стр. ВидРасчета = ПланыВидовРасчета. Удержания. Штраф Тогда
Запрос = Новый Запрос;
Запрос. Текст =
"ВЫБРАТЬ
| УдержанияБазаОсновныеНачисления. КолДнейБаза * 5000 КАК Результат,
| УдержанияБазаОсновныеНачисления. НомерСтроки,
| 5000 КАК Размер
|ИЗ
| РегистрРасчета. Удержания. БазаОсновныеНачисления(
| &Измерения,
| &Измерения,
| ,
| Регистратор = &Ссылка
| И ВидРасчета = &Штраф) КАК УдержанияБазаОсновныеНачисления";
Измерения = Новый Массив;
Измерения. Добавить("Сотрудник");
Запрос. УстановитьПараметр("Измерения", Измерения);
Запрос. УстановитьПараметр("Штраф", ПланыВидовРасчета. Удержания. Штраф);
Запрос. УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос. Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать();
Пока ВыборкаДетальныеЗаписи. Следующий() Цикл
Набор[ВыборкаДетальныеЗаписи. номерСтроки -1].Результат = ВыборкаДетальныеЗаписи. Результат;
ТЧ[ВыборкаДетальныеЗаписи. номерСтроки -1].Результат = ВыборкаДетальныеЗаписи. Результат;
Набор[ВыборкаДетальныеЗаписи. номерСтроки -1].Размер = ВыборкаДетальныеЗаписи. Размер;
ТЧ[ВыборкаДетальныеЗаписи. номерСтроки -1].Размер = ВыборкаДетальныеЗаписи. Размер;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
// регистр ОсновныеНачисления
Движения. ОсновныеНачисления. Записывать = Истина;
Выборка = СформироватьВыборкуОсн();
ЗаполнитьНабор(Движения. ОсновныеНачисления, Выборка);
// регистр ОсновныеНачисления
Движения. ДополнительныеНачисления. Записывать = Истина;
Выборка = СформироватьВыборкуДоп();
ЗаполнитьНабор(Движения. ДополнительныеНачисления, Выборка);
// регистр Удержания
Движения. Удержания. Записывать = Истина;
Выборка = СформироватьВыборкуУд();
ЗаполнитьНабор(Движения. Удержания, Выборка);
// регистр ОтработаныеЧасы Приход
Движения. ОтработаныеЧасы. Записывать = Истина;
Для Каждого ТекСтрокаОсновныеНачисления Из ОсновныеНачисления Цикл
Если ТекСтрокаОсновныеНачисления. ВидРасчета = ПланыВидовРасчета. ОсновныеНачисления. Оклад Тогда
Движение = Движения. ОтработаныеЧасы. Добавить();
Движение. ВидДвижения = ВидДвиженияНакопления. Приход;
Движение. Период = Дата;
Движение. Сотрудник = ТекСтрокаОсновныеНачисления. Сотрудник;
Движение. Значение = ТекСтрокаОсновныеНачисления. КолЧасов;
КонецЕсли;
КонецЦикла;
КонецПроцедуры



В модуле Формы:
&НаСервере
Процедура РасчитатьНаСервере()
Док = РеквизитФормыВЗначение("Объект");
Док. РасчитатьЗП();
ЗначениеВДанныеФормы(Док, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Расчитать(Команда)
РасчитатьНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПроцентПремииНаСервере()
Запрос = Новый Запрос;
Запрос. Текст =
"ВЫБРАТЬ
| ПроцентПремииСрезПоследних. Процент
|ИЗ
| РегистрСведений. ПроцентПремии. СрезПоследних(НАЧАЛОПЕРИОДА(&Дата, МЕСЯЦ), ) КАК ПроцентПремииСрезПоследних";
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 |


