|                ПО ВТ_База. Сотрудник = ВТ_НакопленоЧасов. Сотрудник";

                       

                       Измерения = Новый Массив;

                       Измерения. Добавить("Сотрудник");

                       

                       Запрос. УстановитьПараметр("Измерения", Измерения);

                       Запрос. УстановитьПараметр("Дата", Дата);

                       Запрос. УстановитьПараметр("Компенсация", ПланыВидовРасчета. ДополнительныеНачисления. Компенсация);

                       Запрос. УстановитьПараметр("Ссылка", Ссылка);

                       

                       РезультатЗапроса = Запрос. Выполнить();

                       

                       ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать();

НЕ нашли? Не то? Что вы ищете?

                       

                       Пока ВыборкаДетальныеЗаписи. Следующий() Цикл

                               Набор[ВыборкаДетальныеЗаписи. номерСтроки -1].Результат = ВыборкаДетальныеЗаписи. Результат;

                               ТЧ[ВыборкаДетальныеЗаписи. номерСтроки -1].Результат = ВыборкаДетальныеЗаписи. Результат;

                               

                               Набор[ВыборкаДетальныеЗаписи. номерСтроки -1].КолЧасов = ВыборкаДетальныеЗаписи. КолЧасов;

                               ТЧ[ВыборкаДетальныеЗаписи. номерСтроки -1].КолЧасов = ВыборкаДетальныеЗаписи. КолЧасов;

                       КонецЦикла;

               ИначеЕсли Стр. ВидРасчета = ПланыВидовРасчета. Удержания. Штраф Тогда

       Запрос = Новый Запрос;

       Запрос. Текст =

               "ВЫБРАТЬ

               |        УдержанияБазаОсновныеНачисления. КолДнейБаза * 5000 КАК Результат,

               |        УдержанияБазаОсновныеНачисления. НомерСтроки,

               |        5000 КАК Размер

               |ИЗ

               |        РегистрРасчета. Удержания. БазаОсновныеНачисления(

               |                        &Измерения,

               |                        &Измерения,

               |                        ,

               |                        Регистратор = &Ссылка

               |                                И ВидРасчета = &Штраф) КАК УдержанияБазаОсновныеНачисления";

                       Измерения = Новый Массив;

                       Измерения. Добавить("Сотрудник");

                       

                       Запрос. УстановитьПараметр("Измерения", Измерения);

                       Запрос. УстановитьПараметр("Штраф", ПланыВидовРасчета. Удержания. Штраф);

                       Запрос. УстановитьПараметр("Ссылка", Ссылка);

       

       РезультатЗапроса = Запрос. Выполнить();

       

       ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать();

       

       Пока ВыборкаДетальныеЗаписи. Следующий() Цикл

                               Набор[ВыборкаДетальныеЗаписи. номерСтроки -1].Результат = ВыборкаДетальныеЗаписи. Результат;

                               ТЧ[ВыборкаДетальныеЗаписи. номерСтроки -1].Результат = ВыборкаДетальныеЗаписи. Результат;

                               

                               Набор[ВыборкаДетальныеЗаписи. номерСтроки -1].Размер = ВыборкаДетальныеЗаписи. Размер;

                               ТЧ[ВыборкаДетальныеЗаписи. номерСтроки -1].Размер = ВыборкаДетальныеЗаписи. Размер;

       КонецЦикла;

               КонецЕсли;

       КонецЦикла;

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

       

       // регистр ОсновныеНачисления

       Движения. ОсновныеНачисления. Записывать = Истина;

       Выборка = СформироватьВыборкуОсн();

       ЗаполнитьНабор(Движения. ОсновныеНачисления, Выборка);

       

       // регистр ОсновныеНачисления

       Движения. ДополнительныеНачисления. Записывать = Истина;

       Выборка = СформироватьВыборкуДоп();

       ЗаполнитьНабор(Движения. ДополнительныеНачисления, Выборка);

       

       // регистр Удержания

       Движения. Удержания. Записывать = Истина;

       Выборка = СформироватьВыборкуУд();

       ЗаполнитьНабор(Движения. Удержания, Выборка);

       

       // регистр ОтработаныеЧасы Приход

       Движения. ОтработаныеЧасы. Записывать = Истина;

       Для Каждого ТекСтрокаОсновныеНачисления Из ОсновныеНачисления Цикл

               Если ТекСтрокаОсновныеНачисления. ВидРасчета = ПланыВидовРасчета. ОсновныеНачисления. Оклад Тогда

               Движение = Движения. ОтработаныеЧасы. Добавить();

               Движение. ВидДвижения = ВидДвиженияНакопления. Приход;

               Движение. Период = Дата;

               Движение. Сотрудник = ТекСтрокаОсновныеНачисления. Сотрудник;

               Движение. Значение = ТекСтрокаОсновныеНачисления. КолЧасов;

               КонецЕсли;

       КонецЦикла;

КонецПроцедуры

В модуле Формы:

&НаСервере

Процедура РасчитатьНаСервере()

       Док = РеквизитФормыВЗначение("Объект");

       Док. РасчитатьЗП();

       ЗначениеВДанныеФормы(Док, Объект);

КонецПроцедуры

&НаКлиенте

Процедура Расчитать(Команда)

       РасчитатьНаСервере();

КонецПроцедуры

&НаСервере

Процедура ПроцентПремииНаСервере()

       

       Запрос = Новый Запрос;

       Запрос. Текст =

               "ВЫБРАТЬ

               |        ПроцентПремииСрезПоследних. Процент

               |ИЗ

               |        РегистрСведений. ПроцентПремии. СрезПоследних(НАЧАЛОПЕРИОДА(&Дата, МЕСЯЦ), ) КАК ПроцентПремииСрезПоследних";

       

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11