|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ПериодыСгрупп. Сотрудник КАК Сотрудник,
| ВТ_ПериодыСгрупп. Сумма,
| ВТ_ПериодыСгрупп. Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА ВТ_ПериодыСгрупп. Начало > &НачалоТекМес
| ТОГДА ВТ_ПериодыСгрупп. Начало
| ИНАЧЕ &НачалоТекМес
| КОНЕЦ КАК Начало,
| ВТ_ПериодыСгрупп. Конец
|ПОМЕСТИТЬ ВТ_ПериодыСДАтойНачала
|ИЗ
| ВТ_ПериодыСгрупп КАК ВТ_ПериодыСгрупп
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ПериодыСДАтойНачала. Сотрудник КАК Сотрудник,
| ВТ_ПериодыСДАтойНачала. Сумма КАК Размер,
| ВТ_ПериодыСДАтойНачала. Подразделение КАК Подразделение,
| ВТ_ПериодыСДАтойНачала. Начало КАК ДатаНачала,
| ВТ_ПериодыСДАтойНачала. Конец КАК ДатаОкончания,
| ЗНАЧЕНИЕ(Справочник. ГрафикиРаботы. Пятидневка) КАК ГрафикРаботы,
| ЗНАЧЕНИЕ(ПланВидовРасчета. ОсновныеНачисления. Оклад) КАК ВидРасчета,
| 0 КАК Результат
|ИЗ
| ВТ_ПериодыСДАтойНачала КАК ВТ_ПериодыСДАтойНачала
|ГДЕ
| ВТ_ПериодыСДАтойНачала. Начало >= &НачалоТекМес
| И ВТ_ПериодыСДАтойНачала. Конец <= &КонецТекМес
| И ВТ_ПериодыСДАтойНачала. Начало < ВТ_ПериодыСДАтойНачала. Конец
|
|УПОРЯДОЧИТЬ ПО
| Сотрудник,
| Подразделение,
| ДатаНачала";
Запрос. УстановитьПараметр("КонецПредМес", НачалоМесяца(Объект. Дата)-1);
Запрос. УстановитьПараметр("КонецТекМес", КонецМесяца(Объект. Дата));
Запрос. УстановитьПараметр("НачалоТекМес", НачалоМесяца(Объект. Дата));
РезультатЗапроса = Запрос. Выполнить().Выгрузить();
Объект. ОсновныеНачисления. Загрузить(РезультатЗапроса);
КонецПроцедуры
&НаКлиенте
Процедура Заполнить(Команда)
ЗаполнитьНаСервере();
КонецПроцедуры
Отчет «Перерасчет»
ВЫБРАТЬ
ПерерасчетДоп. ОбъектПерерасчета,
ПерерасчетДоп. ВидРасчета,
ПерерасчетДоп. Сотрудник
ИЗ
РегистрРасчета. ДополнительныеНачисления. ПерерасчетДоп КАК ПерерасчетДоп

Обработка «ЗаполнениеГрафика»
Рекв: Подразделение, График (вынести на форму)
Процедура ЗаполнитьГрафик(ДатаНачала, ДатаОкончания, ВыходныеДни) Экспорт
Набор = РегистрыСведений. ГрафикиРаботы. СоздатьНаборЗаписей();
Набор. Отбор. ГрафикРаботы. Установить(График);
Набор. Отбор. Подразделение. Установить(Подразделение);
Набор. Прочитать();
ЧислоСекундВСутках = 86400;
Дат = ДатаНачала;
Для к = 0 По Набор. Количество()-1 Цикл
Запись = Набор[к];
Если Запись. Дата < ДатаНачала Тогда
Продолжить;
ИначеЕсли Запись. Дата =Дат Тогда
Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда
Запись. Значение = 0;
Иначе
Запись. Значение = 8;
КонецЕсли;
Дат = Дат + ЧислоСекундВСутках;
Иначе
Пока Дат < Мин(Запись. Дата, ДатаОкончания) Цикл
НоваяЗапись = Набор. Добавить();
НоваяЗапись. Дата = Дат;
НоваяЗапись. ГрафикРаботы = График;
НоваяЗапись. Подразделение = Подразделение;
Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда
НоваяЗапись. Значение = 0;
Иначе
НоваяЗапись. Значение = 8;
КонецЕсли;
Дат = Дат + ЧислоСекундВСутках;
КонецЦикла;
Если Запись. Дата > ДатаОкончания Тогда
Прервать;
Иначе
Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда
Запись. Значение = 0;
Иначе
Запись. Значение = 8;
КонецЕсли;
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 |


