public void ДописатьАлгоритмВЗапрос(/*ИмяАлгоритма = "", КомментироватьРасчет = Ложь, Запрос = Неопределено, ТекстЗапроса = "", Условие = "", ИмяРегистра = ""*/)
{
/*// алгоритмы расчета записей регистров расчета
*/
if(true/*ИмяАлгоритма = "ИсчисленныйНДФЛ"*/)
{
//МассивУдержанийИЛ = Новый Массив;
//МассивУдержанийИЛ.Добавить(ПланыВидовРасчета.УдержанияОрганизаций.ИЛПроцентом);
//МассивУдержанийИЛ.Добавить(ПланыВидовРасчета.УдержанияОрганизаций.ИЛПроцентомБезБЛ);
//МассивУдержанийИЛ.Добавить(ПланыВидовРасчета.УдержанияОрганизаций.ИЛПроцентомДоПредела);
//МассивУдержанийИЛ.Добавить(ПланыВидовРасчета.УдержанияОрганизаций.ИЛПроцентомДоПределаБезБЛ);
//Запрос.УстановитьПараметр("парамМассивУдержанийИЛ", МассивУдержанийИЛ);
/*// ИсчисленныйНДФЛ
*/
/*// данные по исчисленному НДФЛ в текущем периоде регистрации
*/
/*// Поля
*/
/*// НомерСтроки
*/
/*// ИсчисленныйНалог
*/
/*//
*/
/*// Описание
*/
/*// Суммируем исчисленный НДФЛ по заданной организации в разрезе физлиц за
*/
/*// базовый период строки удержания
*/
/*//
*/
/*Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Удержания.НомерСтроки КАК НомерСтроки,
| Удержания.ФизЛицо КАК Физлицо,
| НАЧАЛОПЕРИОДА(Удержания.БазовыйПериодНачало, МЕСЯЦ) КАК МесяцУдержания
|ПОМЕСТИТЬ ВТФизлица
|ИЗ
| РегистрРасчета.УдержанияРаботниковОрганизаций КАК Удержания
|ГДЕ
| Удержания.ВидРасчета В(&парамМассивУдержанийИЛ)
| И Удержания.Регистратор = &парамРегистратор
|
|ИНДЕКСИРОВАТЬ ПО
| Физлицо,
| МесяцУдержания
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Физлица.НомерСтроки КАК НомерСтроки,
| СУММА(НДФЛРасчетыСБюджетом.Налог) КАК ИсчисленныйНалог
|ПОМЕСТИТЬ ВТИсчисленныйНДФЛ
|ИЗ
| ВТФизлица КАК Физлица
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.НДФЛРасчетыСБюджетом КАК НДФЛРасчетыСБюджетом
| ПО Физлица.Физлицо = НДФЛРасчетыСБюджетом.ФизЛицо
| И (НАЧАЛОПЕРИОДА(НДФЛРасчетыСБюджетом.Период, МЕСЯЦ) = Физлица.МесяцУдержания)
|ГДЕ
| НДФЛРасчетыСБюджетом.Организация = &парамОрганизация
| И НДФЛРасчетыСБюджетом.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| И НДФЛРасчетыСБюджетом.ВидСтроки = ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.Начисление)
|
|СГРУППИРОВАТЬ ПО
| Физлица.НомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
//Запрос.Выполнить();
/*// присоединяем данные по исчисленному НДФЛ
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТИсчисленныйНДФЛ КАК ИсчисленныйНДФЛ
|ПО Основной.НомерСтроки = ИсчисленныйНДФЛ.НомерСтроки";*/
}
if(true/*ИмяАлгоритма = "РасчетнаяБазаУдержаний"*/)
{
/*Запрос.Текст =
"ВЫБРАТЬ
| Удержания.Регистратор КАК Регистратор,
| Удержания.НомерСтроки КАК НомерСтроки,
| Удержания.ФизЛицо,
| Удержания.ПериодРегистрации,
| Удержания.Организация,
| Удержания.БазовыйПериодНачало,
| БазовыеВидыРасчета.ВидРасчета,
| Удержания.ПорядокРасчетаБазы,
| Удержания.БазовыйПериодКонец
|ПОМЕСТИТЬ ВТ_ЗаписиУдержаний
|ИЗ
| РегистрРасчета.УдержанияРаботниковОрганизаций КАК Удержания
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.БазовыеВидыРасчета КАК БазовыеВидыРасчета
| ПО Удержания.ВидРасчета = БазовыеВидыРасчета.Ссылка
|ГДЕ
| &Условие
|
|ИНДЕКСИРОВАТЬ ПО
| Регистратор,
| НомерСтроки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Удержания.Регистратор КАК Регистратор,
| Удержания.НомерСтроки КАК НомерСтроки,
| Удержания.ФизЛицо,
| Удержания.ПериодРегистрации КАК ПериодРегистрации,
| Удержания.Организация,
| Удержания.БазовыйПериодНачало,
| Удержания.ВидРасчета,
| Удержания.ПорядокРасчетаБазы,
| Удержания.БазовыйПериодКонец,
| СотрудникиОрганизаций.Ссылка КАК Сотрудник
|ПОМЕСТИТЬ ВТ_Удержания
|ИЗ
| ВТ_ЗаписиУдержаний КАК Удержания
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
| ПО Удержания.ФизЛицо = СотрудникиОрганизаций.Физлицо
| И Удержания.Организация = СотрудникиОрганизаций.Организация
|
|ИНДЕКСИРОВАТЬ ПО
| ПериодРегистрации,
| Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СУММА(База.РезультатБаза) КАК РезультатБаза,
| База.Регистратор КАК Регистратор,
| База.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ ВТБаза
|ИЗ
| (ВЫБРАТЬ
| База.Результат КАК РезультатБаза,
| Основной.Регистратор КАК Регистратор,
| Основной.НомерСтроки КАК НомерСтроки
| ИЗ
| ВТ_Удержания КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК База
| ПО Основной.ПериодРегистрации = База.ПериодРегистрации
| И Основной.Сотрудник = База.Сотрудник
| И Основной.Организация = База.Организация
| И Основной.БазовыйПериодНачало <= База.ПериодДействияНачало
| И Основной.ВидРасчета = База.ВидРасчета
| ГДЕ
| Основной.ПорядокРасчетаБазы = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетаБазы.ПриПриемеНаРаботу)
| И База.ВидРасчета ЕСТЬ НЕ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| База.Результат,
| Основной.Регистратор,
| Основной.НомерСтроки
| ИЗ
| ВТ_Удержания КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК База
| ПО (Основной.ПериодРегистрации = НАЧАЛОПЕРИОДА(База.ПериодРегистрации, МЕСЯЦ))
| И Основной.Сотрудник = База.Сотрудник
| И Основной.Организация = База.Организация
| И Основной.БазовыйПериодНачало <= База.ПериодРегистрации
| И Основной.ВидРасчета = База.ВидРасчета
| ГДЕ
| Основной.ПорядокРасчетаБазы = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетаБазы.ПриПриемеНаРаботу)
| И База.ВидРасчета ЕСТЬ НЕ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| База.Результат,
| Основной.Регистратор,
| Основной.НомерСтроки
| ИЗ
| ВТ_Удержания КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК База
| ПО Основной.ПериодРегистрации = База.ПериодРегистрации
| И Основной.Сотрудник = База.Сотрудник
| И Основной.Организация = База.Организация
| И Основной.БазовыйПериодКонец >= База.ПериодДействияНачало
| И Основной.ВидРасчета = База.ВидРасчета
| ГДЕ
| Основной.ПорядокРасчетаБазы = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетаБазы.ПриУвольнении)
| И База.ВидРасчета ЕСТЬ НЕ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| База.Результат,
| Основной.Регистратор,
| Основной.НомерСтроки
| ИЗ
| ВТ_Удержания КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК База
| ПО (Основной.ПериодРегистрации = НАЧАЛОПЕРИОДА(База.ПериодРегистрации, МЕСЯЦ))
| И Основной.Сотрудник = База.Сотрудник
| И Основной.Организация = База.Организация
| И Основной.БазовыйПериодКонец >= База.ПериодРегистрации
| И Основной.ВидРасчета = База.ВидРасчета
| ГДЕ
| Основной.ПорядокРасчетаБазы = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетаБазы.ПриУвольнении)
| И База.ВидРасчета ЕСТЬ НЕ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| База1.РезультатБаза,
| База1.Регистратор,
| База1.НомерСтроки
| ИЗ
| РегистрРасчета.УдержанияРаботниковОрганизаций.БазаОсновныеНачисленияРаботниковОрганизаций(
| &парамИзмеренияОсновного,
| &парамИзмеренияБазового,
| &парамРазрезы,
| &Условие
| И ПорядокРасчетаБазы = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетаБазы.ЗаВесьПериод)) КАК База1
| ГДЕ
| ((НЕ База1.Сторно)
| ИЛИ База1.ПериодРегистрацииРазрез < База1.ПериодРегистрации)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| База2.РезультатБаза,
| База2.Регистратор,
| База2.НомерСтроки
| ИЗ
| РегистрРасчета.УдержанияРаботниковОрганизаций.БазаДополнительныеНачисленияРаботниковОрганизаций(
| &парамИзмеренияОсновного,
| &парамИзмеренияБазового,
| &парамРазрезы,
| &Условие
| И ПорядокРасчетаБазы = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетаБазы.ЗаВесьПериод)) КАК База2
| ГДЕ
| ((НЕ База2.Сторно)
| ИЛИ База2.ПериодРегистрацииРазрез < База2.ПериодРегистрации)) КАК База
|
|СГРУППИРОВАТЬ ПО
| База.Регистратор,
| База.НомерСтроки";*/
//Разрезы = Новый Массив;
//Разрезы.Добавить("ПериодРегистрации");
//Запрос.УстановитьПараметр("парамРазрезы", Разрезы);
//Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Условие", Условие);
//Запрос.Выполнить();
/*ТекстЗапроса = ТекстЗапроса + "
| ЛЕВОЕ СОЕДИНЕНИЕ ВТБаза Как База
| ПО База.Регистратор = Основной.Регистратор И База.НомерСтроки = Основной.НомерСтроки
|";*/
}
if(true/*ИмяАлгоритма = "ВсегоОтработаноВремени"*/)
{
/*// Сумма отработанного времени по видам времени:
*/
/*// ОтработанноеВПределахНормы,
*/
/*// ЧасовоеОтработанноеВПределахНормы,
*/
/*// ОтработанноеСверхНормы, необходим для расчета показателей ОтработаноВремениВДнях, ОтработаноВремениВЧасах
*/
/*Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОсновныеНачисления.Сотрудник КАК Сотрудник,
| ОсновныеНачисления.ПериодДействия КАК ПериодДействия
|ПОМЕСТИТЬ ВТ_СотрудникиПериодыДействия
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления
|ГДЕ
| ОсновныеНачисления.Регистратор = &парамРегистратор
| И ОсновныеНачисления.Авторасчет
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| ПериодДействия
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОсновныеНачисленияОрганизаций.Ссылка КАК ВидРасчета
|ПОМЕСТИТЬ ВТ_СписокВРПоДням
|ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
|ГДЕ
| ОсновныеНачисленияОрганизаций.ВидВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы), ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеСверхНормы))
|
|ИНДЕКСИРОВАТЬ ПО
| ВидРасчета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОсновныеНачисленияОрганизаций.Ссылка КАК ВидРасчета
|ПОМЕСТИТЬ ВТ_СписокВРПоЧасам
|ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
|ГДЕ
| ОсновныеНачисленияОрганизаций.ВидВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеСверхНормы), ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ЧасовоеОтработанноеВПределахНормы))
|
|ИНДЕКСИРОВАТЬ ПО
| ВидРасчета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ФактическийПериодДействия.НомерСтроки,
| ФактическийПериодДействия.Сторно,
| ФактическийПериодДействия.Сотрудник КАК Сотрудник,
| ФактическийПериодДействия.Организация КАК Организация,
| ФактическийПериодДействия.ПериодДействия КАК ПериодДействия,
| ФактическийПериодДействия.ПериодДействияНачало,
| ФактическийПериодДействия.ПериодДействияКонец,
| ФактическийПериодДействия.ПериодРегистрации
|ПОМЕСТИТЬ ВТ_ОсновныеФПД
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
| Регистратор = &парамРегистратор
| И Авторасчет) КАК ФактическийПериодДействия
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| Организация,
| ПериодДействия
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НесгруппированныеДанные.НомерСтроки КАК НомерСтроки,
| СУММА(НесгруппированныеДанные.ОтработаноДней) КАК ВсегоОтработаноДней,
| СУММА(НесгруппированныеДанные.ОтработаноЧасов) КАК ВсегоОтработаноЧасов
|ПОМЕСТИТЬ ВТВсегоОтработаноВремени
|ИЗ
| (ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА Вспомогательный.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеСверхНормы)
| ТОГДА ВЫБОР
| КОГДА Вспомогательный.Сторно
| ТОГДА -1
| ИНАЧЕ 1
| КОНЕЦ * Вспомогательный.ОтработаноДней
| ИНАЧЕ ГрафикиРаботы.ОсновноеЗначение
| КОНЕЦ КАК ОтработаноДней,
| ВЫБОР
| КОГДА Вспомогательный.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеСверхНормы)
| ТОГДА 0
| ИНАЧЕ ГрафикиРаботы.ДополнительноеЗначение
| КОНЕЦ КАК ОтработаноЧасов
| ИЗ
| ВТ_ОсновныеФПД КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
| ВидРасчета В
| (ВЫБРАТЬ
| СписокВР.ВидРасчета
| ИЗ
| ВТ_СписокВРПоДням КАК СписокВР)
| И (Сотрудник, ПериодДействия) В
| (ВЫБРАТЬ
| ОсновныеНачисления.Сотрудник,
| ОсновныеНачисления.ПериодДействия
| ИЗ
| ВТ_СотрудникиПериодыДействия КАК ОсновныеНачисления)) КАК Вспомогательный
| ПО Основной.Сотрудник = Вспомогательный.Сотрудник
| И Основной.Организация = Вспомогательный.Организация
| И Основной.ПериодДействия = Вспомогательный.ПериодДействия
| И (Основной.Сторно = Вспомогательный.Сторно
| ИЛИ Вспомогательный.ВидРасчета.ВидВремени <> ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы))
| И Основной.ПериодРегистрации >= Вспомогательный.ПериодРегистрации
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботы
| ПО (Вспомогательный.ГрафикРаботы = ГрафикиРаботы.ГрафикРаботы)
| И (Вспомогательный.ВидРасчета.ВидВремени <> ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеСверхНормы))
| И (ГрафикиРаботы.Месяц = Вспомогательный.ПериодДействия)
| И (ГрафикиРаботы.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням))
| И (ГрафикиРаботы.Дата МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
| И (ГрафикиРаботы.Дата МЕЖДУ Вспомогательный.ПериодДействияНачало И Вспомогательный.ПериодДействияКонец)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Основной.НомерСтроки,
| 0,
| ВЫБОР
| КОГДА Вспомогательный.Сторно
| ТОГДА -1
| ИНАЧЕ 1
| КОНЕЦ * Вспомогательный.ОтработаноЧасов
| ИЗ
| ВТ_ОсновныеФПД КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
| ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам)
| И ВидРасчета В
| (ВЫБРАТЬ
| СписокВР.ВидРасчета
| ИЗ
| ВТ_СписокВРПоЧасам КАК СписокВР)
| И (Сотрудник, ПериодДействия) В
| (ВЫБРАТЬ
| ОсновныеНачисления.Сотрудник,
| ОсновныеНачисления.ПериодДействия
| ИЗ
| ВТ_СотрудникиПериодыДействия КАК ОсновныеНачисления)) КАК Вспомогательный
| ПО Основной.Сотрудник = Вспомогательный.Сотрудник
| И Основной.Организация = Вспомогательный.Организация
| И Основной.ПериодДействия = Вспомогательный.ПериодДействия
| И (Вспомогательный.ПериодДействияНачало МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
| И (Вспомогательный.ПериодДействияКонец МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)) КАК НесгруппированныеДанные
|
|СГРУППИРОВАТЬ ПО
| НесгруппированныеДанные.НомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
//Запрос.Выполнить();
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТВсегоОтработаноВремени КАК ВсегоОтработаноВремени
|ПО Основной.НомерСтроки = ВсегоОтработаноВремени.НомерСтроки
|";*/
}
if(true/*ИмяАлгоритма = "РазмерОграниченияПособия"*/)
{
/*Запрос.Текст =
"ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| Основной.ПериодДействияНачало,
| Основной.ДатаНачалаСобытия,
| Основной.Сотрудник
|ПОМЕСТИТЬ ВТРассчитываемыеЗаписиБольничных
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Основной
|ГДЕ
| Основной.Регистратор = &парамРегистратор
| И Основной.ВидРасчета.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуФСС), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ДоплатаДоСреднегоЗаработкаФСС), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПособиеПоУходуЗаРебенкомДо1_5Лет))
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
//Запрос.Выполнить();
/*// РазмерММОТ
*/
/*// Поля:
*/
/*// ОсновнойНомерСтроки - номер строки рассчитываемых движений
*/
/*// Размер - размер ММОТ
*/
/*// Описание:
*/
/*// получает размер ММОТ для каждой строки начислений
*/
/*//
*/
/*Запрос.Текст =
"ВЫБРАТЬ
| ДатыАктуальностиММОТ.НомерСтроки КАК ОсновнойНомерСтроки,
| МинимальнаяОплатаТрудаРФ.Размер КАК Размер
|ПОМЕСТИТЬ ВТРазмерММОТ
|ИЗ
| (ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| МАКСИМУМ(МинимальнаяОплатаТрудаРФ.Период) КАК ДатаАктуальности
| ИЗ
| ВТРассчитываемыеЗаписиБольничных КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МинимальнаяОплатаТрудаРФ КАК МинимальнаяОплатаТрудаРФ
| ПО МинимальнаяОплатаТрудаРФ.Период <= Основной.ПериодДействияНачало
|
| СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки) КАК ДатыАктуальностиММОТ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МинимальнаяОплатаТрудаРФ КАК МинимальнаяОплатаТрудаРФ
| ПО МинимальнаяОплатаТрудаРФ.Период = ДатыАктуальностиММОТ.ДатаАктуальности";*/
//Запрос.Выполнить();
/*// РазмерММОТ
*/
/*// Поля:
*/
/*// ОсновнойНомерСтроки - номер строки рассчитываемых движений
*/
/*// Размер - размер ММОТ
*/
/*// Описание:
*/
/*// получает размер ММОТ для каждой строки начислений
*/
/*//
*/
/*Запрос.Текст =
"ВЫБРАТЬ
| ДатыАктуальностиММОТ.НомерСтроки КАК ОсновнойНомерСтроки,
| МинимальнаяОплатаТрудаРФ.Размер КАК Размер
|ПОМЕСТИТЬ ВТРазмерММОТНаДатуДатаНачалаСобытия
|ИЗ
| (ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| МАКСИМУМ(МинимальнаяОплатаТрудаРФ.Период) КАК ДатаАктуальности
| ИЗ
| ВТРассчитываемыеЗаписиБольничных КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МинимальнаяОплатаТрудаРФ КАК МинимальнаяОплатаТрудаРФ
| ПО МинимальнаяОплатаТрудаРФ.Период <= Основной.ДатаНачалаСобытия
|
| СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки) КАК ДатыАктуальностиММОТ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МинимальнаяОплатаТрудаРФ КАК МинимальнаяОплатаТрудаРФ
| ПО МинимальнаяОплатаТрудаРФ.Период = ДатыАктуальностиММОТ.ДатаАктуальности";*/
//Запрос.Выполнить();
/*// РазмерОграниченияПособия
*/
/*// Поля:
*/
/*// ОсновнойНомерСтроки - номер строки рассчитываемых движений
*/
/*// Размер - размер ограничения
*/
/*// Описание:
*/
/*// получает размер ограничения пособия для каждой строки начислений
*/
/*//
*/
/*Запрос.Текст =
"ВЫБРАТЬ
| ДатыАктуальности.НомерСтроки КАК ОсновнойНомерСтроки,
| РазмерОграниченияПособияПоНетрудоспособности.Размер КАК Размер,
| РазмерОграниченияПособияПоНетрудоспособности.РазмерПоБеременности
|ПОМЕСТИТЬ ВТРазмерОграниченияПособия
|ИЗ
| (ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| МАКСИМУМ(РазмерОграниченияПособияПоНетрудоспособности.Период) КАК ДатаАктуальности
| ИЗ
| ВТРассчитываемыеЗаписиБольничных КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерОграниченияПособияПоНетрудоспособности КАК РазмерОграниченияПособияПоНетрудоспособности
| ПО РазмерОграниченияПособияПоНетрудоспособности.Период <= Основной.ПериодДействияНачало
|
| СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки) КАК ДатыАктуальности
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерОграниченияПособияПоНетрудоспособности КАК РазмерОграниченияПособияПоНетрудоспособности
| ПО РазмерОграниченияПособияПоНетрудоспособности.Период = ДатыАктуальности.ДатаАктуальности";*/
//Запрос.Выполнить();
/*// ПредельнаяВеличинаБазы
*/
/*// Поля:
*/
/*// ОсновнойНомерСтроки - номер строки рассчитываемых движений
*/
/*// Размер - размер ограничения
*/
/*// Описание:
*/
/*// получает размер ограничения пособия для каждой строки начислений
*/
/*//
*/
//Запрос.УстановитьПараметр("ДатаЗакона213ФЗ",ПроведениеРасчетов.ДатаЗаменыЕСНСтраховымиВзносами());
/*Запрос.Текст =
"ВЫБРАТЬ
| ПредельнаяВеличинаБазыСтраховыхВзносовСрезПоследних.Размер КАК Размер
|ПОМЕСТИТЬ ВТПредельнаяВеличинаБазы
|ИЗ
| РегистрСведений.ПредельнаяВеличинаБазыСтраховыхВзносов.СрезПоследних(&ДатаЗакона213ФЗ, ) КАК ПредельнаяВеличинаБазыСтраховыхВзносовСрезПоследних";*/
//Запрос.Выполнить();
/*// присоединяем данные о размере пособия
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерММОТ КАК РазмерММОТ
|ПО Основной.НомерСтроки = РазмерММОТ.ОсновнойНомерСтроки
|ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерММОТНаДатуДатаНачалаСобытия КАК РазмерММОТНаДатуДатаНачалаСобытия
|ПО Основной.НомерСтроки = РазмерММОТНаДатуДатаНачалаСобытия.ОсновнойНомерСтроки
|ЛЕВОЕ СОЕДИНЕНИЕ ВТПредельнаяВеличинаБазы КАК РазмерОграниченияПособия2010
|ПО Истина
|ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерОграниченияПособия КАК РазмерОграниченияПособия
|ПО Основной.НомерСтроки = РазмерОграниченияПособия.ОсновнойНомерСтроки";*/
}
if(true/*ИмяАлгоритма = "ФактическийПериодДействия"*/)
{
/*Запрос.Текст =
"ВЫБРАТЬ
| ФактическийПериодДействия.НомерСтроки КАК НомерСтроки,
| ФактическийПериодДействия.ПериодДействияНачало,
| ФактическийПериодДействия.ПериодДействияКонец,
| ФактическийПериодДействия.ВидРасчета,
| ФактическийПериодДействия.Сотрудник
|ПОМЕСТИТЬ ВТФактическийПериодДействия
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
| Регистратор = &парамРегистратор
| И Авторасчет) КАК ФактическийПериодДействия
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
//Запрос.Выполнить();
}
if(true/*ИмяАлгоритма = "ВремяВКалендарныхДнях"*/)
{
/*Запрос.Текст =
"ВЫБРАТЬ
| ФактическийПериодДействия.НомерСтроки КАК НомерСтроки,
| СУММА(РАЗНОСТЬДАТ(ФактическийПериодДействия.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(ФактическийПериодДействия.ПериодДействияКонец, СЕКУНДА, 1), ДЕНЬ)) КАК КалендарныхДней
|ПОМЕСТИТЬ ВТВремяВКалендарныхДнях
|ИЗ
| ВТФактическийПериодДействия КАК ФактическийПериодДействия
|ГДЕ
| ФактическийПериодДействия.ВидРасчета.КатегорияРасчета = &парамКатегорияНачисления
|
|СГРУППИРОВАТЬ ПО
| ФактическийПериодДействия.НомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
//Запрос.Выполнить();
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТВремяВКалендарныхДнях Как ВремяВКалендарныхДнях
|ПО Основной.НомерСтроки = ВремяВКалендарныхДнях.НомерСтроки
|";*/
}
if(true/*ИмяАлгоритма = "СдельныйЗаработок"*/)
{
/*// СдельныйЗаработокОрганизацииТекст
*/
/*// Поля:
*/
/*// ОсновнойНомерСтроки - номер строки рассчитываемых движений
*/
/*// РазмерЗаработка - размер сдельного заработка
*/
/*// Описание:
*/
/*// получает размер сдельного заработка для начислений со способом расчета "Сдельный заработок"
*/
/*//
*/
/*Запрос.Текст =
"ВЫБРАТЬ
| НесгруппированныеДанные.ОсновнойНомерСтроки КАК ОсновнойНомерСтроки,
| СУММА(НесгруппированныеДанные.СуммаЗаработка) КАК СуммаЗаработка,
| МАКСИМУМ(НесгруппированныеДанные.ОшибкаВводаФактическойВыработки) КАК ОшибкаВводаФактическойВыработки
|ПОМЕСТИТЬ ВТСдельныйЗаработокОрганизации
|ИЗ
| (ВЫБРАТЬ
| Начисления.НомерСтроки КАК ОсновнойНомерСтроки,
| ФактическаяВыработка.Выработка КАК СуммаЗаработка,
| ЛОЖЬ КАК ОшибкаВводаФактическойВыработки
| ИЗ
| ВТФактическийПериодДействия КАК Начисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ФактическаяВыработкаРаботниковОрганизаций КАК ФактическаяВыработка
| ПО Начисления.Сотрудник = ФактическаяВыработка.Сотрудник
| И (ФактическаяВыработка.Период МЕЖДУ Начисления.ПериодДействияНачало И Начисления.ПериодДействияКонец)
| И (ФактическаяВыработка.СпособВводаДанных В (ЗНАЧЕНИЕ(Перечисление.СпособыВводаДанныхОВремени.ПоДням), ЗНАЧЕНИЕ(Перечисление.СпособыВводаДанныхОВремени.ЗаДень)))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| БезУчетаСторно.НомерСтроки,
| 0,
| ВЫБОР
| КОГДА БезУчетаСторно.Сотрудник ЕСТЬ НЕ NULL
| И БезУчетаСторно.Выработка ЕСТЬ НЕ NULL
| И БезУчетаСторно.СуммаСторно <> 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЗ
| (ВЫБРАТЬ
| Начисления.НомерСтроки КАК НомерСтроки,
| СУММА(ФактическаяВыработка.Выработка) КАК Выработка,
| СУММА(ВЫБОР
| КОГДА ПроверкаКоличестваЗаписей.Сторно
| ТОГДА -1
| КОГДА ПроверкаКоличестваЗаписей.Сторно = ЛОЖЬ
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаСторно,
| ПроверкаКоличестваЗаписей.Сотрудник КАК Сотрудник
| ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Начисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ФактическаяВыработкаРаботниковОрганизаций КАК ФактическаяВыработка
| ПО Начисления.Сотрудник = ФактическаяВыработка.Сотрудник
| И (ФактическаяВыработка.Период = Начисления.ПериодДействия)
| И (ФактическаяВыработка.СпособВводаДанных В (ЗНАЧЕНИЕ(Перечисление.СпособыВводаДанныхОВремени.ВЦеломЗаПериод)))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ПроверкаКоличестваЗаписей
| ПО Начисления.Сотрудник = ПроверкаКоличестваЗаписей.Сотрудник
| И Начисления.ПериодДействия = ПроверкаКоличестваЗаписей.ПериодДействия
| И Начисления.ВидРасчета = ПроверкаКоличестваЗаписей.ВидРасчета
| И Начисления.Организация = ПроверкаКоличестваЗаписей.Организация
| И (Начисления.ВидРасчета.ВидВремени <> ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы))
| И (ПроверкаКоличестваЗаписей.ВидРасчета.ВидВремени <> ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы))
| И ((НЕ(Начисления.Регистратор = ПроверкаКоличестваЗаписей.Регистратор
| И Начисления.НомерСтроки = ПроверкаКоличестваЗаписей.НомерСтроки)))
| ГДЕ
| Начисления.Регистратор = &парамРегистратор
| И Начисления.Авторасчет
|
| СГРУППИРОВАТЬ ПО
| Начисления.НомерСтроки,
| ФактическаяВыработка.Выработка,
| ПроверкаКоличестваЗаписей.Сотрудник) КАК БезУчетаСторно
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Начисления.НомерСтроки,
| СУММА(ФактическаяВыработка.Выработка),
| ЛОЖЬ
| ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Начисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ФактическаяВыработкаРаботниковОрганизаций КАК ФактическаяВыработка
| ПО Начисления.Сотрудник = ФактическаяВыработка.Сотрудник
| И (ФактическаяВыработка.Период = Начисления.ПериодДействия)
| И (ФактическаяВыработка.СпособВводаДанных В (ЗНАЧЕНИЕ(Перечисление.СпособыВводаДанныхОВремени.ВЦеломЗаПериод)))
| ГДЕ
| Начисления.Регистратор = &парамРегистратор
| И Начисления.Авторасчет
|
| СГРУППИРОВАТЬ ПО
| Начисления.НомерСтроки,
| ФактическаяВыработка.Выработка) КАК НесгруппированныеДанные
|
|СГРУППИРОВАТЬ ПО
| НесгруппированныеДанные.ОсновнойНомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновнойНомерСтроки";*/
//Запрос.Выполнить();
/*// присоединяем данные о сдельном заработке
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТСдельныйЗаработокОрганизации КАК ДанныеОСдельномЗаработке
|ПО Основной.НомерСтроки = ДанныеОСдельномЗаработке.ОсновнойНомерСтроки";*/
}
if(true/*ИмяАлгоритма = "ДоходыОблагаемыеСтраховымиВзносамиЕСН"*/)
{
/*// временная таблица с рассчитываемыми записями
*/
if(true/*ИмяРегистра = "ОсновныеНачисленияРаботниковОрганизаций"*/)
{
/*Запрос.Текст =
"ВЫБРАТЬ
| Основной.ФизЛицо КАК ФизЛицо,
| Основной.Организация КАК Организация,
| НАЧАЛОПЕРИОДА(ВЫБОР
| КОГДА Основной.ВидРасчета.ПериодДействияБазовый
| ТОГДА Основной.ПериодДействияНачало
| ИНАЧЕ Основной.БазовыйПериодНачало
| КОНЕЦ, МЕСЯЦ) КАК ПериодРасчета,
| Основной.ОбособленноеПодразделение КАК ОбособленноеПодразделение,
| Основной.НомерСтроки,
| Основной.Регистратор,
| Основной.ПериодРегистрации
|ПОМЕСТИТЬ ВТРассчитываемыеЗаписи
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Основной
|ГДЕ
| Основной.Регистратор = &парамРегистратор
| И Основной.Авторасчет
| И Основной.ВидРасчета.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПроцентомОтОблагаемыхЕСННачислений)
|
|ИНДЕКСИРОВАТЬ ПО
| ФизЛицо,
| Организация,
| ОбособленноеПодразделение,
| ПериодРасчета";*/
}
//Запрос.Выполнить();
/*// ОблагаемыеЕСНДоходы - таблица с облагаемой базой
*/
/*// Поля:
*/
/*// НомерСтроки - номер строки рассчитываемых движений
*/
/*// Результат - сумма доходов физлица за указанный период регистрации
*/
/*// Описание:
*/
/*// выбираются все облагаемые взносами в ПФР доходы физлица, начисленные
*/
/*// в указанном периоде регистрации по указанному в строке расчета
*/
/*// обособленному подразделению
*/
/*//
*/
/*Запрос.Текст =
"ВЫБРАТЬ
| Доходы.НомерСтроки КАК НомерСтроки,
| СУММА(Доходы.Результат) КАК Результат
|ПОМЕСТИТЬ ВТОблагаемыеЕСНДоходы
|ИЗ
| (ВЫБРАТЬ
| РассчитываемыеЗаписи.НомерСтроки КАК НомерСтроки,
| ДополнительныеНачисленияРаботниковОрганизаций.Результат - ДополнительныеНачисленияРаботниковОрганизаций.СкидкаПриНалогообложении КАК Результат
| ИЗ
| ВТРассчитываемыеЗаписи КАК РассчитываемыеЗаписи
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций
| ПО РассчитываемыеЗаписи.Организация = ДополнительныеНачисленияРаботниковОрганизаций.Организация
| И РассчитываемыеЗаписи.ФизЛицо = ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо
| И РассчитываемыеЗаписи.ОбособленноеПодразделение = ДополнительныеНачисленияРаботниковОрганизаций.ОбособленноеПодразделение
| И (РассчитываемыеЗаписи.ПериодРасчета = НАЧАЛОПЕРИОДА(ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ))
| ГДЕ
| (ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаЕСН.ВходитВБазуФедеральныйБюджет
| И ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаЕСН <> ЗНАЧЕНИЕ(Справочник.ДоходыЕСН.Матпомощь)
| И РассчитываемыеЗаписи.ПериодРегистрации < &ДатаЗаменыЕСНСтраховымиВзносами
| ИЛИ ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаСтраховыеВзносы.ВходитВБазуПФР
| И ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаСтраховыеВзносы <> ЗНАЧЕНИЕ(Справочник.ДоходыЕСН.Матпомощь)
| И РассчитываемыеЗаписи.ПериодРегистрации >= &ДатаЗаменыЕСНСтраховымиВзносами)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РассчитываемыеЗаписи.НомерСтроки,
| ОсновныеНачисленияРаботниковОрганизаций.Результат
| ИЗ
| ВТРассчитываемыеЗаписи КАК РассчитываемыеЗаписи
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций
| ПО РассчитываемыеЗаписи.ПериодРасчета = ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации
| И РассчитываемыеЗаписи.Организация = ОсновныеНачисленияРаботниковОрганизаций.Организация
| И РассчитываемыеЗаписи.ФизЛицо = ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо
| И РассчитываемыеЗаписи.ОбособленноеПодразделение = ОсновныеНачисленияРаботниковОрганизаций.ОбособленноеПодразделение
| ГДЕ
| (ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаЕСН.ВходитВБазуФедеральныйБюджет
| И РассчитываемыеЗаписи.ПериодРегистрации < &ДатаЗаменыЕСНСтраховымиВзносами
| ИЛИ ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаСтраховыеВзносы.ВходитВБазуПФР
| И РассчитываемыеЗаписи.ПериодРегистрации >= &ДатаЗаменыЕСНСтраховымиВзносами)) КАК Доходы
|
|СГРУППИРОВАТЬ ПО
| Доходы.НомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
//Запрос.УстановитьПараметр("ДатаЗаменыЕСНСтраховымиВзносами", ПроведениеРасчетов.ДатаЗаменыЕСНСтраховымиВзносами());
//Запрос.Выполнить();
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТОблагаемыеЕСНДоходы КАК ОблагаемыеЕСНДоходы
|ПО Основной.НомерСтроки = ОблагаемыеЕСНДоходы.НомерСтроки";*/
}
if(true/*ИмяАлгоритма = "УдержаноПоДокументу"*/)
{
/*// НакопленныеДанные
*/
/*// уже начислено по другим регистраторам в данном расчетном периоде и за всю историю
*/
/*// применяется для расчета удержаний "нарастающим итогом за месяц"
*/
/*// Поля:
*/
/*// Сотрудник
*/
/*// ДокументОснование
*/
/*// ВидРасчета
*/
/*// УжеНачисленоВТекущемПериоде
*/
/*// УжеНачисленоЗаВсюИсторию
*/
/*// Описание:
*/
/*// суммирует результаты по видам расчета и документам-основаниям
*/
/*//
*/
/*НакопленныеДанныеТекст =
"ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА Основной.ПериодРегистрации = НакопленныеДанные.ПериодРегистрации
| И Основной.БазовыйПериодНачало <= НакопленныеДанные.БазовыйПериодНачало
| И Основной.БазовыйПериодКонец >= НакопленныеДанные.БазовыйПериодКонец
| ТОГДА НакопленныеДанные.Результат
| ИНАЧЕ 0
| КОНЕЦ) КАК УжеНачисленоВТекущемПериоде,
| СУММА(ВЫБОР
| КОГДА НакопленныеДанные.ПериодРегистрации <= Основной.ПериодРегистрации
| И Основной.БазовыйПериодНачало >= НакопленныеДанные.БазовыйПериодНачало
| ТОГДА НакопленныеДанные.Результат
| ИНАЧЕ 0
| КОНЕЦ) КАК УжеНачисленоЗаВсюИсторию,
| НакопленныеДанные.ФизЛицо КАК ФизЛицо,
| НакопленныеДанные.ВидРасчета КАК ВидРасчета,
| НакопленныеДанные.ДокументОснование КАК ДокументОснование
|ПОМЕСТИТЬ ВТНакопленныеДанные
|ИЗ
| РегистрРасчета.УдержанияРаботниковОрганизаций КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.УдержанияРаботниковОрганизаций КАК НакопленныеДанные
| ПО Основной.ФизЛицо = НакопленныеДанные.ФизЛицо
| И Основной.ВидРасчета = НакопленныеДанные.ВидРасчета
| И Основной.ПериодРегистрации >= НакопленныеДанные.ПериодРегистрации
| И Основной.Организация = НакопленныеДанные.Организация
| И Основной.ДокументОснование = НакопленныеДанные.ДокументОснование
| И Основной.Регистратор <> НакопленныеДанные.Регистратор
| И Основной.Сторно = НакопленныеДанные.Сторно
|ГДЕ
| Основной.Регистратор = &парамРегистратор
| И Основной.Авторасчет
|
|СГРУППИРОВАТЬ ПО
| НакопленныеДанные.ФизЛицо,
| НакопленныеДанные.ВидРасчета,
| НакопленныеДанные.ДокументОснование
|
|ИНДЕКСИРОВАТЬ ПО
| ФизЛицо,
| ВидРасчета,
| ДокументОснование";*/
//Запрос.Текст = НакопленныеДанныеТекст;
//Запрос.Выполнить();
/*// присоединяем сводные данные по документу основанию
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТНакопленныеДанные КАК НакопленныеДанные
|ПО НакопленныеДанные.Физлицо = Основной.Физлицо
| И НакопленныеДанные.ВидРасчета = Основной.ВидРасчета
| И НакопленныеДанные.ДокументОснование = Основной.ДокументОснование";*/
}
if(true/*ИмяАлгоритма = "ПочтовыеПереводы"*/)
{
/*Запрос.Текст =
"ВЫБРАТЬ
| Основная.ФизЛицо КАК ФизЛицо,
| Основная.Организация КАК Организация,
| ВЫБОР
| КОГДА Дополнительная.Получатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА ДополнительнаяСт.ДокументОснование
| ИНАЧЕ ЗНАЧЕНИЕ(Документ.ИсполнительныйЛист.ПустаяСсылка)
| КОНЕЦ КАК ДокументОснование,
| ВЫБОР
| КОГДА Основная.ПорядокИсчисленияИздержек ССЫЛКА Справочник.ТарифыПочтовогоСбора
| И Основная.ПорядокИсчисленияИздержек <> ЗНАЧЕНИЕ(Справочник.ТарифыПочтовогоСбора.ПустаяСсылка)
| ИЛИ Основная.ПорядокИсчисленияИздержек ССЫЛКА Справочник.ТарифыБанковНаДенежныеПереводы
| И Основная.ПорядокИсчисленияИздержек <> ЗНАЧЕНИЕ(Справочник.ТарифыБанковНаДенежныеПереводы.ПустаяСсылка)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ПоТарифу,
| ВЫБОР
| КОГДА Дополнительная.Получатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА ЕСТЬNULL(ДополнительнаяСт.Результат, 0)
| ИНАЧЕ ЕСТЬNULL(Дополнительная.Результат, 0)
| КОНЕЦ КАК СуммаАлиментов,
| ВЫРАЗИТЬ(ВЫБОР
| КОГДА Дополнительная.Получатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА ВЫБОР
| КОГДА Основная.ПорядокИсчисленияИздержек В (ЗНАЧЕНИЕ(Справочник.ТарифыПочтовогоСбора.ПустаяСсылка), ЗНАЧЕНИЕ(Справочник.ТарифыБанковНаДенежныеПереводы.ПустаяСсылка), НЕОПРЕДЕЛЕНО)
| ТОГДА ДополнительнаяСт.Результат
| ИНАЧЕ ВЫБОР
| КОГДА ДополнительнаяСт.Результат = 0
| ТОГДА 0
| ИНАЧЕ (ДополнительнаяСт.Результат - ЕСТЬNULL(ДополнительнаяСт.ЗначениеС, 0)) * ЕСТЬNULL(ДополнительнаяСт.Процент, 0) / 100 + ЕСТЬNULL(ДополнительнаяСт.Сумма, 0)
| КОНЕЦ
| КОНЕЦ
| КОГДА ТИПЗНАЧЕНИЯ(Основная.ПорядокИсчисленияИздержек) = ТИП(ЧИСЛО)
| ТОГДА Дополнительная.Результат
| КОГДА Основная.ПорядокИсчисленияИздержек ССЫЛКА Справочник.ТарифыПочтовогоСбора
| ТОГДА ВЫБОР
| КОГДА Дополнительная.Результат = 0
| ТОГДА 0
| ИНАЧЕ (Дополнительная.Результат - Дополнительная.ЗначениеС) * Дополнительная.Процент / 100 + Дополнительная.Сумма
| КОНЕЦ
| КОГДА Основная.ПорядокИсчисленияИздержек ССЫЛКА Справочник.ТарифыБанковНаДенежныеПереводы
| ТОГДА ВЫБОР
| КОГДА Дополнительная.БанковскиеИздержки = 0
| ТОГДА 0
| КОГДА Дополнительная.БанковскиеИздержки < Дополнительная.МинимальныйТариф
| ТОГДА Дополнительная.МинимальныйТариф
| КОГДА Дополнительная.БанковскиеИздержки > Дополнительная.МаксимальныйТариф
| И Дополнительная.МаксимальныйТариф > 0
| ТОГДА Дополнительная.МаксимальныйТариф
| ИНАЧЕ Дополнительная.БанковскиеИздержки
| КОНЕЦ
| КОНЕЦ КАК ЧИСЛО(15, 2)) КАК РазмерПочтовогоПеревода,
| Дополнительная.Процент КАК Процент,
| ЕСТЬNULL(Основная.ПорядокИсчисленияИздержек, 0) КАК ПорядокИсчисленияИздержек,
| ЕСТЬNULL(Основная.Получатель, ЗНАЧЕНИЕ(Справочник.КОнтрагенты.ПустаяСсылка)) КАК Получатель
|ПОМЕСТИТЬ ВТПочтовыеПереводыТекст
|ИЗ
| РегистрРасчета.УдержанияРаботниковОрганизаций КАК Основная
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| Дополнительная.ПериодРегистрации КАК ПериодРегистрации,
| Дополнительная.ФизЛицо КАК ФизЛицо,
| Дополнительная.Организация КАК Организация,
| Дополнительная.ПорядокИсчисленияИздержек КАК ПорядокИсчисленияИздержек,
| Дополнительная.Получатель КАК Получатель,
| Дополнительная.ВидРасчета КАК ВидРасчета,
| РасчетБазыДляТарифа.БазаДляТарифа КАК Результат,
| ЕСТЬNULL(ВЫБОР
| КОГДА РазмерыТарифовПочтовогоСбора.Тариф.РасчетПоШкалеСПолнойСуммы
| ТОГДА 0
| ИНАЧЕ РазмерыТарифовПочтовогоСбора.ЗначениеС
| КОНЕЦ, 0) КАК ЗначениеС,
| ВЫБОР
| КОГДА (НЕ РазмерыТарифовПочтовогоСбора.Процент ЕСТЬ NULL )
| ТОГДА РазмерыТарифовПочтовогоСбора.Процент
| КОГДА (НЕ ТарифыБанков.Процент ЕСТЬ NULL )
| ТОГДА ТарифыБанков.Процент
| ИНАЧЕ Дополнительная.Показатель1
| КОНЕЦ КАК Процент,
| ЕСТЬNULL(РазмерыТарифовПочтовогоСбора.Сумма, 0) КАК Сумма,
| ЕСТЬNULL(ТарифыБанков.МинимальныйТариф, 0) КАК МинимальныйТариф,
| ЕСТЬNULL(ТарифыБанков.МаксимальныйТариф, 0) КАК МаксимальныйТариф,
| РасчетБазыДляТарифа.БазаДляТарифа * ЕСТЬNULL(ТарифыБанков.Процент, 0) / 100 КАК БанковскиеИздержки
| ИЗ
| РегистрРасчета.УдержанияРаботниковОрганизаций КАК Дополнительная
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| Дополнительная.ПериодРегистрации КАК ПериодРегистрации,
| Дополнительная.ФизЛицо КАК ФизЛицо,
| Дополнительная.Организация КАК Организация,
| СУММА(Дополнительная.Результат) КАК БазаДляТарифа,
| Дополнительная.ПорядокИсчисленияИздержек КАК ПорядокИсчисленияИздержек,
| Дополнительная.Получатель КАК Получатель
| ИЗ
| РегистрРасчета.УдержанияРаботниковОрганизаций КАК Дополнительная
| ГДЕ
| Дополнительная.Регистратор = &парамРегистратор
| И (НЕ Дополнительная.ВидРасчета.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПочтовыйСбор), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.БанковскиеИздержки)))
|
| СГРУППИРОВАТЬ ПО
| Дополнительная.ПериодРегистрации,
| Дополнительная.ФизЛицо,
| Дополнительная.Организация,
| Дополнительная.ПорядокИсчисленияИздержек,
| Дополнительная.Получатель) КАК РасчетБазыДляТарифа
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерыТарифовПочтовогоСбора КАК РазмерыТарифовПочтовогоСбора
| ПО РасчетБазыДляТарифа.БазаДляТарифа >= РазмерыТарифовПочтовогоСбора.ЗначениеС
| И (РасчетБазыДляТарифа.БазаДляТарифа < ВЫБОР
| КОГДА РазмерыТарифовПочтовогоСбора.ЗначениеПо = 0
| ТОГДА 99999999
| ИНАЧЕ РазмерыТарифовПочтовогоСбора.ЗначениеПо
| КОНЕЦ)
| И РасчетБазыДляТарифа.ПорядокИсчисленияИздержек = РазмерыТарифовПочтовогоСбора.Тариф
| ПО Дополнительная.ПериодРегистрации = РасчетБазыДляТарифа.ПериодРегистрации
| И Дополнительная.ФизЛицо = РасчетБазыДляТарифа.ФизЛицо
| И Дополнительная.ПорядокИсчисленияИздержек = РасчетБазыДляТарифа.ПорядокИсчисленияИздержек
| И Дополнительная.Получатель = РасчетБазыДляТарифа.Получатель
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТарифыБанковНаДенежныеПереводы КАК ТарифыБанков
| ПО Дополнительная.ПорядокИсчисленияИздержек = ТарифыБанков.Ссылка
| ГДЕ
| Дополнительная.Регистратор = &парамРегистратор
| И Дополнительная.ВидРасчета.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПочтовыйСбор), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.БанковскиеИздержки))
|
| СГРУППИРОВАТЬ ПО
| Дополнительная.ПериодРегистрации,
| Дополнительная.ФизЛицо,
| Дополнительная.Организация,
| Дополнительная.ВидРасчета,
| Дополнительная.ПорядокИсчисленияИздержек,
| Дополнительная.Получатель,
| РасчетБазыДляТарифа.БазаДляТарифа,
| ВЫБОР
| КОГДА (НЕ РазмерыТарифовПочтовогоСбора.Процент ЕСТЬ NULL )
| ТОГДА РазмерыТарифовПочтовогоСбора.Процент
| КОГДА (НЕ ТарифыБанков.Процент ЕСТЬ NULL )
| ТОГДА ТарифыБанков.Процент
| ИНАЧЕ Дополнительная.Показатель1
| КОНЕЦ,
| РасчетБазыДляТарифа.БазаДляТарифа * ЕСТЬNULL(ТарифыБанков.Процент, 0) / 100,
| ЕСТЬNULL(РазмерыТарифовПочтовогоСбора.Сумма, 0),
| ЕСТЬNULL(ТарифыБанков.МинимальныйТариф, 0),
| ЕСТЬNULL(ТарифыБанков.МаксимальныйТариф, 0),
| ЕСТЬNULL(ВЫБОР
| КОГДА РазмерыТарифовПочтовогоСбора.Тариф.РасчетПоШкалеСПолнойСуммы
| ТОГДА 0
| ИНАЧЕ РазмерыТарифовПочтовогоСбора.ЗначениеС
| КОНЕЦ, 0)) КАК Дополнительная
| ПО Основная.ПериодРегистрации = Дополнительная.ПериодРегистрации
| И Основная.ФизЛицо = Дополнительная.ФизЛицо
| И Основная.Организация = Дополнительная.Организация
| И Основная.ВидРасчета = Дополнительная.ВидРасчета
| И Основная.Получатель = Дополнительная.Получатель
| И Основная.ПорядокИсчисленияИздержек = Дополнительная.ПорядокИсчисленияИздержек
| И (ВЫБОР
| КОГДА Основная.ПорядокИсчисленияИздержек В (ЗНАЧЕНИЕ(Справочник.ТарифыПочтовогоСбора.ПустаяСсылка), ЗНАЧЕНИЕ(Справочник.ТарифыБанковНаДенежныеПереводы.ПустаяСсылка))
| ТОГДА Основная.Показатель1 = Дополнительная.Процент
| ИНАЧЕ ИСТИНА
| КОНЕЦ)
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| Дополнительная.ПериодРегистрации КАК ПериодРегистрации,
| Дополнительная.ФизЛицо КАК ФизЛицо,
| Дополнительная.Организация КАК Организация,
| Дополнительная.ДокументОснование КАК ДокументОснование,
| Дополнительная.ВидРасчета КАК ВидРасчета,
| СУММА(Дополнительная.Результат) КАК Результат,
| ВЫБОР
| КОГДА РазмерыТарифовПочтовогоСбора.Тариф.РасчетПоШкалеСПолнойСуммы
| ТОГДА 0
| ИНАЧЕ РазмерыТарифовПочтовогоСбора.ЗначениеС
| КОНЕЦ КАК ЗначениеС,
| РазмерыТарифовПочтовогоСбора.Процент КАК Процент,
| РазмерыТарифовПочтовогоСбора.Сумма КАК Сумма
| ИЗ
| РегистрРасчета.УдержанияРаботниковОрганизаций КАК Дополнительная
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерыТарифовПочтовогоСбора КАК РазмерыТарифовПочтовогоСбора
| ПО Дополнительная.ПорядокИсчисленияИздержек = РазмерыТарифовПочтовогоСбора.Тариф
| И Дополнительная.Результат >= РазмерыТарифовПочтовогоСбора.ЗначениеС
| И (Дополнительная.Результат < ВЫБОР
| КОГДА РазмерыТарифовПочтовогоСбора.ЗначениеПо = 0
| ТОГДА 99999999
| ИНАЧЕ РазмерыТарифовПочтовогоСбора.ЗначениеПо
| КОНЕЦ)
| ГДЕ
| Дополнительная.Регистратор = &парамРегистратор
| И (НЕ Дополнительная.ВидРасчета.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПочтовыйСбор), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.БанковскиеИздержки)))
|
| СГРУППИРОВАТЬ ПО
| Дополнительная.ПериодРегистрации,
| Дополнительная.ФизЛицо,
| Дополнительная.Организация,
| Дополнительная.ДокументОснование,
| Дополнительная.ВидРасчета,
| РазмерыТарифовПочтовогоСбора.Процент,
| РазмерыТарифовПочтовогоСбора.Сумма,
| ВЫБОР
| КОГДА РазмерыТарифовПочтовогоСбора.Тариф.РасчетПоШкалеСПолнойСуммы
| ТОГДА 0
| ИНАЧЕ РазмерыТарифовПочтовогоСбора.ЗначениеС
| КОНЕЦ) КАК ДополнительнаяСт
| ПО Основная.ПериодРегистрации = ДополнительнаяСт.ПериодРегистрации
| И Основная.ФизЛицо = ДополнительнаяСт.ФизЛицо
| И Основная.Организация = ДополнительнаяСт.Организация
| И Основная.ДокументОснование = ДополнительнаяСт.ДокументОснование
| И Основная.ВидРасчета <> ДополнительнаяСт.ВидРасчета
|ГДЕ
| Основная.Регистратор = &парамРегистратор
| И (ЕСТЬNULL(Дополнительная.Результат, 0) <> 0
| И Дополнительная.Получатель <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ИЛИ Основная.ВидРасчета.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПочтовыйСбор), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.БанковскиеИздержки)))
|
|ИНДЕКСИРОВАТЬ ПО
| ФизЛицо,
| ДокументОснование,
| Организация,
| Получатель";*/
//Запрос.Выполнить();
/*// присоединяем данные для расчета почтового перевода
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТПочтовыеПереводыТекст КАК ПочтовыеПереводы
|ПО Основной.Физлицо = ПочтовыеПереводы.Физлицо И
|Основной.Организация = ПочтовыеПереводы.Организация И
|Основной.ДокументОснование = ПочтовыеПереводы.ДокументОснование И
|Основной.Получатель = ПочтовыеПереводы.Получатель И
|Основной.ПорядокИсчисленияИздержек = ПочтовыеПереводы.ПорядокИсчисленияИздержек";*/
}
if(true/*ИмяАлгоритма = "АлиментыВПрожиточныхМинимумах"*/)
{
/*Запрос.Текст =
"ВЫБРАТЬ
| Периоды.НомерСтроки,
| Периоды.Регистратор,
| ВеличинаПрожиточногоМинимума.Размер
|ПОМЕСТИТЬ ВТПрожиточныеМинимумы
|ИЗ
| (ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| Основной.Регистратор КАК Регистратор,
| МАКСИМУМ(ВеличинаПрожиточногоМинимума.Период) КАК Период,
| Основной.ДополнительныеДанные КАК ДополнительныеДанные
| ИЗ
| РегистрРасчета.УдержанияРаботниковОрганизаций КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВеличинаПрожиточногоМинимума КАК ВеличинаПрожиточногоМинимума
| ПО Основной.ДополнительныеДанные = ВеличинаПрожиточногоМинимума.ПрожиточныйМинимум
| И Основной.БазовыйПериодНачало >= ВеличинаПрожиточногоМинимума.Период
| ГДЕ
| Основной.Регистратор = &парамРегистратор
| И Основной.Авторасчет
|
| СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки,
| Основной.Регистратор,
| Основной.ДополнительныеДанные) КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВеличинаПрожиточногоМинимума КАК ВеличинаПрожиточногоМинимума
| ПО Периоды.ДополнительныеДанные = ВеличинаПрожиточногоМинимума.ПрожиточныйМинимум
| И Периоды.Период = ВеличинаПрожиточногоМинимума.Период";*/
//Запрос.Выполнить();
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТПрожиточныеМинимумы КАК ПрожиточныеМинимумы
|ПО ПрожиточныеМинимумы.НомерСтроки = Основной.НомерСтроки
| И ПрожиточныеМинимумы.Регистратор = Основной.Регистратор";*/
}
if(true/*ИмяАлгоритма = "СреднийЗаработокПособий2011"*/)
{
//Запрос.УстановитьПараметр("ДатаЗакона213ФЗ",ПроведениеРасчетов.ДатаЗаменыЕСНСтраховымиВзносами());
//Запрос.УстановитьПараметр("ВидРасчета", ОбщегоНазначенияЗК.ОсобыйЭлемент(ПланыВидовРасчета.СреднийЗаработок, "ПоЗаработкуПособийС2011"));
/*Запрос.Текст =
"ВЫБРАТЬ
| СУММА(РасчетСреднегоЗаработка.Результат) КАК Результат,
| РасчетСреднегоЗаработка.ДатаНачалаСобытия КАК ДатаНачалаСобытия,
| РасчетСреднегоЗаработка.ФизЛицо,
| НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, ГОД) КАК РасчетныйГод,
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, ГОД) < &ДатаЗакона213ФЗ
| ТОГДА &ДатаЗакона213ФЗ
| ИНАЧЕ НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, ГОД)
| КОНЕЦ КАК ДатаОграниченияЗаработка,
| МАКСИМУМ(ДЕНЬГОДА(КОНЕЦПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, ГОД))) - СУММА(РасчетСреднегоЗаработка.ОтработаноДней) КАК ОтработаноДнейДляПособийПоМатеринству
|ПОМЕСТИТЬ ВТДанныеРегистраСреднего2011
|ИЗ
| РегистрРасчета.РасчетСреднегоЗаработка КАК РасчетСреднегоЗаработка
|ГДЕ
| РасчетСреднегоЗаработка.Регистратор = &парамРегистратор
| И РасчетСреднегоЗаработка.ВидРасчета = &ВидРасчета
|
|СГРУППИРОВАТЬ ПО
| РасчетСреднегоЗаработка.ДатаНачалаСобытия,
| РасчетСреднегоЗаработка.ФизЛицо,
| НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, ГОД),
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, ГОД) < &ДатаЗакона213ФЗ
| ТОГДА &ДатаЗакона213ФЗ
| ИНАЧЕ НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, ГОД)
| КОНЕЦ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДатыРегистра.ДатаОграниченияЗаработка,
| ЕСТЬNULL(ПредельнаяВеличинаБазыСтраховыхВзносов.Размер, 0) КАК Размер
|ПОМЕСТИТЬ ВТПредельнаяВеличинаЗаработкаПоГодам
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДанныеРегистра.ДатаОграниченияЗаработка КАК ДатаОграниченияЗаработка,
| МАКСИМУМ(ПредельнаяВеличинаБазыСтраховыхВзносов.Период) КАК ПериодРегистра
| ИЗ
| ВТДанныеРегистраСреднего2011 КАК ДанныеРегистра
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредельнаяВеличинаБазыСтраховыхВзносов КАК ПредельнаяВеличинаБазыСтраховыхВзносов
| ПО ДанныеРегистра.ДатаОграниченияЗаработка >= ПредельнаяВеличинаБазыСтраховыхВзносов.Период
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистра.ДатаОграниченияЗаработка) КАК ДатыРегистра
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредельнаяВеличинаБазыСтраховыхВзносов КАК ПредельнаяВеличинаБазыСтраховыхВзносов
| ПО ДатыРегистра.ПериодРегистра = ПредельнаяВеличинаБазыСтраховыхВзносов.Период
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА ДанныеРегистраСреднего.Результат <= ПредельнаяВеличинаЗаработка.Размер
| ТОГДА ДанныеРегистраСреднего.Результат
| ИНАЧЕ ПредельнаяВеличинаЗаработка.Размер
| КОНЕЦ) КАК ОграниченныйЗаработок,
| ДанныеРегистраСреднего.ДатаНачалаСобытия,
| ДанныеРегистраСреднего.ФизЛицо,
| СУММА(ДанныеРегистраСреднего.Результат) КАК Заработок,
| ВЫБОР
| КОГДА МАКСИМУМ(ДанныеРегистраСреднего.РасчетныйГод) = МИНИМУМ(ДанныеРегистраСреднего.РасчетныйГод)
| ТОГДА 365
| ИНАЧЕ 0
| КОНЕЦ + СУММА(ДанныеРегистраСреднего.ОтработаноДнейДляПособийПоМатеринству) КАК ОтработаноДнейДляПособийПоМатеринству
|ПОМЕСТИТЬ ВТДанныеОСреднемЗаработке2011
|ИЗ
| ВТДанныеРегистраСреднего2011 КАК ДанныеРегистраСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПредельнаяВеличинаЗаработкаПоГодам КАК ПредельнаяВеличинаЗаработка
| ПО ДанныеРегистраСреднего.ДатаОграниченияЗаработка = ПредельнаяВеличинаЗаработка.ДатаОграниченияЗаработка
|
|СГРУППИРОВАТЬ ПО
| ДанныеРегистраСреднего.ДатаНачалаСобытия,
| ДанныеРегистраСреднего.ФизЛицо
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДатыРегистра.ДатаНачалаСобытия,
| ДатыРегистра.Сотрудник,
| ЕСТЬNULL(ВЫБОР
| КОГДА РаботникиОрганизаций.ПериодЗавершения <= ДатыРегистра.ДатаНачалаСобытия
| И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ВЫБОР
| КОГДА РаботникиОрганизаций.ГрафикРаботыЗавершения.СокращенноеРабочееВремя
| И РаботникиОрганизаций.ГрафикРаботыЗавершения.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка)
| И РаботникиОрганизаций.ГрафикРаботыЗавершения.ГрафикПолногоРабочегоВремени.ДлительностьРабочейНедели <> 0
| ТОГДА РаботникиОрганизаций.ГрафикРаботыЗавершения.ДлительностьРабочейНедели / РаботникиОрганизаций.ГрафикРаботыЗавершения.ГрафикПолногоРабочегоВремени.ДлительностьРабочейНедели
| ИНАЧЕ 1
| КОНЕЦ
| КОГДА РаботникиОрганизаций.ГрафикРаботы.СокращенноеРабочееВремя
| И РаботникиОрганизаций.ГрафикРаботы.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка)
| И РаботникиОрганизаций.ГрафикРаботы.ГрафикПолногоРабочегоВремени.ДлительностьРабочейНедели <> 0
| ТОГДА РаботникиОрганизаций.ГрафикРаботы.ДлительностьРабочейНедели / РаботникиОрганизаций.ГрафикРаботы.ГрафикПолногоРабочегоВремени.ДлительностьРабочейНедели
| ИНАЧЕ 1
| КОНЕЦ, 0) КАК Доля
|ПОМЕСТИТЬ ВТПродолжительностьРабочегоВремени
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДанныеРегистра.ДатаНачалаСобытия КАК ДатаНачалаСобытия,
| ДанныеРегистра.Сотрудник КАК Сотрудник,
| МАКСИМУМ(РаботникиОрганизаций.Период) КАК ПериодРегистра
| ИЗ
| ВТРассчитываемыеЗаписиБольничных КАК ДанныеРегистра
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
| ПО ДанныеРегистра.ДатаНачалаСобытия >= РаботникиОрганизаций.Период
| И ДанныеРегистра.Сотрудник = РаботникиОрганизаций.Сотрудник
|
| СГРУППИРОВАТЬ ПО
| ДанныеРегистра.ДатаНачалаСобытия,
| ДанныеРегистра.Сотрудник) КАК ДатыРегистра
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
| ПО ДатыРегистра.ПериодРегистра = РаботникиОрганизаций.Период
| И ДатыРегистра.Сотрудник = РаботникиОрганизаций.Сотрудник";*/
//Запрос.Выполнить();
/*ТекстЗапроса = ТекстЗапроса + "
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПродолжительностьРабочегоВремени КАК ПродолжительностьРабочегоВремени
| ПО Основной.Сотрудник = ПродолжительностьРабочегоВремени.Сотрудник
| И Основной.ДатаНачалаСобытия = ПродолжительностьРабочегоВремени.ДатаНачалаСобытия
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОСреднемЗаработке2011 КАК ДанныеОСреднемЗаработке2011
| ПО Основной.ФизЛицо = ДанныеОСреднемЗаработке2011.ФизЛицо
| И Основной.ДатаНачалаСобытия = ДанныеОСреднемЗаработке2011.ДатаНачалаСобытия";*/
}
/*// алгоритмы прочих расчетов
*/
if(true/*ИмяАлгоритма = "РасчетнаяБазаСреднегоЗаработка"*/)
{
/*НачалоТекстаЗапроса =
"ВЫБРАТЬ
| РасчетСреднегоЗаработка.НомерСтроки,
| РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода,
| РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода,
| РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка,
| РасчетСреднегоЗаработка.ПериодРегистрации,
| РасчетСреднегоЗаработка.БазовыйПериодНачало,
| РасчетСреднегоЗаработка.БазовыйПериодКонец,
| РасчетСреднегоЗаработка.Сотрудник КАК Сотрудник,
| РасчетСреднегоЗаработка.Сотрудник.Физлицо КАК ФизЛицо,
| РасчетСреднегоЗаработка.Сотрудник.Организация КАК Организация,
| РасчетСреднегоЗаработка.ВидРасчета КАК ВидРасчета,
| СреднийЗаработокБазовыеВидыРасчета.ВидРасчета КАК БазовыйВидРасчета,
| ГОД(РасчетСреднегоЗаработка.ДатаНачалаСобытия) - 1 КАК ГодУчетаПремийПоИтогамГода
|ПОМЕСТИТЬ ВТСтрокиСреднегоЗаработка
|ИЗ
| РегистрРасчета.РасчетСреднегоЗаработка КАК РасчетСреднегоЗаработка
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.СреднийЗаработок.БазовыеВидыРасчета КАК СреднийЗаработокБазовыеВидыРасчета
| ПО РасчетСреднегоЗаработка.ВидРасчета = СреднийЗаработокБазовыеВидыРасчета.Ссылка
|ГДЕ
| РасчетСреднегоЗаработка.Регистратор = &парамРегистратор
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| ВидРасчета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СтраховыеВзносыСведенияОДоходахОбороты.Период КАК Период,
| СтраховыеВзносыСведенияОДоходахОбороты.ФизЛицо КАК ФизЛицо,
| СтраховыеВзносыСведенияОДоходахОбороты.Организация КАК Организация,
| СтраховыеВзносыСведенияОДоходахОбороты.ВидДохода КАК ВидДохода,
| СтраховыеВзносыСведенияОДоходахОбороты.СкидкаОборот
|ПОМЕСТИТЬ ВТДанныеУчетаСкидок
|ИЗ
| РегистрНакопления.СтраховыеВзносыСведенияОДоходах.Обороты(
| &парамДатаС,
| &парамДатаПо,
| Месяц,
| (ФизЛицо, Организация) В
| (ВЫБРАТЬ
| СтрокиСреднегоЗаработка.ФизЛицо,
| СтрокиСреднегоЗаработка.Организация
| ИЗ
| ВТСтрокиСреднегоЗаработка КАК СтрокиСреднегоЗаработка)
| И ВидДохода В (ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.МатпомощьПрокуроров), ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.МатпомощьПриРожденииРебенкаПрокуроров), ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.Матпомощь), ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.МатпомощьПриРожденииРебенка))) КАК СтраховыеВзносыСведенияОДоходахОбороты
|ГДЕ
| СтраховыеВзносыСведенияОДоходахОбороты.Период >= &ДатаЗакона213ФЗ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(ЕСНСведенияОДоходах.Период, МЕСЯЦ),
| ЕСНСведенияОДоходах.ФизЛицо,
| ЕСНСведенияОДоходах.Организация,
| ЕСНСведенияОДоходах.КодДоходаЕСН,
| СУММА(ЕСНСведенияОДоходах.Скидка)
|ИЗ
| РегистрНакопления.ЕСНСведенияОДоходах КАК ЕСНСведенияОДоходах
|ГДЕ
| (ЕСНСведенияОДоходах.ФизЛицо, ЕСНСведенияОДоходах.Организация) В
| (ВЫБРАТЬ
| СтрокиСреднегоЗаработка.ФизЛицо,
| СтрокиСреднегоЗаработка.Организация
| ИЗ
| ВТСтрокиСреднегоЗаработка КАК СтрокиСреднегоЗаработка)
| И ЕСНСведенияОДоходах.КодДоходаЕСН В (ЗНАЧЕНИЕ(Справочник.ДоходыЕСН.Матпомощь), ЗНАЧЕНИЕ(Справочник.ДоходыЕСН.МатпомощьПриРожденииРебенка))
| И ЕСНСведенияОДоходах.Период МЕЖДУ &парамДатаС И &парамДатаПо
| И ЕСНСведенияОДоходах.Период < &ДатаЗакона213ФЗ
|
|СГРУППИРОВАТЬ ПО
| ЕСНСведенияОДоходах.ФизЛицо,
| ЕСНСведенияОДоходах.Организация,
| ЕСНСведенияОДоходах.КодДоходаЕСН,
| НАЧАЛОПЕРИОДА(ЕСНСведенияОДоходах.Период, МЕСЯЦ)
|
|ИНДЕКСИРОВАТЬ ПО
| Период,
| ВидДохода,
| ФизЛицо,
| Организация
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| БазаДополнительныеНачисления.РезультатБаза,
| БазаДополнительныеНачисления.ПериодРасчетаСреднегоЗаработка,
| БазаДополнительныеНачисления.НомерСтроки,
| БазаДополнительныеНачисления.ФизЛицо КАК ФизЛицо,
| БазаДополнительныеНачисления.Организация КАК Организация,
| БазаДополнительныеНачисления.ВидРасчетаРазрез,
| ВЫБОР
| КОГДА БазаДополнительныеНачисления.БазовыйПериодНачало < &ДатаЗакона213ФЗ
| ТОГДА БазаДополнительныеНачисления.ВидРасчетаРазрез.КодДоходаЕСН
| ИНАЧЕ БазаДополнительныеНачисления.ВидРасчетаРазрез.КодДоходаСтраховыеВзносы
| КОНЕЦ КАК КодДоходаСтраховыеВзносы,
| БазаДополнительныеНачисления.Сотрудник.ВидЗанятости КАК ВидЗанятости,
| БазаДополнительныеНачисления.БазовыйПериодНачало КАК БазовыйПериодНачало
|ПОМЕСТИТЬ ВТБазаДопНачисленийПоБЛ
|ИЗ
| РегистрРасчета.РасчетСреднегоЗаработка.БазаДополнительныеНачисленияРаботниковОрганизаций(
| &парамИзмерения,
| &парамИзмерения,
| &парамРазрезыБЛ,
| Регистратор = &парамРегистратор
| И ВидРасчета В (ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуПособийС2010), ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоПремиямПособийС2010))) КАК БазаДополнительныеНачисления
|
|ИНДЕКСИРОВАТЬ ПО
| БазовыйПериодНачало,
| КодДоходаСтраховыеВзносы,
| ФизЛицо,
| Организация"
+ ";" + Символы.ПС;*/
if(true/*КомментироватьРасчет*/)
{
/*Запрос.Текст = НачалоТекстаЗапроса +
"ВЫБРАТЬ
| ЕСТЬNULL(СУММА(База.РезультатБаза), 0) КАК РезультатБаза,
| ЕСТЬNULL(СУММА(База.СкидкаПоСтраховымВзносам), 0) КАК СкидкаПоСтраховымВзносам,
| База.ЧислоМесяцев,
| База.ПериодРасчетаСреднегоЗаработка,
| База.ВидРасчетаРазрез,
| База.ВидРасчетаРазрез.Наименование КАК ВидРасчетаНаименование,
| База.НомерСтроки КАК НомерСтроки,
| База.ОшибкаВводаСводногоТабеля,
| База.ДополнительноУменьшатьПропорциональныеПремии
|ИЗ
| (ВЫБРАТЬ
| БазаОсновныеНачисления.РезультатБаза КАК РезультатБаза,
| 1 КАК ЧислоМесяцев,
| БазаОсновныеНачисления.ВидРасчетаРазрез КАК ВидРасчетаРазрез,
| БазаОсновныеНачисления.ПериодРасчетаСреднегоЗаработка КАК ПериодРасчетаСреднегоЗаработка,
| БазаОсновныеНачисления.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ОтработанноеВремя.Период ЕСТЬ НЕ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ОшибкаВводаСводногоТабеля,
| 0 КАК СкидкаПоСтраховымВзносам,
| ВЫБОР
| КОГДА БазаОсновныеНачисления.ВидРасчета В (&ПропорциональныеПремии)
| ТОГДА ВЫБОР
| КОГДА БазаОсновныеНачисления.ДатаНачалаБазовогоПериодаРазрез = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ЛОЖЬ
| КОГДА БазаОсновныеНачисления.ДатаНачалаБазовогоПериодаРазрез МЕЖДУ БазаОсновныеНачисления.ДатаНачалаРасчетногоПериода И БазаОсновныеНачисления.ДатаОкончанияРасчетногоПериода
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ДополнительноУменьшатьПропорциональныеПремии
| ИЗ
| РегистрРасчета.РасчетСреднегоЗаработка.БазаОсновныеНачисленияРаботниковОрганизаций(
| &парамИзмерения,
| &парамИзмерения,
| &парамРазрезы,
| Регистратор = &парамРегистратор
| И ВидРасчета В (&парамЗаработок)
| И (БазовыйПериодНачало <> НАЧАЛОПЕРИОДА(БазовыйПериодНачало, МЕСЯЦ)
| ИЛИ БазовыйПериодКонец <> КОНЕЦПЕРИОДА(БазовыйПериодКонец, МЕСЯЦ))) КАК БазаОсновныеНачисления
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК ОтработанноеВремя
| ПО БазаОсновныеНачисления.Сотрудник = ОтработанноеВремя.Сотрудник
| И (НАЧАЛОПЕРИОДА(БазаОсновныеНачисления.БазовыйПериодНачало, МЕСЯЦ) = ОтработанноеВремя.Период)
| И (ОтработанноеВремя.ВидИспользованияРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Работа))
| И (ОтработанноеВремя.ВЦеломЗаПериод)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ОсновныеНачисленияРаботниковОрганизаций.Результат,
| 1,
| ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета,
| РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка,
| РасчетСреднегоЗаработка.НомерСтроки,
| ЛОЖЬ,
| 0,
| ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПропорциональныеПремии)
| ТОГДА ВЫБОР
| КОГДА ОсновныеНачисленияРаботниковОрганизаций.ДатаНачалаБазовогоПериода = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ЛОЖЬ
| КОГДА ОсновныеНачисленияРаботниковОрганизаций.ДатаНачалаБазовогоПериода МЕЖДУ РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода И РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЗ
| ВТСтрокиСреднегоЗаработка КАК РасчетСреднегоЗаработка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций
| ПО РасчетСреднегоЗаработка.БазовыйВидРасчета = ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета
| И РасчетСреднегоЗаработка.Сотрудник = ОсновныеНачисленияРаботниковОрганизаций.Сотрудник
| И (ОсновныеНачисленияРаботниковОрганизаций.ПериодДействия = НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, МЕСЯЦ))
| И (ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации <= РасчетСреднегоЗаработка.ПериодРегистрации)
| ГДЕ
| РасчетСреднегоЗаработка.ВидРасчета В(&парамЗаработок)
| И РасчетСреднегоЗаработка.БазовыйПериодНачало = НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, МЕСЯЦ)
| И РасчетСреднегоЗаработка.БазовыйПериодКонец = КОНЕЦПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодКонец, МЕСЯЦ)
| И ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета ЕСТЬ НЕ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| БазаДополнительныеНачисления.РезультатБаза,
| ВЫБОР
| КОГДА БазаДополнительныеНачисления.ЧислоМесяцевРазрез = 0
| ТОГДА 1
| ИНАЧЕ БазаДополнительныеНачисления.ЧислоМесяцевРазрез
| КОНЕЦ,
| БазаДополнительныеНачисления.ВидРасчетаРазрез,
| БазаДополнительныеНачисления.ПериодРасчетаСреднегоЗаработка,
| БазаДополнительныеНачисления.НомерСтроки,
| ЛОЖЬ,
| 0,
| ВЫБОР
| КОГДА БазаДополнительныеНачисления.ВидРасчета В (&ПропорциональныеПремии)
| ТОГДА ВЫБОР
| КОГДА БазаДополнительныеНачисления.ДатаНачалаБазовогоПериодаРазрез = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ЛОЖЬ
| КОГДА БазаДополнительныеНачисления.ДатаНачалаБазовогоПериодаРазрез МЕЖДУ БазаДополнительныеНачисления.ДатаНачалаРасчетногоПериода И БазаДополнительныеНачисления.ДатаОкончанияРасчетногоПериода
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЗ
| РегистрРасчета.РасчетСреднегоЗаработка.БазаДополнительныеНачисленияРаботниковОрганизаций(
| &парамИзмерения,
| &парамИзмерения,
| &парамРазрезыДоп,
| Регистратор = &парамРегистратор
| И ВидРасчета В (&парамЗаработокБезБольничных)) КАК БазаДополнительныеНачисления
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| БазаДополнительныеНачисления.РезультатБаза - ЕСТЬNULL(ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеУчетаСкидок.СкидкаОборот, 0) = 0
| ТОГДА 0
| КОГДА БазаДополнительныеНачисления.РезультатБаза > ДанныеУчетаСкидок.СкидкаОборот
| ТОГДА ДанныеУчетаСкидок.СкидкаОборот
| ИНАЧЕ БазаДополнительныеНачисления.РезультатБаза
| КОНЕЦ, 0),
| 1,
| БазаДополнительныеНачисления.ВидРасчетаРазрез,
| БазаДополнительныеНачисления.ПериодРасчетаСреднегоЗаработка,
| БазаДополнительныеНачисления.НомерСтроки,
| ЛОЖЬ,
| ЕСТЬNULL(ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеУчетаСкидок.СкидкаОборот, 0) = 0
| ТОГДА 0
| КОГДА БазаДополнительныеНачисления.РезультатБаза > ДанныеУчетаСкидок.СкидкаОборот
| ТОГДА ДанныеУчетаСкидок.СкидкаОборот
| ИНАЧЕ БазаДополнительныеНачисления.РезультатБаза
| КОНЕЦ, 0),
| ЛОЖЬ
| ИЗ
| ВТБазаДопНачисленийПоБЛ КАК БазаДополнительныеНачисления
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеУчетаСкидок КАК ДанныеУчетаСкидок
| ПО БазаДополнительныеНачисления.ФизЛицо = ДанныеУчетаСкидок.ФизЛицо
| И БазаДополнительныеНачисления.Организация = ДанныеУчетаСкидок.Организация
| И БазаДополнительныеНачисления.КодДоходаСтраховыеВзносы = ДанныеУчетаСкидок.ВидДохода
| И (БазаДополнительныеНачисления.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство))
| И БазаДополнительныеНачисления.БазовыйПериодНачало = ДанныеУчетаСкидок.Период
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Дополнительные.Результат,
| 12,
| Дополнительные.ВидРасчета,
| РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка,
| РасчетСреднегоЗаработка.НомерСтроки,
| ЛОЖЬ,
| 0,
| ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПропорциональныеПремии)
| ТОГДА ВЫБОР
| КОГДА Дополнительные.ДатаНачалаБазовогоПериода = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ЛОЖЬ
| КОГДА Дополнительные.ДатаНачалаБазовогоПериода МЕЖДУ РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода И РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЗ
| ВТСтрокиСреднегоЗаработка КАК РасчетСреднегоЗаработка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК Дополнительные
| ПО РасчетСреднегоЗаработка.БазовыйВидРасчета = Дополнительные.ВидРасчета
| И РасчетСреднегоЗаработка.Сотрудник = Дополнительные.Сотрудник
| И РасчетСреднегоЗаработка.ГодУчетаПремийПоИтогамГода = Дополнительные.ГодУчетаПремийПоИтогамГода
| И (РасчетСреднегоЗаработка.ПериодРегистрации >= НАЧАЛОПЕРИОДА(Дополнительные.ПериодРегистрации, МЕСЯЦ))
| ГДЕ
| РасчетСреднегоЗаработка.ВидРасчета В(&парамПоГодовойПремии)
| И Дополнительные.ВидРасчета ЕСТЬ НЕ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ОсновныеНачисления.Результат,
| 12,
| ОсновныеНачисления.ВидРасчета,
| РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка,
| РасчетСреднегоЗаработка.НомерСтроки,
| ЛОЖЬ,
| 0,
| ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПропорциональныеПремии)
| ТОГДА ВЫБОР
| КОГДА ОсновныеНачисления.ДатаНачалаБазовогоПериода = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ЛОЖЬ
| КОГДА ОсновныеНачисления.ДатаНачалаБазовогоПериода МЕЖДУ РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода И РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЗ
| ВТСтрокиСреднегоЗаработка КАК РасчетСреднегоЗаработка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления
| ПО РасчетСреднегоЗаработка.БазовыйВидРасчета = ОсновныеНачисления.ВидРасчета
| И РасчетСреднегоЗаработка.Сотрудник = ОсновныеНачисления.Сотрудник
| И РасчетСреднегоЗаработка.ПериодРегистрации >= ОсновныеНачисления.ПериодРегистрации
| И РасчетСреднегоЗаработка.ГодУчетаПремийПоИтогамГода = ОсновныеНачисления.ГодУчетаПремийПоИтогамГода
| ГДЕ
| РасчетСреднегоЗаработка.ВидРасчета В(&парамПоГодовойПремии)
| И ОсновныеНачисления.ВидРасчета ЕСТЬ НЕ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Дополнительные.Результат,
| 12,
| Дополнительные.ВидРасчета,
| РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка,
| РасчетСреднегоЗаработка.НомерСтроки,
| ЛОЖЬ,
| 0,
| ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПропорциональныеПремии)
| ТОГДА ВЫБОР
| КОГДА Дополнительные.ДатаНачалаБазовогоПериода = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ЛОЖЬ
| КОГДА Дополнительные.ДатаНачалаБазовогоПериода МЕЖДУ РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода И РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЗ
| ВТСтрокиСреднегоЗаработка КАК РасчетСреднегоЗаработка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК Дополнительные
| ПО РасчетСреднегоЗаработка.БазовыйВидРасчета = Дополнительные.ВидРасчета
| И РасчетСреднегоЗаработка.Сотрудник = Дополнительные.Сотрудник
| И РасчетСреднегоЗаработка.ГодУчетаПремийПоИтогамГода = Дополнительные.ГодУчетаПремийПоИтогамГода
| И (НАЧАЛОПЕРИОДА(Дополнительные.ПериодРегистрации, МЕСЯЦ) <= РасчетСреднегоЗаработка.ПериодРегистрации)
| И (Дополнительные.ПериодРегистрации МЕЖДУ РасчетСреднегоЗаработка.БазовыйПериодНачало И РасчетСреднегоЗаработка.БазовыйПериодКонец
| ИЛИ РасчетСреднегоЗаработка.БазовыйПериодНачало = РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода
| И Дополнительные.ПериодРегистрации < РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода
| ИЛИ КОНЕЦПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодКонец, ДЕНЬ) = КОНЕЦПЕРИОДА(РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода, ДЕНЬ)
| И Дополнительные.ПериодРегистрации > РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода)
| ГДЕ
| РасчетСреднегоЗаработка.ВидРасчета В(&парамПоГодовойПремииИндексируемые)
| И Дополнительные.ВидРасчета ЕСТЬ НЕ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ОсновныеНачисления.Результат,
| 12,
| ОсновныеНачисления.ВидРасчета,
| РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка,
| РасчетСреднегоЗаработка.НомерСтроки,
| ЛОЖЬ,
| 0,
| ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПропорциональныеПремии)
| ТОГДА ВЫБОР
| КОГДА ОсновныеНачисления.ДатаНачалаБазовогоПериода = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ЛОЖЬ
| КОГДА ОсновныеНачисления.ДатаНачалаБазовогоПериода МЕЖДУ РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода И РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЗ
| ВТСтрокиСреднегоЗаработка КАК РасчетСреднегоЗаработка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления
| ПО РасчетСреднегоЗаработка.БазовыйВидРасчета = ОсновныеНачисления.ВидРасчета
| И РасчетСреднегоЗаработка.Сотрудник = ОсновныеНачисления.Сотрудник
| И РасчетСреднегоЗаработка.ПериодРегистрации >= ОсновныеНачисления.ПериодРегистрации
| И РасчетСреднегоЗаработка.ГодУчетаПремийПоИтогамГода = ОсновныеНачисления.ГодУчетаПремийПоИтогамГода
| И (ОсновныеНачисления.ПериодРегистрации МЕЖДУ РасчетСреднегоЗаработка.БазовыйПериодНачало И РасчетСреднегоЗаработка.БазовыйПериодКонец
| ИЛИ РасчетСреднегоЗаработка.БазовыйПериодНачало = РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода
| И ОсновныеНачисления.ПериодРегистрации < РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода
| ИЛИ КОНЕЦПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодКонец, ДЕНЬ) = КОНЕЦПЕРИОДА(РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода, ДЕНЬ)
| И ОсновныеНачисления.ПериодРегистрации > РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода)
| ГДЕ
| РасчетСреднегоЗаработка.ВидРасчета В(&парамПоГодовойПремииИндексируемые)
| И ОсновныеНачисления.ВидРасчета ЕСТЬ НЕ NULL ) КАК База
|
|СГРУППИРОВАТЬ ПО
| База.НомерСтроки,
| База.ЧислоМесяцев,
| База.ПериодРасчетаСреднегоЗаработка,
| База.ВидРасчетаРазрез,
| База.ВидРасчетаРазрез.Наименование,
| База.ОшибкаВводаСводногоТабеля,
| База.ДополнительноУменьшатьПропорциональныеПремии
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";*/
//Разрезы = Новый Массив(2);
//Разрезы[0] = "ДатаНачалаБазовогоПериода";
//Разрезы[1] = "ВидРасчета";
//РазрезыДоп = Новый Массив(3);
//РазрезыДоп[0] = "ЧислоМесяцев";
//РазрезыДоп[1] = "ДатаНачалаБазовогоПериода";
//РазрезыДоп[2] = "ВидРасчета";
}
//РазрезыДляБЛ = Новый Массив(1);
//РазрезыДляБЛ[0] = "ВидРасчета";
//Запрос.УстановитьПараметр("парамРазрезыБЛ", РазрезыДляБЛ);
//Измерения = Новый Массив(1);
//Измерения[0] = "Сотрудник";
//Запрос.УстановитьПараметр("парамИзмерения", Измерения);
//Запрос.УстановитьПараметр("парамРазрезы", Разрезы);
//Запрос.УстановитьПараметр("парамРазрезыДоп",РазрезыДоп);
//Запрос.УстановитьПараметр("ДатаЗакона213ФЗ",ПроведениеРасчетов.ДатаЗаменыЕСНСтраховымиВзносами());
}
if(true/*ИмяАлгоритма = "ВремяСреднегоЗаработка"*/)
{
/*// ЗаписиДанныхДляСреднего
*/
/*// Данные для расчета среднего заработка
*/
/*// Поля:
*/
/*// НомерСтроки - ключевое поле в пределах регистратора,
*/
/*// ДатаНачалаРасчетногоПериода, ДатаОкончанияРасчетногоПериода - определяют расчетный период,
*/
/*// БазовыйПериодНачало, БазовыйПериодКонец - определяют часть расчетного периода,
*/
/*// ФизЛицо, Организация, Приказ - измерения регистра - для идентификации записи
*/
/*// ВидРасчета - вид заработка для расчета среднего
*/
/*// СпособРасчета - способ расчета среднего заработка
*/
/*//
*/
/*// Описание:
*/
/*// выбираем из регистра расчета среднего заработка все записи по регистратору по
*/
/*// различным видам расчета в зависимости от состава параметра "Заработок"
*/
/*//
*/
/*// БазовыеРасчетыОтпуска
*/
/*// Список начислений из ПВР ОсновныеНачисленияОрганизаций, по результатов которых ведется
*/
/*// расчет среднего заработка для оплаты командировок и отпусков
*/
/*// Поля:
*/
/*// ВидРасчета
*/
/*//
*/
/*// БазовыеРасчеты
*/
/*// Список начислений из ПВР ОсновныеНачисленияОрганизаций, по результатов которых ведется
*/
/*// расчет среднего заработка для выплаты пособий по нетрудоспособности
*/
/*// Поля:
*/
/*// ВидРасчета
*/
/*//
*/
/*// НормаПоПроизвКалендарю
*/
/*// Данные о норме дней по шестидневке
*/
/*// Поля:
*/
/*// МесяцПериода,
*/
/*// ДнейПоПятидневке
*/
/*// ДнейПоШестидневке
*/
/*//
*/
/*// Описание:
*/
/*// выбираем из производсвенного календаря с сумированием ресурса Шестидневка
*/
/*// условие - с начала периода расчета среднего заработка по конец периода
*/
/*// группируем по номеру месяца
*/
/*//
*/
/*// ВТПрогулыПоТабелюФПД
*/
/*// Прогулы зарегистрированные табелем, таблица фактического периода действия
*/
/*// Поля:
*/
/*// Сотрудник,
*/
/*// ПериодРегистрации
*/
/*// ПериодДействия
*/
/*// ПериодДействияНачало
*/
/*// ПериодДействияКонец
*/
/*// Дней
*/
/*// Часов
*/
/*//
*/
/*// Описание:
*/
/*// таблица фактического периода действия ПВР ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю
*/
/*// условие - прогулы зарегистрированы табелем
*/
/*//
*/
/*// ВТПрогулыПоТабелюДанныеГрафика
*/
/*// Прогулы зарегистрированные табелем, таблица данные графика
*/
/*// Поля:
*/
/*// Сотрудник,
*/
/*// ПериодРегистрации
*/
/*// ПериодДействия
*/
/*// ПроизводственныйКалендарьШестидневкаФактическийПериодДействия
*/
/*//
*/
/*// Описание:
*/
/*// данные графика ПВР ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю
*/
/*// условие - прогулы зарегистрированы табелем
*/
/*//
*/
/*////////////////////////////////////////////////////////////////////////////////
*/
/*// данные о продолжительности расчетного периода (ОтработаноДней и ОтработаноЧасов), а также
*/
/*// об отработанном времени и норме времени за расчетный период -
*/
/*// нужны для включения премий, начисленных в фиксированных суммах, пропорционально отработанному времени)
*/
/*// к каждой записи из данных для расчета среднего выбираем записи основного регистра по правилу:
*/
/*// - если это запись по премиям в фикс. суммах - все записи основного регистра, попадающие в расчетный период
*/
/*// - если это запись по заработку и начинает расчетный период - записи основного регистра за все "затронутые" месяцы расчетного периода
*/
/*// - если же это одна из последующих записей по заработку - записи основного регистра за "затронутые" месяцы расчетного периода, кроме первого
*/
/*// для записей расчета среднего по премиям в фикс. суммах собираем отработанное время и норму по пятидневке за весь расчетный период
*/
/*// для записей по заработку собираем продолжительность её части расчетного периода
*/
/*ТекстЗапроса =
"ВЫБРАТЬ
| ЗаписиРасчетаСреднего.ПериодРегистрации,
| ЗаписиРасчетаСреднего.НомерСтроки КАК НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало КАК БазовыйПериодНачало,
| ЗаписиРасчетаСреднего.БазовыйПериодКонец КАК БазовыйПериодКонец,
| ЗаписиРасчетаСреднего.Сотрудник КАК Сотрудник,
| ЗаписиРасчетаСреднего.ДатаНачалаСобытия КАК ДатаНачалаСобытия,
| ЗаписиРасчетаСреднего.ДатаНачалаРасчетногоПериода КАК ДатаНачалаРасчетногоПериода,
| ЗаписиРасчетаСреднего.ДатаОкончанияРасчетногоПериода КАК ДатаОкончанияРасчетногоПериода,
| ЗаписиРасчетаСреднего.ВидРасчета КАК ВидРасчета,
| ЗаписиРасчетаСреднего.СпособРасчета КАК СпособРасчета,
| ЗаписиРасчетаСреднего.ВидУчетаВремени,
| ЗаписиРасчетаСреднего.Организация
|ПОМЕСТИТЬ ВТЗаписиДанныхДляСреднего
|ИЗ
| РегистрРасчета.РасчетСреднегоЗаработка КАК ЗаписиРасчетаСреднего
|ГДЕ
| ЗаписиРасчетаСреднего.Регистратор = &парамРегистратор
|
|ИНДЕКСИРОВАТЬ ПО
| ВидРасчета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОсновныеНачисленияОрганизаций.Ссылка КАК ВидРасчета
|ПОМЕСТИТЬ ВТБазовыеРасчетыОтпуска
|ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
|ГДЕ
| ОсновныеНачисленияОрганизаций.ЗачетНормыВремени
| И (ОсновныеНачисленияОрганизаций.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы)
| ИЛИ ОсновныеНачисленияОрганизаций.ОбозначениеВТабелеУчетаРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Прогулы)
| И ОсновныеНачисленияОрганизаций.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ЦелодневноеНеотработанное))
| И ОсновныеНачисленияОрганизаций.Ссылка <> ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю)
|
|ИНДЕКСИРОВАТЬ ПО
| ВидРасчета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОсновныеНачисленияОрганизаций.Ссылка КАК ВидРасчета
|ПОМЕСТИТЬ ВТВидыРасчетаЕжегодныхОтпусков
|ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
|ГДЕ
| ОсновныеНачисленияОрганизаций.ЗачетНормыВремени
| И ОсновныеНачисленияОрганизаций.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ЦелодневноеНеотработанное)
| И ОсновныеНачисленияОрганизаций.ОбозначениеВТабелеУчетаРабочегоВремени В (ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ОсновнойОтпуск), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ДополнительныйОтпуск))
|
|ИНДЕКСИРОВАТЬ ПО
| ВидРасчета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВЫРАЗИТЬ(СреднийЗаработокБазовыеВидыРасчета.ВидРасчета КАК ПланВидовРасчета.ОсновныеНачисленияОрганизаций) КАК ВидРасчета
|ПОМЕСТИТЬ ВТБазовыеРасчеты
|ИЗ
| ПланВидовРасчета.СреднийЗаработок.БазовыеВидыРасчета КАК СреднийЗаработокБазовыеВидыРасчета
|ГДЕ
| СреднийЗаработокБазовыеВидыРасчета.Ссылка В (ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуПособийС2010), ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуПособий))
| И СреднийЗаработокБазовыеВидыРасчета.ВидРасчета ССЫЛКА ПланВидовРасчета.ОсновныеНачисленияОрганизаций
| И СреднийЗаработокБазовыеВидыРасчета.ВидРасчета.ЗачетНормыВремени
| И СреднийЗаработокБазовыеВидыРасчета.ВидРасчета <> ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОсновныеНачисленияОрганизаций.Ссылка
|ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
|ГДЕ
| ОсновныеНачисленияОрганизаций.ЗачетНормыВремени
| И ОсновныеНачисленияОрганизаций.ОбозначениеВТабелеУчетаРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Прогулы)
| И ОсновныеНачисленияОрганизаций.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ЦелодневноеНеотработанное)
| И ОсновныеНачисленияОрганизаций.Ссылка <> ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю)
|
|ИНДЕКСИРОВАТЬ ПО
| ВидРасчета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(ПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ) КАК МесяцПериода,
| СУММА(ПроизводственныйКалендарь.Пятидневка) КАК ДнейПоПятидневке,
| СУММА(ПроизводственныйКалендарь.Пятидневка) * 8 - СУММА(ВЫБОР
| КОГДА ПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный)
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ) КАК ЧасовПоПятидневке,
| СУММА(ПроизводственныйКалендарь.Шестидневка) КАК ДнейПоШестидневке,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПроизводственныйКалендарь.ДатаКалендаря) КАК КалендарныхДней
|ПОМЕСТИТЬ ВТНормаПоПроизвКалендарю
|ИЗ
| РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК ПроизводственныйКалендарь
|ГДЕ
| ПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &парамДатаС И &парамДатаПо
|
|СГРУППИРОВАТЬ ПО
| НАЧАЛОПЕРИОДА(ПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ)
|
|ИНДЕКСИРОВАТЬ ПО
| МесяцПериода
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(ПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ) КАК МесяцПериода,
| ПроизводственныйКалендарь.ДатаКалендаря КАК Праздник
|ПОМЕСТИТЬ ВТПраздники
|ИЗ
| РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК ПроизводственныйКалендарь
|ГДЕ
| ПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &парамДатаС И &парамДатаПо
| И ПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Праздник)
|
|ИНДЕКСИРОВАТЬ ПО
| МесяцПериода
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОсновныеНачисленияРаботников.Сотрудник КАК Сотрудник,
| ОсновныеНачисленияРаботников.ПериодРегистрации КАК ПериодРегистрации,
| ОсновныеНачисленияРаботников.ПериодДействия КАК ПериодДействия,
| ОсновныеНачисленияРаботников.Сторно КАК Сторно,
| ОсновныеНачисленияРаботников.ВидРасчета КАК ВидРасчета,
| ОсновныеНачисленияРаботников.ПериодДействияНачало КАК ПериодДействияНачало,
| ОсновныеНачисленияРаботников.ПериодДействияКонец КАК ПериодДействияКонец
|ПОМЕСТИТЬ ВТДанныеФПД
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
| ПериодДействия МЕЖДУ &парамДатаС И &парамДатаПо
| И Сотрудник В
| (ВЫБРАТЬ
| ЗаписиДанныхДляСреднего.Сотрудник
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиДанныхДляСреднего)) КАК ОсновныеНачисленияРаботников
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| ВидРасчета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДанныеГрафика.Сотрудник КАК Сотрудник,
| ДанныеГрафика.ВидРасчета КАК ВидРасчета,
| ДанныеГрафика.ПериодРегистрации,
| ДанныеГрафика.ПериодДействия,
| ДанныеГрафика.ПериодДействияНачало,
| ДанныеГрафика.ПериодДействияКонец,
| ДанныеГрафика.Сторно,
| ДанныеГрафика.ПроизводственныйКалендарьШестидневкаФактическийПериодДействия
|ПОМЕСТИТЬ ВТДанныеГрафика
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ДанныеГрафика(
| ПериодДействия МЕЖДУ &парамДатаС И &парамДатаПо
| И Сотрудник В
| (ВЫБРАТЬ
| ЗаписиДанныхДляСреднего.Сотрудник
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиДанныхДляСреднего)) КАК ДанныеГрафика
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| ВидРасчета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОсновныеНачисления.Сотрудник,
| ОсновныеНачисления.ПериодРегистрации,
| ОсновныеНачисления.ПериодДействия,
| ОсновныеНачисления.ПериодДействияНачало,
| ОсновныеНачисления.ПериодДействияКонец,
| СУММА(РабочееВремя.Дней) КАК Дней,
| СУММА(РабочееВремя.Часов) КАК Часов
|ПОМЕСТИТЬ ВТПрогулыПоТабелюФПД
|ИЗ
| ВТДанныеФПД КАК ОсновныеНачисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремя
| ПО ОсновныеНачисления.Сотрудник = РабочееВремя.Сотрудник
| И (ОсновныеНачисления.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю))
| И (РабочееВремя.Период МЕЖДУ ОсновныеНачисления.ПериодДействияНачало И ОсновныеНачисления.ПериодДействияКонец)
| И (РабочееВремя.ВидИспользованияРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Прогулы))
|
|СГРУППИРОВАТЬ ПО
| ОсновныеНачисления.ПериодДействияНачало,
| ОсновныеНачисления.ПериодДействияКонец,
| ОсновныеНачисления.Сотрудник,
| ОсновныеНачисления.ПериодРегистрации,
| ОсновныеНачисления.ПериодДействия
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДанныеГрафика.Сотрудник,
| ДанныеГрафика.ПериодРегистрации,
| ДанныеГрафика.ПериодДействия,
| ДанныеГрафика.ПроизводственныйКалендарьШестидневкаФактическийПериодДействия
|ПОМЕСТИТЬ ВТПрогулыПоТабелюДанныеГрафика
|ИЗ
| ВТДанныеГрафика КАК ДанныеГрафика
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремя
| ПО ДанныеГрафика.Сотрудник = РабочееВремя.Сотрудник
| И (ДанныеГрафика.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю))
| И (РабочееВремя.Период МЕЖДУ ДанныеГрафика.ПериодДействияНачало И ДанныеГрафика.ПериодДействияКонец)
| И (РабочееВремя.ВидИспользованияРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Прогулы))
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) КАК БазовыйПериодНачало,
| 0 КАК ОтработаноПоПятидневке,
| 0 КАК ОтработаноДней,
| 0 КАК ОтработаноЧасов
|ПОМЕСТИТЬ ВТДополнительныеДанные
|ГДЕ
| ЛОЖЬ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОтработанноеВремя.НомерСтроки КАК НомерСтроки,
| СУММА(ОтработанноеВремя.ОтработаноПоПятидневке) КАК ОтработаноПоПятидневке,
| НормаПоПроизвКалендарю.НормаПоПятидневкеПоПроизвКалендарю,
| СУММА(ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ОтработанноеВремя.БазовыйПериодНачало, МЕСЯЦ) <> ОтработанноеВремя.БазовыйПериодНачало
| ТОГДА 0
| ИНАЧЕ ОтработанноеВремя.ОтработаноДней
| КОНЕЦ) КАК ОтработаноДней,
| СУММА(ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ОтработанноеВремя.БазовыйПериодНачало, МЕСЯЦ) <> ОтработанноеВремя.БазовыйПериодНачало
| ТОГДА 0
| ИНАЧЕ ОтработанноеВремя.ОтработаноЧасов
| КОНЕЦ) КАК ОтработаноЧасов
|ИЗ
| (ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки КАК НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало КАК БазовыйПериодНачало,
| 0 КАК ОтработаноПоПятидневке,
| ВЫБОР
| КОГДА ОсновныеНачисленияРаботников.Сторно
| ТОГДА -1
| ИНАЧЕ 1
| КОНЕЦ * РАЗНОСТЬДАТ(ОсновныеНачисленияРаботников.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(ОсновныеНачисленияРаботников.ПериодДействияКонец, СЕКУНДА, 1), ДЕНЬ) КАК ОтработаноДней,
| 0 КАК ОтработаноЧасов
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОсновныеНачисленияРаботников.Сотрудник КАК Сотрудник,
| ОсновныеНачисленияРаботников.ПериодРегистрации КАК ПериодРегистрации,
| ОсновныеНачисленияРаботников.ПериодДействия КАК ПериодДействия,
| ОсновныеНачисленияРаботников.Сторно КАК Сторно,
| ОсновныеНачисленияРаботников.ПериодДействияНачало КАК ПериодДействияНачало,
| ОсновныеНачисленияРаботников.ПериодДействияКонец КАК ПериодДействияКонец
| ИЗ
| ВТДанныеФПД КАК ОсновныеНачисленияРаботников
| ГДЕ
| ОсновныеНачисленияРаботников.ВидРасчета В
| (ВЫБРАТЬ
| БазовыеРасчеты.ВидРасчета
| ИЗ
| ВТБазовыеРасчеты КАК БазовыеРасчеты)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВТПрогулыТабеля.Сотрудник,
| ВТПрогулыТабеля.ПериодРегистрации,
| ВТПрогулыТабеля.ПериодДействия,
| ЛОЖЬ,
| ВТПрогулыТабеля.ПериодДействияНачало,
| ВТПрогулыТабеля.ПериодДействияКонец
| ИЗ
| ВТПрогулыПоТабелюФПД КАК ВТПрогулыТабеля) КАК ОсновныеНачисленияРаботников
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОсновныеНачисленияРаботников.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОсновныеНачисленияРаботников.ПериодРегистрации
| И (НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ) = ОсновныеНачисленияРаботников.ПериодДействия)
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета В (ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуПособийС2010), ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуПособий))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало,
| 0,
| ВЫБОР
| КОГДА ОсновныеНачисленияРаботников.Сторно
| ТОГДА -1
| ИНАЧЕ 1
| КОНЕЦ,
| 0
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеФПД КАК ОсновныеНачисленияРаботников
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраздники КАК Праздники
| ПО (Праздники.Праздник МЕЖДУ ОсновныеНачисленияРаботников.ПериодДействияНачало И ОсновныеНачисленияРаботников.ПериодДействияКонец)
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОсновныеНачисленияРаботников.Сотрудник
| И ((НЕ ОсновныеНачисленияРаботников.ВидРасчета В
| (ВЫБРАТЬ
| БазовыеРасчеты.ВидРасчета
| ИЗ
| ВТБазовыеРасчеты КАК БазовыеРасчеты)))
| И (ОсновныеНачисленияРаботников.ВидРасчета В
| (ВЫБРАТЬ
| БазовыеРасчеты.ВидРасчета
| ИЗ
| ВТВидыРасчетаЕжегодныхОтпусков КАК БазовыеРасчеты))
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОсновныеНачисленияРаботников.ПериодРегистрации
| И (НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ) = ОсновныеНачисленияРаботников.ПериодДействия)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций КАК УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций
| ПО ЗаписиРасчетаСреднего.Организация = УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.Организация
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета В (ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуПособийС2010), ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуПособий))
| И Праздники.Праздник ЕСТЬ НЕ NULL
| И НЕ ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.НеУчитыватьПраздникиВоВремяОтпускаПриОплатеБольничных, ЛОЖЬ)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеИндексируемыйЗаработок.НомерСтроки,
| ДанныеИндексируемыйЗаработок.БазовыйПериодНачало,
| ДанныеИндексируемыйЗаработок.ОтработаноПоПятидневке,
| ДанныеИндексируемыйЗаработок.ОтработаноДней,
| ДанныеИндексируемыйЗаработок.ОтработаноЧасов
| ИЗ
| (ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки КАК НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало КАК БазовыйПериодНачало,
| 0 КАК ОтработаноПоПятидневке,
| ВЫБОР
| КОГДА ОтработанноеВремя.ВидРасчета В (&Прогулы)
| ТОГДА ОтработанноеВремя.НормаДней
| ИНАЧЕ ОтработанноеВремя.ОтработаноДней
| КОНЕЦ КАК ОтработаноДней,
| ВЫБОР
| КОГДА ОтработанноеВремя.ВидРасчета В (&Прогулы)
| ТОГДА ОтработанноеВремя.НормаЧасов
| ИНАЧЕ ОтработанноеВремя.ОтработаноЧасов
| КОНЕЦ КАК ОтработаноЧасов
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОтработанноеВремя
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОтработанноеВремя.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОтработанноеВремя.ПериодРегистрации
| И (НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ) = ОтработанноеВремя.ПериодДействия)
| И (ОтработанноеВремя.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы)
| ИЛИ ОтработанноеВремя.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеСверхНормы)
| ИЛИ ОтработанноеВремя.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Прогулы))
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые)
| И ЗаписиРасчетаСреднего.СпособРасчета В(&парамНеОтпуск)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало,
| 0,
| ОтработанноеВремя.Дней,
| ОтработанноеВремя.Часов
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПрогулыПоТабелюФПД КАК ОтработанноеВремя
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОтработанноеВремя.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОтработанноеВремя.ПериодРегистрации
| И (НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ) = ОтработанноеВремя.ПериодДействия)
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые)
| И ЗаписиРасчетаСреднего.СпособРасчета В(&парамНеОтпуск)) КАК ДанныеИндексируемыйЗаработок
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало,
| 0,
| ВЫБОР
| КОГДА ОсновныеНачисленияРаботников.Сотрудник ЕСТЬ NULL
| ТОГДА 0
| КОГДА СУММА(ВЫБОР
| КОГДА ОсновныеНачисленияРаботников.Сторно
| ТОГДА -1
| ИНАЧЕ 1
| КОНЕЦ * РАЗНОСТЬДАТ(ОсновныеНачисленияРаботников.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(ОсновныеНачисленияРаботников.ПериодДействияКонец, СЕКУНДА, 1), ДЕНЬ)) < РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ), ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодКонец, МЕСЯЦ), СЕКУНДА, 1), ДЕНЬ)
| ТОГДА ВЫРАЗИТЬ(29.4 / РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ), ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодКонец, МЕСЯЦ), СЕКУНДА, 1), ДЕНЬ) * СУММА(ВЫБОР
| КОГДА ОсновныеНачисленияРаботников.Сторно
| ТОГДА -1
| ИНАЧЕ 1
| КОНЕЦ * РАЗНОСТЬДАТ(ОсновныеНачисленияРаботников.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(ОсновныеНачисленияРаботников.ПериодДействияКонец, СЕКУНДА, 1), ДЕНЬ)) КАК ЧИСЛО(7, 2))
| ИНАЧЕ 29.4
| КОНЕЦ,
| 0
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОсновныеНачисленияРаботников.Сотрудник КАК Сотрудник,
| ОсновныеНачисленияРаботников.ПериодРегистрации КАК ПериодРегистрации,
| ОсновныеНачисленияРаботников.ПериодДействия КАК ПериодДействия,
| ОсновныеНачисленияРаботников.Сторно КАК Сторно,
| ОсновныеНачисленияРаботников.ПериодДействияНачало КАК ПериодДействияНачало,
| ОсновныеНачисленияРаботников.ПериодДействияКонец КАК ПериодДействияКонец
| ИЗ
| ВТДанныеФПД КАК ОсновныеНачисленияРаботников
| ГДЕ
| ОсновныеНачисленияРаботников.ВидРасчета В
| (ВЫБРАТЬ
| БазовыеРасчеты.ВидРасчета
| ИЗ
| ВТБазовыеРасчетыОтпуска КАК БазовыеРасчеты)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВТПрогулыТабеля.Сотрудник,
| ВТПрогулыТабеля.ПериодРегистрации,
| ВТПрогулыТабеля.ПериодДействия,
| ЛОЖЬ,
| ВТПрогулыТабеля.ПериодДействияНачало,
| ВТПрогулыТабеля.ПериодДействияКонец
| ИЗ
| ВТПрогулыПоТабелюФПД КАК ВТПрогулыТабеля) КАК ОсновныеНачисленияРаботников
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОсновныеНачисленияРаботников.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОсновныеНачисленияРаботников.ПериодРегистрации
| И (НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ) = ОсновныеНачисленияРаботников.ПериодДействия)
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые)
| И ЗаписиРасчетаСреднего.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоКалендарнымДням)
|
| СГРУППИРОВАТЬ ПО
| ОсновныеНачисленияРаботников.Сотрудник,
| ЗаписиРасчетаСреднего.НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало,
| ЗаписиРасчетаСреднего.БазовыйПериодКонец
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало,
| 0,
| ВЫБОР
| КОГДА ОсновныеНачисленияРаботников.Сторно
| ТОГДА -1
| ИНАЧЕ 1
| КОНЕЦ * ОсновныеНачисленияРаботников.ПроизводственныйКалендарьШестидневкаФактическийПериодДействия,
| 0
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОсновныеНачисленияРаботников.Сотрудник КАК Сотрудник,
| ОсновныеНачисленияРаботников.ПериодРегистрации КАК ПериодРегистрации,
| ОсновныеНачисленияРаботников.ПериодДействия КАК ПериодДействия,
| ОсновныеНачисленияРаботников.ПроизводственныйКалендарьШестидневкаФактическийПериодДействия КАК ПроизводственныйКалендарьШестидневкаФактическийПериодДействия,
| ОсновныеНачисленияРаботников.Сторно КАК Сторно
| ИЗ
| ВТДанныеГрафика КАК ОсновныеНачисленияРаботников
| ГДЕ
| ОсновныеНачисленияРаботников.ВидРасчета В
| (ВЫБРАТЬ
| БазовыеРасчеты.ВидРасчета
| ИЗ
| ВТБазовыеРасчетыОтпуска КАК БазовыеРасчеты)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВТПрогулыТабеля.Сотрудник,
| ВТПрогулыТабеля.ПериодРегистрации,
| ВТПрогулыТабеля.ПериодДействия,
| ВТПрогулыТабеля.ПроизводственныйКалендарьШестидневкаФактическийПериодДействия,
| ЛОЖЬ
| ИЗ
| ВТПрогулыПоТабелюДанныеГрафика КАК ВТПрогулыТабеля) КАК ОсновныеНачисленияРаботников
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОсновныеНачисленияРаботников.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОсновныеНачисленияРаботников.ПериодРегистрации
| И (НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ) = ОсновныеНачисленияРаботников.ПериодДействия)
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые)
| И ЗаписиРасчетаСреднего.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоШестидневке)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало,
| ВЫБОР
| КОГДА ЗаписиРасчетаСреднего.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
| ТОГДА ОтработанноеВремя.ОтработаноДнейПоПятидневке
| ИНАЧЕ ОтработанноеВремя.ОтработаноЧасовПоПятидневке
| КОНЕЦ,
| 0,
| 0
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОтработанноеВремя
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОтработанноеВремя.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОтработанноеВремя.ПериодРегистрации
| И ЗаписиРасчетаСреднего.ДатаНачалаРасчетногоПериода <= ОтработанноеВремя.ПериодДействияКонец
| И ЗаписиРасчетаСреднего.ДатаОкончанияРасчетногоПериода >= ОтработанноеВремя.ПериодДействияНачало
| И (ОтработанноеВремя.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы)
| ИЛИ ОтработанноеВремя.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеСверхНормы))
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета В(&ФиксПремии)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДополнительныеДанные.НомерСтроки,
| ДополнительныеДанные.БазовыйПериодНачало,
| ДополнительныеДанные.ОтработаноПоПятидневке,
| ДополнительныеДанные.ОтработаноДней,
| ДополнительныеДанные.ОтработаноЧасов
| ИЗ
| ВТДополнительныеДанные КАК ДополнительныеДанные) КАК ОтработанноеВремя
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки КАК НомерСтроки,
| СУММА(ВЫБОР
| КОГДА ЗаписиРасчетаСреднего.ВидРасчета В (&ФиксПремии)
| ТОГДА ВЫБОР
| КОГДА ЗаписиРасчетаСреднего.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
| ТОГДА НормаПоПроизвКалендарю.ДнейПоПятидневке
| ИНАЧЕ НормаПоПроизвКалендарю.ЧасовПоПятидневке
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ) КАК НормаПоПятидневкеПоПроизвКалендарю
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаПоПроизвКалендарю КАК НормаПоПроизвКалендарю
| ПО (НормаПоПроизвКалендарю.МесяцПериода МЕЖДУ ЗаписиРасчетаСреднего.ДатаНачалаРасчетногоПериода И ЗаписиРасчетаСреднего.ДатаОкончанияРасчетногоПериода)
|
| СГРУППИРОВАТЬ ПО
| ЗаписиРасчетаСреднего.НомерСтроки) КАК НормаПоПроизвКалендарю
| ПО ОтработанноеВремя.НомерСтроки = НормаПоПроизвКалендарю.НомерСтроки
|
|СГРУППИРОВАТЬ ПО
| ОтработанноеВремя.НомерСтроки,
| НормаПоПроизвКалендарю.НормаПоПятидневкеПоПроизвКалендарю
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";*/
/*// в запросе по отработанному времени отдельно обрабатываются прогулы - выберем их список
*/
/*ЗапросПВР = Новый Запрос(
"ВЫБРАТЬ
| ОсновныеНачисленияОрганизаций.Ссылка КАК Ссылка
|ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
|ГДЕ
| ОсновныеНачисленияОрганизаций.ЗачетНормыВремени
| И ОсновныеНачисленияОрганизаций.ОбозначениеВТабелеУчетаРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Прогулы)
|");*/
//Запрос.УстановитьПараметр("Прогулы", ЗапросПВР.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
//СписокСпособов = Новый Массив();
//СписокСпособов.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ДоплатаДоСреднегоЗаработка);
//СписокСпособов.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ДоплатаДоСреднегоЗаработкаФСС);
//СписокСпособов.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработку);
//СписокСпособов.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуФСС);
//СписокСпособов.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ПособиеПоУходуЗаРебенкомДо1_5Лет);
//Запрос.УстановитьПараметр("парамНеОтпуск", СписокСпособов);
}
}