|;

               |

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

               |ВЫБРАТЬ

               |        ВТ_ПериодыСгрупп. Сотрудник КАК Сотрудник,

               |        ВТ_ПериодыСгрупп. Сумма,

               |        ВТ_ПериодыСгрупп. Подразделение КАК Подразделение,

               |        ВЫБОР

               |                КОГДА ВТ_ПериодыСгрупп. Начало > &НачалоТекМес

               |                        ТОГДА ВТ_ПериодыСгрупп. Начало

               |                ИНАЧЕ &НачалоТекМес

               |        КОНЕЦ КАК Начало,

               |        ВТ_ПериодыСгрупп. Конец

               |ПОМЕСТИТЬ ВТ_ПериодыСДАтойНачала

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

               |ИЗ

               |        ВТ_ПериодыСгрупп КАК ВТ_ПериодыСгрупп

               |;

               |

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

               |ВЫБРАТЬ

               |        ВТ_ПериодыСДАтойНачала. Сотрудник КАК Сотрудник,

               |        ВТ_ПериодыСДАтойНачала. Сумма КАК Размер,

               |        ВТ_ПериодыСДАтойНачала. Подразделение КАК Подразделение,

               |        ВТ_ПериодыСДАтойНачала. Начало КАК ДатаНачала,

               |        ВТ_ПериодыСДАтойНачала. Конец КАК ДатаОкончания,

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

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

               |        0 КАК Результат

               |ИЗ

               |        ВТ_ПериодыСДАтойНачала КАК ВТ_ПериодыСДАтойНачала

               |ГДЕ

               |        ВТ_ПериодыСДАтойНачала. Начало >= &НачалоТекМес

               |        И ВТ_ПериодыСДАтойНачала. Конец <= &КонецТекМес

               |        И ВТ_ПериодыСДАтойНачала. Начало < ВТ_ПериодыСДАтойНачала. Конец

               |

               |УПОРЯДОЧИТЬ ПО

               |        Сотрудник,

               |        Подразделение,

               |        ДатаНачала";

       

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

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

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

       

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

       

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

       

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

&НаКлиенте

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

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

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

Отчет «Перерасчет»

ВЫБРАТЬ

       ПерерасчетДоп. ОбъектПерерасчета,

       ПерерасчетДоп. ВидРасчета,

       ПерерасчетДоп. Сотрудник

ИЗ

       РегистрРасчета. ДополнительныеНачисления. ПерерасчетДоп КАК ПерерасчетДоп

Обработка «ЗаполнениеГрафика»

Рекв: Подразделение, График (вынести на форму)

Процедура ЗаполнитьГрафик(ДатаНачала, ДатаОкончания, ВыходныеДни) Экспорт

       

       Набор = РегистрыСведений. ГрафикиРаботы. СоздатьНаборЗаписей();

       

       Набор. Отбор. ГрафикРаботы. Установить(График);

       Набор. Отбор. Подразделение. Установить(Подразделение);

       

       Набор. Прочитать();

       

       ЧислоСекундВСутках = 86400;

       

       Дат = ДатаНачала;

       Для к = 0 По Набор. Количество()-1 Цикл

               

               Запись = Набор[к];

               Если Запись. Дата < ДатаНачала Тогда

                Продолжить;

               ИначеЕсли Запись. Дата =Дат Тогда

                       Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда

                               Запись. Значение = 0;

                       Иначе        

                               Запись. Значение = 8;

                       КонецЕсли;

                       Дат = Дат + ЧислоСекундВСутках;

               Иначе

                       Пока Дат < Мин(Запись. Дата, ДатаОкончания) Цикл

                               НоваяЗапись = Набор. Добавить();

                               НоваяЗапись. Дата = Дат;

                               НоваяЗапись. ГрафикРаботы = График;

                               НоваяЗапись. Подразделение = Подразделение;

                               Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда

                                       НоваяЗапись. Значение = 0;

                               Иначе        

                                       НоваяЗапись. Значение = 8;

                               КонецЕсли;

                               Дат = Дат + ЧислоСекундВСутках;

                       КонецЦикла;

                       Если Запись. Дата > ДатаОкончания Тогда

                               Прервать;

                       Иначе

                               Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда

                                       Запись. Значение = 0;

                               Иначе        

                                       Запись. Значение = 8;

                               КонецЕсли;

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