|                                                ВТ_Гр. ВидРасчета

                       |                                        ИЗ

                       |                                                ВТ_Гр КАК ВТ_Гр)) КАК ДанныеТабеляОбороты

                       |                ПО ВТ_Гр. Сотрудник = ДанныеТабеляОбороты. Сотрудник

                       |                        И ВТ_Гр. Подразделение = ДанныеТабеляОбороты. Подразделение

                       |                        И ВТ_Гр. ВидРасчета = ДанныеТабеляОбороты. ВидРасчета

                       |                ЛЕВОЕ СОЕДИНЕНИЕ ВТ_База КАК ВТ_База

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

                       |                ПО ВТ_Гр. НомерСтроки = ВТ_База. НомерСтроки

                       |

                       |СГРУППИРОВАТЬ ПО

                       |        ВТ_Гр. НомерСтроки

                       |;

                       |

                       |////////////////////////////////////////////////////////////////////////////////

                       |ВЫБРАТЬ

                       |        ВТ_Сгрупп. НомерСтроки,

                       |        ВТ_Сгрупп. Результат,

                       |        ВТ_Сгрупп. Размер

                       |ИЗ

                       |        ВТ_Сгрупп КАК ВТ_Сгрупп";

                       

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

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

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

                       

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

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

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

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

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

                       

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

                       

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

                       

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

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

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

                               

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

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

                       КонецЦикла;

                       

               КонецЕсли;

               

       КонецЦикла;

       

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

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

       

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

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

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

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

       

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

Модуль формы:

&НаСервере

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

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

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

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

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

&НаКлиенте

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

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

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

&НаСервере

Процедура ЗаполнитьНаСервере()

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

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

               "ВЫБРАТЬ

               |        СведенияОСотрудникахСрезПоследних. Сотрудник,

               |        СведенияОСотрудникахСрезПоследних. Подразделение,

               |        СведенияОСотрудникахСрезПоследних. Оклад КАК Размер,

               |        ЗНАЧЕНИЕ(Справочник. ГрафикиРаботы. Пятидневка) КАК ГрафикРаботы,

               |        ЗНАЧЕНИЕ(ПланВидовРасчета. ОсновныеНачисления. Оклад) КАК ВидРасчета

               |ИЗ

               |        РегистрСведений. СведенияОСотрудниках. СрезПоследних(&НачМес, ) КАК СведенияОСотрудникахСрезПоследних";

       

       Запрос. УстановитьПараметр("НачМес", НачалоМесяца(Объект. Дата));

       

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

       

       Объект. ОсновныеНачисления. Загрузить(РезультатЗапроса. Выгрузить());

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

&НаКлиенте

Процедура Заполнить(Команда)

       ЗаполнитьНаСервере();

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

Документ «Табель»

Рекв: Подразделение

ТЧ Список: РеквТЧ: Сотрудник, Д1,Д2… Д31

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

       Движения. ДанныеТабеля. Очистить();

       Движения. ДанныеТабеля. Записать();

       Движения. ДанныеТабеля. Записывать = Истина;

       

       Для каждого Стр из Список Цикл

               День = НачалоМесяца(Дата);

               ПоследнийДень = КонецМесяца(Дата);

               Сч = 1;

               Пока День <= ПоследнийДень Цикл

                       Если НРег(Стр["д"+Сч]) = "к" Тогда

                               

                               // регистр ДанныеТабеля

                               Движение = Движения. ДанныеТабеля. Добавить();

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