public object ПолучитьДанныеДляРасчета(/*ИмяРегистра,
КатегорияРасчета,
НеобходимыеДанные,
Регистратор,
Организация,
ПериодРегистрации,
Перерасчет = Ложь,
Физлица = Неопределено,
КомментироватьРасчет = Ложь, ФормаКомментариев = НеОпределено*/)
{
/*/////////////////////////////////////////////////////////////////////
*/
/*// Вложенные запросы
*/
/*// для получения данных расчета
*/
/*// Реализованы как временные таблицы
*/
/*// таблица СотрудникиДляПерерасчетаТекст
*/
/*// Список сотрудников по которым необходимо выполнить перерасчет
*/
/*// Поля:
*/
/*// Сотрудник
*/
/*// Описание:
*/
/*// Получает список неповторяющихся сотрудников по которым есть записи
*/
/*// перерасчета в одной из таблиц перерасчета - по основным или дополнительным начислениям
*/
/*//
*/
/*ФизлицаДляПерерасчетаТекст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Перерасчет.Физлицо КАК Физлицо
|ПОМЕСТИТЬ ВТФизлицаДляПерерасчета
|ИЗ
| (ВЫБРАТЬ
| Перерасчет.Физлицо КАК Физлицо
| ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ПерерасчетОсновныхНачислений КАК Перерасчет
| ГДЕ
| Перерасчет.ОбъектПерерасчета = &парамРегистратор
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Перерасчет.Физлицо
| ИЗ
| РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций.ПерерасчетДополнительныхНачислений КАК Перерасчет
| ГДЕ
| Перерасчет.ОбъектПерерасчета = &парамРегистратор) КАК Перерасчет
|ИНДЕКСИРОВАТЬ ПО
| Физлицо";*/
/*// ДанныеОСреднемЗаработке
*/
/*// Таблица данных о среднем заработке
*/
/*//
*/
/*// Поля:
*/
/*// СреднийЗаработок - суммируем
*/
/*// ОтработаноДней - для расчета среднего
*/
/*// ОтработаноЧасов - для расчета среднего
*/
/*// Сотрудник,
*/
/*// СпособРасчета, - это для идентификации записи в основном регистре расчета
*/
/*// ДатаНачалаРасчетногоПериода, - это для идентификации записи в основном регистре расчета
*/
/*// ДатаОкончанияРасчетногоПериода - это для идентификации записи в основном регистре расчета
*/
/*//
*/
/*// Описание:
*/
/*//
*/
/*// выбираем из РегистрРасчета.РасчетСреднегоЗаработка
*/
/*// по регистратору
*/
/*ДанныеОСреднемЗаработкеТекст =
"ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&СоставляющиеСреднегоЗаработкаПособий)
| ТОГДА 0
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработок)
| ТОГДА РасчетСреднегоЗаработка.Результат * ВЫБОР
| КОГДА РасчетСреднегоЗаработка.КоэффициентИндексации < 1
| ТОГДА 1
| ИНАЧЕ РасчетСреднегоЗаработка.КоэффициентИндексации
| КОНЕЦ
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработокНеиндексируемый)
| ТОГДА РасчетСреднегоЗаработка.Результат
| КОГДА РасчетСреднегоЗаработка.ЧислоМесяцев = 0
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПоПремиям)
| ТОГДА РасчетСреднегоЗаработка.Результат * ВЫБОР
| КОГДА РасчетСреднегоЗаработка.КоэффициентИндексации < 1
| ТОГДА 1
| ИНАЧЕ РасчетСреднегоЗаработка.КоэффициентИндексации
| КОНЕЦ
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПоФиксПремиям)
| ТОГДА РасчетСреднегоЗаработка.Результат * ВЫБОР
| КОГДА РасчетСреднегоЗаработка.КоэффициентИндексации < 1
| ТОГДА 1
| ИНАЧЕ РасчетСреднегоЗаработка.КоэффициентИндексации
| КОНЕЦ * ВЫБОР
| КОГДА РасчетСреднегоЗаработка.НормаПоПятидневке = 0
| ТОГДА 0
| ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноПоПятидневке / РасчетСреднегоЗаработка.НормаПоПятидневке
| КОНЕЦ
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПоФиксПремиямНеИндексируемые)
| ТОГДА РасчетСреднегоЗаработка.Результат * ВЫБОР
| КОГДА РасчетСреднегоЗаработка.НормаПоПятидневке = 0
| ТОГДА 0
| ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноПоПятидневке / РасчетСреднегоЗаработка.НормаПоПятидневке
| КОНЕЦ
| ИНАЧЕ РасчетСреднегоЗаработка.Результат
| КОНЕЦ * ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ЧислоМесяцев > РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка
| ТОГДА РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка / РасчетСреднегоЗаработка.ЧислоМесяцев
| ИНАЧЕ 1
| КОНЕЦ
| КОНЕЦ) КАК СреднийЗаработок,
| СУММА(ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&СоставляющиеСреднегоЗаработкаПособий)
| ТОГДА РасчетСреднегоЗаработка.Результат
| ИНАЧЕ 0
| КОНЕЦ) КАК СреднийЗаработокПособий,
| СУММА(ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуПособийС2010), ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоПремиямПособийС2010))
| ТОГДА РасчетСреднегоЗаработка.Результат
| ИНАЧЕ 0
| КОНЕЦ) КАК СреднийЗаработокПособий2010,
| СУММА(ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработок)
| ИЛИ РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработокНеиндексируемый)
| ТОГДА ВЫБОР
| КОГДА РасчетСреднегоЗаработка.СпособРасчета В (&ПоСреднемуЗаработкуФСС)
| ТОГДА ВЫБОР
| КОГДА РасчетСреднегоЗаработка.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
| ТОГДА 0
| ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноДней
| КОНЕЦ
| ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноДней
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ) КАК ОтработаноДней,
| СУММА(ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработокПособий)
| ТОГДА ВЫБОР
| КОГДА РасчетСреднегоЗаработка.СпособРасчета В (&ПоСреднемуЗаработкуФСС)
| ТОГДА ВЫБОР
| КОГДА РасчетСреднегоЗаработка.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
| ТОГДА 0
| ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноДней
| КОНЕЦ
| ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноДней
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ) КАК ОтработаноДнейПособий,
| СУММА(ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуПособийС2010)
| ТОГДА ВЫБОР
| КОГДА РасчетСреднегоЗаработка.СпособРасчета В (&ПоСреднемуЗаработкуФСС)
| ТОГДА ВЫБОР
| КОГДА РасчетСреднегоЗаработка.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
| ТОГДА 0
| ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноДней
| КОНЕЦ
| ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноДней
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ) КАК ОтработаноДнейПособий2010,
| СУММА(ВЫБОР
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработок)
| ИЛИ РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработокНеиндексируемый)
| ТОГДА ВЫБОР
| КОГДА РасчетСреднегоЗаработка.СпособРасчета В (&ПоСреднемуЗаработкуФСС)
| ТОГДА ВЫБОР
| КОГДА РасчетСреднегоЗаработка.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
| ТОГДА 0
| ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноЧасов
| КОНЕЦ
| ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноЧасов
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ) КАК ОтработаноЧасов,
| ВЫБОР
| КОГДА РасчетСреднегоЗаработка.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
| И РасчетСреднегоЗаработка.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуФСС), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ДоплатаДоСреднегоЗаработкаФСС), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПособиеПоУходуЗаРебенкомДо1_5Лет))
| ТОГДА ЕСТЬNULL(РасчетСреднегоЗаработка.Регистратор.Сотрудник, РасчетСреднегоЗаработка.Сотрудник)
| ИНАЧЕ РасчетСреднегоЗаработка.Сотрудник
| КОНЕЦ КАК Сотрудник,
| РасчетСреднегоЗаработка.СпособРасчета КАК СпособРасчета,
| РасчетСреднегоЗаработка.ДатаНачалаСобытия КАК ДатаНачалаСобытия,
| РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода КАК ДатаНачалаРасчетногоПериода,
| РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода КАК ДатаОкончанияРасчетногоПериода
|ПОМЕСТИТЬ ВТДанныеОСреднемЗаработке
|ИЗ
| РегистрРасчета.РасчетСреднегоЗаработка КАК РасчетСреднегоЗаработка
|ГДЕ
| РасчетСреднегоЗаработка.Регистратор = &парамРегистратор
|
|СГРУППИРОВАТЬ ПО
| ВЫБОР
| КОГДА РасчетСреднегоЗаработка.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
| И РасчетСреднегоЗаработка.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуФСС), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ДоплатаДоСреднегоЗаработкаФСС), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПособиеПоУходуЗаРебенкомДо1_5Лет))
| ТОГДА ЕСТЬNULL(РасчетСреднегоЗаработка.Регистратор.Сотрудник, РасчетСреднегоЗаработка.Сотрудник)
| ИНАЧЕ РасчетСреднегоЗаработка.Сотрудник
| КОНЕЦ,
| РасчетСреднегоЗаработка.СпособРасчета,
| РасчетСреднегоЗаработка.ДатаНачалаСобытия,
| РасчетСреднегоЗаработка.ДатаНачалаРасчетногоПериода,
| РасчетСреднегоЗаработка.ДатаОкончанияРасчетногоПериода
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| СпособРасчета,
| ДатаНачалаСобытия,
| ДатаНачалаРасчетногоПериода,
| ДатаОкончанияРасчетногоПериода";*/
/*// РазмерПособияПоУходуЗаРебенкомДо1_5Лет
*/
/*// Поля:
*/
/*// НомерСтроки - номер строки рассчитываемых движений
*/
/*// РазмерПособия - размер пособия
*/
/*// Описание:
*/
/*// получает размер пособия по уходу за ребенком до 1.5 лет для каждой строки начислений
*/
/*//
*/
/*РазмерПособияПоУходуЗаРебенкомДо1_5ЛетТекст =
"ВЫБРАТЬ
| ДатыАктуальностиРазмераПособия.НомерСтроки КАК ОсновнойНомерСтроки,
| ГосударственныеПособия.Размер КАК РазмерПособия,
| ДатыАктуальностиРазмераПособия.ВидПособия КАК ВидПособия
|ПОМЕСТИТЬ ВТРазмерПособияПоУходуЗаРебенкомДо1_5Лет
|ИЗ
| (ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| МАКСИМУМ(ГосударственныеПособия.Период) КАК ДатаАктуальности,
| ГосударственныеПособия.ВидПособия КАК ВидПособия
| ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГосударственныеПособия КАК ГосударственныеПособия
| ПО ГосударственныеПособия.Период <= Основной.ПериодДействияНачало
| И (ГосударственныеПособия.ВидПособия В (&ВидПособияПоУходуЗаРебенкомДо1_5Лет))
| ГДЕ
| Основной.Регистратор = &парамРегистратор
| И Основной.Авторасчет
| И Основной.ВидРасчета.СпособРасчета = &СпособРасчетаПособиеПоУходуЗаРебенкомДо1_5Лет
|
| СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки,
| ГосударственныеПособия.ВидПособия) КАК ДатыАктуальностиРазмераПособия
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГосударственныеПособия КАК ГосударственныеПособия
| ПО ГосударственныеПособия.Период = ДатыАктуальностиРазмераПособия.ДатаАктуальности
| И ДатыАктуальностиРазмераПособия.ВидПособия = ГосударственныеПособия.ВидПособия
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновнойНомерСтроки,
| ВидПособия";*/
/*// РазмерПособияПоУходуЗаРебенкомДо3Лет
*/
/*// Поля:
*/
/*// ОсновнойНомерСтроки - номер строки рассчитываемых движений
*/
/*// РазмерПособия - размер пособия
*/
/*// Описание:
*/
/*// получает размер пособия по уходу за ребенком до 3 лет для каждой строки начислений
*/
/*//
*/
/*РазмерПособияПоУходуЗаРебенкомДо3ЛетТекст =
"ВЫБРАТЬ
| ДатыАктуальностиРазмераПособия.НомерСтроки КАК ОсновнойНомерСтроки,
| ГосударственныеПособия.Размер КАК РазмерПособия
|ПОМЕСТИТЬ ВТРазмерПособияПоУходуЗаРебенкомДо3Лет
|ИЗ
| (ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| МАКСИМУМ(ГосударственныеПособия.Период) КАК ДатаАктуальности
| ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГосударственныеПособия КАК ГосударственныеПособия
| ПО (ГосударственныеПособия.ВидПособия = &ВидПособияПоУходуЗаРебенкомДо3Лет)
| И ГосударственныеПособия.Период <= Основной.ПериодДействияНачало
| ГДЕ
| Основной.Регистратор = &парамРегистратор
| И Основной.Авторасчет
| И Основной.ВидРасчета.СпособРасчета = &СпособРасчетаПособиеПоУходуЗаРебенкомДо3Лет
|
| СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки) КАК ДатыАктуальностиРазмераПособия
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГосударственныеПособия КАК ГосударственныеПособия
| ПО (ГосударственныеПособия.ВидПособия = &ВидПособияПоУходуЗаРебенкомДо3Лет)
| И ГосударственныеПособия.Период = ДатыАктуальностиРазмераПособия.ДатаАктуальности
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновнойНомерСтроки";*/
/*// СдельныйЗаработокКомпанииТекст
*/
/*// Поля:
*/
/*// ОсновнойНомерСтроки - номер строки рассчитываемых движений
*/
/*// РазмерЗаработка - размер сдельного заработка
*/
/*// Описание:
*/
/*// получает размер сдельного заработка для начислений со способом расчета "Сдельный заработок"
*/
/*//
*/
/*СдельныйЗаработокКомпанииТекст =
"ВЫБРАТЬ
| НесгруппированныеДанные.ОсновнойНомерСтроки КАК ОсновнойНомерСтроки,
| СУММА(НесгруппированныеДанные.СуммаЗаработка) КАК СуммаЗаработка,
| МАКСИМУМ(НесгруппированныеДанные.ОшибкаВводаФактическойВыработки) КАК ОшибкаВводаФактическойВыработки
|ПОМЕСТИТЬ ВТСдельныйЗаработокКомпании
|ИЗ
| (ВЫБРАТЬ
| Начисления.НомерСтроки КАК ОсновнойНомерСтроки,
| ФактическаяВыработка.Выработка КАК СуммаЗаработка,
| ЛОЖЬ КАК ОшибкаВводаФактическойВыработки
| ИЗ
| РегистрРасчета.УправленческиеНачисления.ФактическийПериодДействия(
| Регистратор = &парамРегистратор
| И Авторасчет) КАК Начисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ФактическаяВыработкаРаботников КАК ФактическаяВыработка
| ПО Начисления.ФизЛицо = ФактическаяВыработка.Физлицо
| И (ФактическаяВыработка.Период МЕЖДУ Начисления.ПериодДействияНачало И Начисления.ПериодДействияКонец)
| И (ФактическаяВыработка.СпособВводаДанных В (ЗНАЧЕНИЕ(Перечисление.СпособыВводаДанныхОВремени.ПоДням), ЗНАЧЕНИЕ(Перечисление.СпособыВводаДанныхОВремени.ЗаДень)))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Начисления.НомерСтроки,
| ФактическаяВыработка.Выработка,
| ВЫБОР
| КОГДА ПроверкаКоличестваЗаписей.ФизЛицо ЕСТЬ НЕ NULL
| И ФактическаяВыработка.Выработка ЕСТЬ НЕ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЗ
| РегистрРасчета.УправленческиеНачисления КАК Начисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ФактическаяВыработкаРаботников КАК ФактическаяВыработка
| ПО Начисления.ФизЛицо = ФактическаяВыработка.Физлицо
| И (ФактическаяВыработка.Период = Начисления.ПериодДействия)
| И (ФактическаяВыработка.СпособВводаДанных = ЗНАЧЕНИЕ(Перечисление.СпособыВводаДанныхОВремени.ВЦеломЗаПериод))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.УправленческиеНачисления КАК ПроверкаКоличестваЗаписей
| ПО Начисления.ФизЛицо = ПроверкаКоличестваЗаписей.ФизЛицо
| И Начисления.ПериодДействия = ПроверкаКоличестваЗаписей.ПериодДействия
| И (Начисления.ВидРасчета.ЗачетОтработанногоВремени)
| И (ПроверкаКоличестваЗаписей.ВидРасчета.ЗачетОтработанногоВремени)
| И ((НЕ(Начисления.Регистратор = ПроверкаКоличестваЗаписей.Регистратор
| И Начисления.НомерСтроки = ПроверкаКоличестваЗаписей.НомерСтроки)))
| ГДЕ
| Начисления.Регистратор = &парамРегистратор
| И Начисления.Авторасчет) КАК НесгруппированныеДанные
|
|СГРУППИРОВАТЬ ПО
| НесгруппированныеДанные.ОсновнойНомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| ОсновнойНомерСтроки";*/
/*// ВремяПоТабелю
*/
/*// данные по отработанному времени и норме времени по методу "сплошной регистрации" в текущем периоде регистрации
*/
/*// Поля
*/
/*// НомерСтроки
*/
/*// ОтработаноДнейПоТабелю
*/
/*// ОтработаноЧасовПоТабелю
*/
/*// ОтработаноЧасовПоТабелюОтклонение
*/
/*//
*/
/*// Описание
*/
/*// Суммируем отработанное время и норму времени в заданном периоде действия для каждой строки начисления
*/
/*// из регистра РабочееВремяРаботниковОрганизаций
*/
/*ВремяПоТабелюТекст =
"ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| СУММА(ВЫБОР
| КОГДА Основной.ВидРасчета.ВидВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы), ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы))
| ТОГДА ОтработанноеВремя.Часов
| ИНАЧЕ 0
| КОНЕЦ) КАК ОтработаноЧасовПоТабелюОтклонение,
| СУММА(ВЫБОР
| КОГДА ОтработанноеВремя.Регистратор = &парамРегистратор
| И Основной.ВидРасчета.ВидВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ЧасовоеНеотработанное), ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ЧасовоеОтработанноеВПределахНормы))
| ТОГДА ОтработанноеВремя.Часов
| ИНАЧЕ 0
| КОНЕЦ) КАК ВнутрисменныеЧасыОтклонение
|ПОМЕСТИТЬ ВТВремяПоТабелю
|ИЗ
| ВТФактическийПериодДействия КАК Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВнутрисменноеВремяРаботниковОрганизаций КАК ОтработанноеВремя
| ПО Основной.Сотрудник = ОтработанноеВремя.Сотрудник
| И (ОтработанноеВремя.Период МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
|
|СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
/*// ОтработаноПоВидуВремениДляПоказателейТекст
*/
/*// Данные по отработанному времени введенное табелем по указанному в начислении виду учета времени
*/
/*ОтработаноПоВидуВремениДляПоказателейТекст =
"ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| СУММА(РабочееВремяРаботников.Дней) КАК Дней,
| СУММА(РабочееВремяРаботников.Часов) КАК Часов
|ПОМЕСТИТЬ ВТОтработаноПоВидуВремениДляПоказателей
|ИЗ
| ВТФактическийПериодДействия КАК Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремяРаботников
| ПО Основной.Сотрудник = РабочееВремяРаботников.Сотрудник
| И (РабочееВремяРаботников.Период МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
| И (РабочееВремяРаботников.ВидИспользованияРабочегоВремени = Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени)
| И (РабочееВремяРаботников.Регистратор <> &парамРегистратор)
| И (РабочееВремяРаботников.Регистратор ССЫЛКА Документ.ТабельУчетаРабочегоВремениОрганизации)
| И ((НЕ РабочееВремяРаботников.ВЦеломЗаПериод))
|ГДЕ
| Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ПустаяСсылка)
|
|СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
/*// ОтработаноНЕПоВидуВремениДляПоказателейТекст
*/
/*// Данные по отработанному времени введенное табелем НЕ по указанному в начислении виду учета времени
*/
/*ОтработаноНЕПоВидуВремениДляПоказателейТекст =
"ВЫБРАТЬ
| ГруппировкаДней.НомерСтроки КАК НомерСтроки,
| СУММА(ГруппировкаДней.Дней) КАК Дней,
| СУММА(ГруппировкаДней.Часов) КАК Часов
|ПОМЕСТИТЬ ВТОтработаноНЕПоВидуВремениДляПоказателей
|ИЗ
| (ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| РабочееВремяРаботников.Период КАК Период,
| ВЫБОР
| КОГДА ДругоеРабочееВремя.Сотрудник ЕСТЬ NULL
| ТОГДА РабочееВремяРаботников.Дней
| ИНАЧЕ 0
| КОНЕЦ КАК Дней,
| СУММА(ВЫБОР
| КОГДА ДругоеРабочееВремя.Сотрудник ЕСТЬ НЕ NULL
| И (НЕ РабочееВремяРаботников.ВидИспользованияРабочегоВремени.РабочееВремя)
| ИЛИ (НЕ ДругоеРабочееВремя.ВидИспользованияРабочегоВремени В (ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы)))
| И ((НЕ РабочееВремяРаботников.ВидИспользованияРабочегоВремени.РабочееВремя)
| ИЛИ РабочееВремяРаботников.ВидИспользованияРабочегоВремени В (ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы)))
| ТОГДА 0
| ИНАЧЕ РабочееВремяРаботников.Часов
| КОНЕЦ) КАК Часов
| ИЗ
| ВТФактическийПериодДействия КАК Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремяРаботников
| ПО Основной.Сотрудник = РабочееВремяРаботников.Сотрудник
| И (РабочееВремяРаботников.Период МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
| И ((НЕ РабочееВремяРаботников.ВидИспользованияРабочегоВремени = Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени))
| И (РабочееВремяРаботников.Регистратор <> &парамРегистратор)
| И (РабочееВремяРаботников.Регистратор ССЫЛКА Документ.ТабельУчетаРабочегоВремениОрганизации)
| И ((НЕ РабочееВремяРаботников.ВидИспользованияРабочегоВремени В (ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы))))
| И ((НЕ РабочееВремяРаботников.ВЦеломЗаПериод))
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
| РабочееВремяРаботников.Сотрудник КАК Сотрудник,
| РабочееВремяРаботников.Период КАК Период,
| РабочееВремяРаботников.ВидИспользованияРабочегоВремени КАК ВидИспользованияРабочегоВремени
| ИЗ
| РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремяРаботников
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТФактическийПериодДействия КАК Основной
| ПО (РабочееВремяРаботников.Период МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
| И РабочееВремяРаботников.ВидИспользованияРабочегоВремени = Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени
| И ((НЕ РабочееВремяРаботников.ВЦеломЗаПериод))
| И (РабочееВремяРаботников.Регистратор <> &парамРегистратор)
| И (РабочееВремяРаботников.Регистратор ССЫЛКА Документ.ТабельУчетаРабочегоВремениОрганизации)
| ГДЕ
| РабочееВремяРаботников.Регистратор <> &парамРегистратор
| И РабочееВремяРаботников.Регистратор ССЫЛКА Документ.ТабельУчетаРабочегоВремениОрганизации
| И (НЕ РабочееВремяРаботников.ВЦеломЗаПериод)) КАК ДругоеРабочееВремя
| ПО Основной.Сотрудник = ДругоеРабочееВремя.Сотрудник
| И (ДругоеРабочееВремя.Период МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
| И (ДругоеРабочееВремя.ВидИспользованияРабочегоВремени = Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени)
| И (ДругоеРабочееВремя.Период = РабочееВремяРаботников.Период)
| ГДЕ
| Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ПустаяСсылка)
|
| СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки,
| РабочееВремяРаботников.Период,
| ВЫБОР
| КОГДА ДругоеРабочееВремя.Сотрудник ЕСТЬ NULL
| ТОГДА РабочееВремяРаботников.Дней
| ИНАЧЕ 0
| КОНЕЦ) КАК ГруппировкаДней
|
|СГРУППИРОВАТЬ ПО
| ГруппировкаДней.НомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
/*ВремяВведенноеВЦеломЗаПериодТекст =
"ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| СУММА(ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА ОтработанноеВремя.Дней
| ИНАЧЕ ОтработанноеВремя.Часов
| КОНЕЦ) КАК ОсновноеЗначениеПоТабелю,
| СУММА(ОтработанноеВремя.Дней) КАК ДнейПоТабелю,
| СУММА(ОтработанноеВремя.Часов) КАК ЧасовПоТабелю,
| МАКСИМУМ(ВЫБОР
| КОГДА ПроверкаКоличестваЗаписей.Сотрудник ЕСТЬ НЕ NULL
| И ОтработанноеВремя.Дней ЕСТЬ НЕ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ) КАК ОшибкаВводаОтработанногоВремени
|ПОМЕСТИТЬ ВТВремяВведенноеВЦеломЗаПериод
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК ОтработанноеВремя
| ПО Основной.Сотрудник = ОтработанноеВремя.Сотрудник
| И Основной.ПериодДействия = ОтработанноеВремя.Период
| И Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени = ОтработанноеВремя.ВидИспользованияРабочегоВремени
| И (ОтработанноеВремя.ВЦеломЗаПериод)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ПроверкаКоличестваЗаписей
| ПО Основной.Сотрудник = ПроверкаКоличестваЗаписей.Сотрудник
| И Основной.ПериодДействия = ПроверкаКоличестваЗаписей.ПериодДействия
| И Основной.ПериодРегистрации >= ПроверкаКоличестваЗаписей.ПериодРегистрации
| И Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени = ПроверкаКоличестваЗаписей.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени
| И Основной.Организация = ПроверкаКоличестваЗаписей.Организация
| И (Основной.ВидРасчета.ВидВремени <> ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы))
| И (ПроверкаКоличестваЗаписей.ВидРасчета.ВидВремени <> ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы))
| И ((НЕ(Основной.Регистратор = ПроверкаКоличестваЗаписей.Регистратор
| И Основной.НомерСтроки = ПроверкаКоличестваЗаписей.НомерСтроки)))
| И ((НЕ(Основной.ВидРасчета = ПроверкаКоличестваЗаписей.ВидРасчета
| И Основной.ПериодДействияНачало = ПроверкаКоличестваЗаписей.ПериодДействияНачало
| И Основной.ПериодДействияКонец = ПроверкаКоличестваЗаписей.ПериодДействияКонец
| И (Основной.ПериодРегистрации <> ПроверкаКоличестваЗаписей.ПериодРегистрации
| ИЛИ Основной.Сторно <> ПроверкаКоличестваЗаписей.Сторно))))
|ГДЕ
| Основной.Регистратор = &парамРегистратор
| И Основной.Авторасчет
|
|СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
/*ДанныеТабеляТекст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Основной.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ ВТВремяВведеноТабелем
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК ОтработанноеВремя
| ПО Основной.Сотрудник = ОтработанноеВремя.Сотрудник
| И (Основной.ПериодДействия = НАЧАЛОПЕРИОДА(ОтработанноеВремя.Период, МЕСЯЦ))
|ГДЕ
| Основной.Регистратор = &парамРегистратор
| И Основной.Авторасчет
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
/*СводныеИндивидуальныеГрафикиТекст =
"ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА СводныеИндивидуальныеГрафики.Дней
| КОГДА Основной.ВидУчетаВремени = &ПоЧасам
| ТОГДА СводныеИндивидуальныеГрафики.Часов
| КОГДА Основной.ВидУчетаВремени = &ПоВечернимЧасам
| ТОГДА СводныеИндивидуальныеГрафики.ЧасовВечерних
| КОГДА Основной.ВидУчетаВремени = &ПоНочнымЧасам
| ТОГДА СводныеИндивидуальныеГрафики.ЧасовНочных
| ИНАЧЕ 0
| КОНЕЦ КАК НормаВремени,
| ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА СводныеИндивидуальныеГрафики.Дней
| КОГДА Основной.ВидУчетаВремени = &ПоВечернимЧасам
| ТОГДА СводныеИндивидуальныеГрафики.ЧасовВечерних
| КОГДА Основной.ВидУчетаВремени = &ПоНочнымЧасам
| ТОГДА СводныеИндивидуальныеГрафики.ЧасовНочных
| ИНАЧЕ СводныеИндивидуальныеГрафики.Часов
| КОНЕЦ КАК ОсновноеЗначение,
| СводныеИндивидуальныеГрафики.Дней КАК ДнейПоГрафику,
| СводныеИндивидуальныеГрафики.Часов КАК ЧасовПоГрафику,
| СводныеИндивидуальныеГрафики.Дней КАК НормаДнейПоГрафику,
| СводныеИндивидуальныеГрафики.Часов КАК НормаЧасовПоГрафику,
| ВЫБОР
| КОГДА Основной.ВидРасчета.ВидВремени В (&парамСписокПочасовыхОтклонений)
| ТОГДА ЛОЖЬ
| КОГДА (НАЧАЛОПЕРИОДА(Основной.ПериодДействияНачало, ДЕНЬ) > Основной.ПериодДействия
| ИЛИ КОНЕЦПЕРИОДА(Основной.ПериодДействияКонец, ДЕНЬ) < КОНЕЦПЕРИОДА(Основной.ПериодДействия, МЕСЯЦ))
| И СводныеИндивидуальныеГрафики.Дней ЕСТЬ НЕ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ОшибкаВводаИндивидуальногоГрафикаРаботы
|ПОМЕСТИТЬ ВТСводныеИндивидуальныеГрафики
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СводныеИндивидуальныеГрафики КАК СводныеИндивидуальныеГрафики
| ПО Основной.Сотрудник = СводныеИндивидуальныеГрафики.Сотрудник
| И Основной.ПериодДействия = СводныеИндивидуальныеГрафики.Месяц
|ГДЕ
| Основной.Регистратор = &парамРегистратор
| И Основной.Авторасчет
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
/*НормаВремениПоОбщемуГрафикуТекст =
"ВЫБРАТЬ
| СУММА(ГрафикиРаботыПоВидамВремени.ОсновноеЗначениеНорма) КАК НормаДней,
| СУММА(ГрафикиРаботыПоВидамВремени.ДополнительноеЗначениеНорма) КАК НормаЧасов,
| Основной.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ ВТНормаВремениПоОбщемуГрафику
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
| ПО (ВЫБОР
| КОГДА Основной.ГрафикРаботыНорма = ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка)
| ТОГДА Основной.ГрафикРаботы
| ИНАЧЕ Основной.ГрафикРаботыНорма
| КОНЕЦ = ГрафикиРаботыПоВидамВремени.ГрафикРаботы)
| И (ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням))
| И Основной.ПериодДействия = ГрафикиРаботыПоВидамВремени.Месяц
| И (ГрафикиРаботыПоВидамВремени.План)
|ГДЕ
| Основной.Регистратор = &парамРегистратор
| И Основной.Авторасчет
| И (Основной.ГрафикРаботыНорма <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка)
| ИЛИ Основной.ВидУчетаВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоВечернимЧасам), ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоНочнымЧасам)))
|
|СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
/*// СоответствиеТабеляИНачислений
*/
/*// Данное по ошибке, возникающей в случае ввода табеля с отклонениями, на которые не введены документы
*/
/*// Поля
*/
/*// НомерСтроки
*/
/*// ПредупреждениеОНесоответствииТабеляИНачисления
*/
/*//
*/
/*// Описание
*/
/*// Суммируем отработанное время в заданном периоде действия для каждой строки начисления
*/
/*// из регистра РабочееВремяРаботниковОрганизаций
*/
/*СоответствиеТабеляИНачислений =
"ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА Основной.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
| И Основной.ОсновноеЗначениеФактическийПериодДействия = СУММА(РабочееВремяРаботниковОрганизаций.Дней)
| ИЛИ Основной.ВидУчетаВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам), ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоВечернимЧасам), ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоНочнымЧасам))
| И Основной.ОсновноеЗначениеФактическийПериодДействия = СУММА(РабочееВремяРаботниковОрганизаций.Часов)
| ИЛИ СУММА(РабочееВремяРаботниковОрганизаций.Часов) ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| КОГДА Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени <>
| ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ПустаяСсылка)
| И НЕ СУММА(РабочееВремяРаботниковОрганизаций.Дней) ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ПредупреждениеОНесоответствииТабеляИНачисления
|ПОМЕСТИТЬ ВТСоответствиеТабеляИНачислений
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ДанныеГрафика(Регистратор = &парамРегистратор) КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремяРаботниковОрганизаций
| ПО (РабочееВремяРаботниковОрганизаций.Период МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
| И Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени = РабочееВремяРаботниковОрганизаций.ВидИспользованияРабочегоВремени
| И Основной.Сотрудник = РабочееВремяРаботниковОрганизаций.Сотрудник
| И (НАЧАЛОПЕРИОДА(РабочееВремяРаботниковОрганизаций.Период, МЕСЯЦ) = &парамПериодРегистрации)
| И ((НЕ РабочееВремяРаботниковОрганизаций.ВЦеломЗаПериод))
|ГДЕ
| Основной.Авторасчет
| И Основной.Регистратор = &ПарамРегистратор
|
|СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки,
| Основной.ВидУчетаВремени,
| Основной.ОсновноеЗначениеФактическийПериодДействия,
| Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени";*/
/*// Сумма отработанного времени по видам времени:
*/
/*// ОтработанноеВПределахНормы,
*/
/*// ЧасовоеОтработанноеВПределахНормы,
*/
/*// ОтработанноеСверхНормы, необходим для расчета показателей ОтработаноВремениВДнях, ОтработаноВремениВЧасах
*/
/*УпрВсегоОтработаноВремени =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| УправленческиеНачисления.ФизЛицо КАК ФизЛицо,
| УправленческиеНачисления.ПериодДействия КАК ПериодДействия
|ПОМЕСТИТЬ ВТ_ФизлицаПериодыДействия
|ИЗ
| РегистрРасчета.УправленческиеНачисления КАК УправленческиеНачисления
|ГДЕ
| УправленческиеНачисления.Регистратор = &парамРегистратор
| И УправленческиеНачисления.Авторасчет
|
|ИНДЕКСИРОВАТЬ ПО
| ФизЛицо,
| ПериодДействия
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| СУММА(ГрафикиРаботы.ОсновноеЗначение) КАК ВсегоОтработаноДней,
| СУММА(ГрафикиРаботы.ДополнительноеЗначение) КАК ВсегоОтработаноЧасов
|ПОМЕСТИТЬ ВТУпрВсегоОтработаноВремени
|ИЗ
| РегистрРасчета.УправленческиеНачисления.ФактическийПериодДействия(
| Регистратор = &парамРегистратор
| И Авторасчет) КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.УправленческиеНачисления.ФактическийПериодДействия(
| ВидРасчета.ЗачетОтработанногоВремени
| И (ФизЛицо, ПериодДействия) В
| (ВЫБРАТЬ
| УправленческиеНачисления.ФизЛицо,
| УправленческиеНачисления.ПериодДействия
| ИЗ
| ВТ_ФизлицаПериодыДействия КАК УправленческиеНачисления)) КАК Вспомогательный
| ПО Основной.ФизЛицо = Вспомогательный.ФизЛицо
| И Основной.ПериодДействия = Вспомогательный.ПериодДействия
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботы
| ПО (Вспомогательный.ГрафикРаботы = ГрафикиРаботы.ГрафикРаботы)
| И (ГрафикиРаботы.Месяц = Вспомогательный.ПериодДействия)
| И (ГрафикиРаботы.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням))
| И (ГрафикиРаботы.Дата МЕЖДУ Основной.ПериодДействияНачало И Основной.ПериодДействияКонец)
| И (ГрафикиРаботы.Дата МЕЖДУ Вспомогательный.ПериодДействияНачало И Вспомогательный.ПериодДействияКонец)
|
|СГРУППИРОВАТЬ ПО
| Основной.НомерСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
/*УпрСводныеИндивидуальныеГрафикиТекст =
"ВЫБРАТЬ
| Основной.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА СводныеИндивидуальныеГрафики.Дней
| КОГДА Основной.ВидУчетаВремени = &ПоЧасам
| ТОГДА СводныеИндивидуальныеГрафики.Часов
| КОГДА Основной.ВидУчетаВремени = &ПоВечернимЧасам
| ТОГДА СводныеИндивидуальныеГрафики.ЧасовВечерних
| КОГДА Основной.ВидУчетаВремени = &ПоНочнымЧасам
| ТОГДА СводныеИндивидуальныеГрафики.ЧасовНочных
| ИНАЧЕ 0
| КОНЕЦ КАК НормаВремени,
| ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА СводныеИндивидуальныеГрафики.Дней
| КОГДА Основной.ВидУчетаВремени = &ПоВечернимЧасам
| ТОГДА СводныеИндивидуальныеГрафики.ЧасовВечерних
| КОГДА Основной.ВидУчетаВремени = &ПоНочнымЧасам
| ТОГДА СводныеИндивидуальныеГрафики.ЧасовНочных
| ИНАЧЕ СводныеИндивидуальныеГрафики.Часов
| КОНЕЦ КАК ОсновноеЗначение,
| СводныеИндивидуальныеГрафики.Дней КАК ДнейПоГрафику,
| СводныеИндивидуальныеГрафики.Часов КАК ЧасовПоГрафику,
| СводныеИндивидуальныеГрафики.Дней КАК НормаДнейПоГрафику,
| СводныеИндивидуальныеГрафики.Часов КАК НормаЧасовПоГрафику,
| ВЫБОР
| КОГДА (НАЧАЛОПЕРИОДА(Основной.ПериодДействияНачало, ДЕНЬ) > Основной.ПериодДействия
| ИЛИ КОНЕЦПЕРИОДА(Основной.ПериодДействияКонец, ДЕНЬ) < КОНЕЦПЕРИОДА(Основной.ПериодДействия, МЕСЯЦ))
| И СводныеИндивидуальныеГрафики.Дней ЕСТЬ НЕ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ОшибкаВводаИндивидуальногоГрафикаРаботы
|ПОМЕСТИТЬ ВТУпрСводныеИндивидуальныеГрафики
|ИЗ
| РегистрРасчета.УправленческиеНачисления КАК Основной
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СводныеИндивидуальныеГрафики КАК СводныеИндивидуальныеГрафики
| ПО Основной.ФизЛицо = СводныеИндивидуальныеГрафики.Сотрудник.ФизЛицо
| И (СводныеИндивидуальныеГрафики.Месяц = Основной.ПериодДействия)
|ГДЕ
| Основной.Регистратор = &парамРегистратор
| И Основной.Авторасчет
|ИНДЕКСИРОВАТЬ ПО
| НомерСтроки";*/
/*// Конец определения текстов вложенных запросов
*/
/*/////////////////////////////////////////////////////////////////////
*/
//Запрос = Новый Запрос();
//НеобходимаБаза = НеобходимыеДанные.База;
//НеобходимГрафик = НеобходимыеДанные.НормаВремени ИЛИ НеобходимыеДанные.ОтработаноВремени ИЛИ НеобходимыеДанные.НормаВремениЗаМесяц;
//МенеджерВТ = Новый МенеджерВременныхТаблиц;
//Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
/*// параметры запросов
*/
//Запрос.УстановитьПараметр("парамРегистратор", Регистратор);
//Запрос.УстановитьПараметр("парамОрганизация", Организация);
//Запрос.УстановитьПараметр("парамПериодРегистрации", ПериодРегистрации);
/*// категория начисления (удержания)
*/
//Запрос.УстановитьПараметр("парамКатегорияНачисления", КатегорияРасчета);
//Условие = "ВидРасчета.КатегорияРасчета = &парамКатегорияНачисления И Регистратор = &парамРегистратор И Авторасчет";
//ВнешнееУсловие = "Основной.ВидРасчета.КатегорияРасчета = &парамКатегорияНачисления И Основной.Регистратор = &парамРегистратор";
if(true/*Перерасчет*/)
{
if(true/*Физлица = Неопределено*/)
{
//Запрос.Текст = ФизлицаДляПерерасчетаТекст;
//Запрос.Выполнить();
//ФизлицаДляПерерасчетаТекст = "ВТФизлицаДляПерерасчета";
//УсловиеНаФизлицоТекст = "Физлицо В (ВЫБРАТЬ Физлицо ИЗ ВТФизлицаДляПерерасчета)";
//Условие = Условие + " И " + УсловиеНаФизлицоТекст + " И Авторасчет";
/*// в данном случае внешнее условие не дополняется - выполняется внутреннее
*/
/*// соединение с таблицей СотрудникиДляПерерасчета
*/
}
}
/*// для формирования ИТОГИ при комментировании расчета
*/
//ПоляЗапроса = Новый Массив;
//ПроцентныеПоказатели = Новый Массив;
//ПроцентныеПоказатели.Добавить(Перечисления.ТипыПоказателейСхемМотивации.ОценочнаяШкалаПроцентная);
//ПроцентныеПоказатели.Добавить(Перечисления.ТипыПоказателейСхемМотивации.Процентный);
//Запрос.УстановитьПараметр("ПроцентныеПоказатели", ПроцентныеПоказатели);
//ШкальныеПоказатели = Новый Массив;
//ШкальныеПоказатели.Добавить(Перечисления.ТипыПоказателейСхемМотивации.ОценочнаяШкалаПроцентная);
//ШкальныеПоказатели.Добавить(Перечисления.ТипыПоказателейСхемМотивации.ОценочнаяШкалаЧисловая);
//Запрос.УстановитьПараметр("ШкальныеПоказатели", ШкальныеПоказатели);
if(true/*НеобходимыеДанные.ПоказателиСхемМотивации*/)
{
if(true/*ИмяРегистра = "ОсновныеНачисленияРаботниковОрганизаций"*/)
{
//ИмяПВР = "ОсновныеНачисленияОрганизаций";
}
/*// Получим максимальное число показателей
*/
//КоличествоПоказателей = ПроведениеРасчетов.ПолучитьДанныеОПроизвольныхФормулахВЗапросе(Запрос,ИмяРегистра,ВнешнееУсловие,ИмяПВР);
//Показатель1Текст = ПолучитьТекстПоказателя(НеобходимыеДанные,ИмяРегистра,,КомментироватьРасчет);
if(true/*КоличествоПоказателей > 6*/)
{
/*// получим текст запроса для предопределенных показателей
*/
//Показатель1ТекстПредопределенный = ПолучитьТекстПоказателя(НеобходимыеДанные,ИмяРегистра, Истина,КомментироватьРасчет);
}
}
/*// установка параметров связанных с виртуальными таблицами регистов расчета
*/
if(true/*ИмяРегистра = "ДополнительныеНачисленияРаботниковОрганизаций" или
ИмяРегистра = "ОсновныеНачисленияРаботниковОрганизаций"*/)
{
/*// измерения сопоставления
*/
//Измерения = Новый Массив(1);
//Измерения[0] = "Сотрудник";
/*// для начислений сопоставляемые измерения основного и базового регистов совпадают
*/
//Запрос.УстановитьПараметр("парамИзмеренияОсновного", Измерения);
//Запрос.УстановитьПараметр("парамИзмеренияБазового", Измерения);
/*// список способов расчета, являющихся почасовыми отклонениями
*/
//Запрос.УстановитьПараметр("парамСписокПочасовыхОтклонений", ПроведениеРасчетов.ПолучитьСписокНачисленийПочасовыхОтклонений());
}
//МассивСтажей = НеобходимыеДанные["ПроизвольныеСтажи"];
if(true/*ИмяРегистра = "ОсновныеНачисленияРаботниковОрганизаций"*/)
{
/*ТекстЗапроса =
"ВЫБРАТЬ
|Основной.Регистратор Как Регистратор,
|Основной.НомерСтроки Как НомерСтроки,
|Основной.ВидРасчета Как ВидРасчета,
|Основной.ВидРасчета.Наименование Как ВидРасчетаНаименование,
|Основной.ВидРасчета.ПериодДействияБазовый Как ВидРасчетаПериодДействияБазовый,
|Основной.ВидРасчета.БазовыйПериодПрошлыйМесяц Как БазовыйПериодПрошлыйМесяц,
|Основной.Сотрудник Как Сотрудник,
|Основной.Сотрудник.Наименование Как СотрудникНаименование,
|Основной.Сотрудник.Физлицо Как Физлицо,
|Основной.ПериодДействияНачало Как ПериодДействияНачало,
|Основной.ПериодДействияКонец Как ПериодДействияКонец,
|Основной.ВидРасчета.ЗачетОтработанногоВремени Как ЗачетОтработанногоВремени,
|Основной.ВидРасчета.ЗачетНормыВремени Как ЗачетНормыВремени,
|Основной.ВидРасчета.ВидПособияСоциальногоСтрахования Как ВидПособияСоциальногоСтрахования,
|Ложь Как ЯвляетсяДСВ,
|Основной.ВидУчетаВремени Как ВидУчетаВремени,
|Основной.ВидРасчета.СпособРасчета Как СпособРасчета,
|Основной.ВариантАлгоритмаРасчета Как ВариантАлгоритмаРасчета,
|ВЫБОР КОГДА Основной.ВидРасчета.ВидВремени В(&парамСписокПочасовыхОтклонений) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ВидРасчетаЯвляетсяПочасовымОтклонением,
|ЕСТЬNULL(Основной.ВидРасчета.КодДоходаНДФЛ.УчитыватьПоПериодуДействия,Ложь) Как УчитыватьДоходПоПериодуДействия,
|Основной.ВидРасчета.КодДоходаНДФЛ Как КодДоходаНДФЛ";*/
if(true/*КомментироватьРасчет*/)
{
//ПоляЗапроса.Добавить("Сотрудник");
//ПоляЗапроса.Добавить("СотрудникНаименование");
//ПоляЗапроса.Добавить("ПериодДействияНачало");
//ПоляЗапроса.Добавить("ПериодДействияКонец");
//ПоляЗапроса.Добавить("ЗачетОтработанногоВремени");
//ПоляЗапроса.Добавить("ЗачетНормыВремени");
//ПоляЗапроса.Добавить("ВидУчетаВремени");
//ПоляЗапроса.Добавить("СпособРасчета");
//ПоляЗапроса.Добавить("ВариантАлгоритмаРасчета");
//ПоляЗапроса.Добавить("ВидРасчетаЯвляетсяПочасовымОтклонением");
//ПоляЗапроса.Добавить("УчитыватьДоходПоПериодуДействия");
//ПоляЗапроса.Добавить("КодДоходаНДФЛ");
//ПоляЗапроса.Добавить("ВидРасчета");
//ПоляЗапроса.Добавить("ВидРасчетаНаименование");
//ПоляЗапроса.Добавить("ВидРасчетаПериодДействияБазовый");
//ПоляЗапроса.Добавить("БазовыйПериодПрошлыйМесяц");
//ПоляЗапроса.Добавить("ЯвляетсяДСВ");
}
if(true/*НеобходимыеДанные.ПоказателиСхемМотивации*/)
{
//ПроведениеРасчетов.ДобавитьПоказатели(НеобходимыеДанные, КоличествоПоказателей, ТекстЗапроса, КомментироватьРасчет, ПоляЗапроса, Показатель1Текст, Показатель1ТекстПредопределенный);
}
if(true/*НеобходимаБаза*/)
{
if(true/*КомментироватьРасчет*/)
{
/*ТекстЗапроса = ТекстЗапроса + ",
|База.РезультатБаза Как РезультатБаза,
|База.ВидРасчетаРазрез КАК ВидРасчетаРазрез,
|База.ВидРасчетаРазрез.Наименование КАК ВидРасчетаРазрезНаименование";*/
//ПоляЗапроса.Добавить("РезультатБаза");
//ПоляЗапроса.Добавить("ВидРасчетаРазрез");
//ПоляЗапроса.Добавить("ВидРасчетаРазрезНаименование");
}
}
if(true/*НеобходимГрафик*/)
{
/*ТекстЗапроса = ТекстЗапроса + ",
| ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ) КАК ОшибкаВводаИндивидуальногоГрафикаРаботы,
| ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ) КАК ОшибкаВводаОтработанногоВремени,
| ЕСТЬNULL(СоответствиеТабеляИНачислений.ПредупреждениеОНесоответствииТабеляИНачисления, ЛОЖЬ) КАК ПредупреждениеНесоответствияТабеляИНачисления,
| Основной.ГрафикРаботы.Наименование КАК ГрафикРаботыНаименование";*/
if(true/*КомментироватьРасчет*/)
{
//ПоляЗапроса.Добавить("ГрафикРаботыНаименование");
//ПоляЗапроса.Добавить("ОшибкаВводаИндивидуальногоГрафикаРаботы");
//ПоляЗапроса.Добавить("ОшибкаВводаОтработанногоВремени");
//ПоляЗапроса.Добавить("ПредупреждениеНесоответствияТабеляИНачисления");
}
}
if(true/*НеобходимыеДанные.НормаВремениЗаМесяц*/)
{
/*ТекстЗапроса = ТекстЗапроса + ",
| ЕСТЬNULL(
| ВЫБОР
| КОГДА НормаВремениПоОбщемуГрафику.НомерСтроки ЕСТЬ NULL
| ТОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.НормаВремени,ДанныеГрафика.ОсновноеЗначениеНормаПериодДействия)
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА НормаВремениПоОбщемуГрафику.НормаДней
| ИНАЧЕ НормаВремениПоОбщемуГрафику.НормаЧасов
| КОНЕЦ, 0) КАК НормаВремениЗаМесяц";*/
if(true/*КомментироватьРасчет*/)
{
//ПоляЗапроса.Добавить("НормаВремениЗаМесяц");
}
}
if(true/*НеобходимыеДанные.НормаВремени*/)
{
/*ТекстЗапроса = ТекстЗапроса + ",
| ВЫБОР
| КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ)
| ТОГДА NULL
| ИНАЧЕ ЕСТЬNULL(СводныеИндивидуальныеГрафики.НормаЧасовПоГрафику, ЕСТЬNULL(ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА ДанныеГрафика.ДополнительноеЗначениеНормаФактическийПериодДействия
| ИНАЧЕ ДанныеГрафика.ОсновноеЗначениеНормаФактическийПериодДействия
| КОНЕЦ, 0))
| КОНЕЦ КАК НормаОплачиваемыхЧасов,
| ВЫБОР
| КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ)
| ТОГДА NULL
| ИНАЧЕ ЕСТЬNULL(СводныеИндивидуальныеГрафики.НормаДнейПоГрафику, ЕСТЬNULL(ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА ДанныеГрафика.ОсновноеЗначениеНормаФактическийПериодДействия
| ИНАЧЕ ДанныеГрафика.ДополнительноеЗначениеНормаФактическийПериодДействия
| КОНЕЦ, 0))
| КОНЕЦ КАК НормаОплачиваемыхДней,
| ЕСТЬNULL(ДанныеГрафика.ПроизводственныйКалендарьПятидневкаЧасыФактическийПериодДействия,0) КАК ПроизводственныйКалендарьПятидневкаЧасыФактическийПериодДействия,
| ЕСТЬNULL(ДанныеГрафика.ПроизводственныйКалендарьПятидневкаФактическийПериодДействия,0) КАК ПроизводственныйКалендарьПятидневкаФактическийПериодДействия";*/
if(true/*КомментироватьРасчет*/)
{
//ПоляЗапроса.Добавить("НормаОплачиваемыхЧасов");
//ПоляЗапроса.Добавить("НормаОплачиваемыхДней");
//ПоляЗапроса.Добавить("ПроизводственныйКалендарьПятидневкаЧасыФактическийПериодДействия");
//ПоляЗапроса.Добавить("ПроизводственныйКалендарьПятидневкаФактическийПериодДействия");
}
}
if(true/*НеобходимыеДанные.ОтработаноВремени*/)
{
/*ТекстЗапроса = ТекстЗапроса + ",
| ВЫБОР
| КОГДА ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ)
| ТОГДА NULL
| КОГДА ВремяВведенноеВЦеломЗаПериод.ОсновноеЗначениеПоТабелю ЕСТЬ НЕ NULL
| ТОГДА 1
| КОГДА НЕ (Основной.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы)
| ТОГДА 4
| КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ)
| ТОГДА NULL
| КОГДА СводныеИндивидуальныеГрафики.ОсновноеЗначение ЕСТЬ НЕ NULL
| ТОГДА 2
| ИНАЧЕ 3
| КОНЕЦ КАК СпособВводаВремени,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ)
| ТОГДА NULL
| КОГДА НЕ ВремяВведенноеВЦеломЗаПериод.ОсновноеЗначениеПоТабелю ЕСТЬ NULL
| ТОГДА ВремяВведенноеВЦеломЗаПериод.ОсновноеЗначениеПоТабелю
| КОГДА Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени <>
| ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ПустаяСсылка)
| И НЕ ОтработаноПоВидуВремениНачисления.Дней ЕСТЬ NULL
| ТОГДА
| ВЫБОР КОГДА Основной.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы)
| ТОГДА
| ВЫБОР КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА ЕСТЬNULL(ОтработаноПоВидуВремениНачисления.Дней, 0)
| ИНАЧЕ ЕСТЬNULL(ОтработаноПоВидуВремениНачисления.Часов, 0)
| КОНЕЦ
| ИНАЧЕ
| ЕСТЬNULL(ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия, 0) -
| ВЫБОР КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА ЕСТЬNULL(ОтработаноНЕПоВидуВремениНачисления.Дней, 0)
| ИНАЧЕ ЕСТЬNULL(ОтработаноНЕПоВидуВремениНачисления.Часов, 0)
| КОНЕЦ
| КОНЕЦ
| КОГДА НЕ (Основной.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы)
| ТОГДА ЕСТЬNULL(ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия, 0)
| КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ)
| ТОГДА NULL
| ИНАЧЕ ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОсновноеЗначение, ЕСТЬNULL(ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия, 0))
| КОНЕЦ КАК ОтработаноВремени,
| ВЫБОР
| КОГДА Основной.ВидРасчета.ВидВремени В (Значение(Перечисление.ВидыВремени.ЧасовоеНеотработанное), Значение(Перечисление.ВидыВремени.ЧасовоеОтработанноеВПределахНормы))
| ТОГДА 0
| КОГДА ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ)
| ТОГДА 0
| КОГДА НЕ ВремяВведенноеВЦеломЗаПериод.ДнейПоТабелю ЕСТЬ NULL
| ТОГДА ВремяВведенноеВЦеломЗаПериод.ДнейПоТабелю
| КОГДА Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени.РабочееВремя
| И НЕ ОтработаноПоВидуВремениНачисления.Дней ЕСТЬ NULL
| ТОГДА ВЫБОР КОГДА Основной.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы)
| ТОГДА ЕСТЬNULL(ОтработаноПоВидуВремениНачисления.Дней, 0)
| ИНАЧЕ ЕСТЬNULL(ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия
| ИНАЧЕ ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия
| КОНЕЦ, 0) - ЕСТЬNULL(ОтработаноНЕПоВидуВремениНачисления.Дней, 0)
| КОНЕЦ
| КОГДА НЕ (Основной.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы)
| ТОГДА ЕСТЬNULL(ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия
| ИНАЧЕ ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия
| КОНЕЦ, 0)
| КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ)
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(СводныеИндивидуальныеГрафики.ДнейПоГрафику, ЕСТЬNULL(ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия
| ИНАЧЕ ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия
| КОНЕЦ, 0))
| КОНЕЦ КАК ОтработаноДней,
| ВЫБОР
| КОГДА Основной.ВидРасчета.ВидВремени В (Значение(Перечисление.ВидыВремени.ЧасовоеНеотработанное), Значение(Перечисление.ВидыВремени.ЧасовоеОтработанноеВПределахНормы))
| ТОГДА ЕСТЬNULL(ВремяПоТабелю.ВнутрисменныеЧасыОтклонение, 0)
| КОГДА ЕСТЬNULL(ВремяВведенноеВЦеломЗаПериод.ОшибкаВводаОтработанногоВремени, ЛОЖЬ)
| ТОГДА 0
| КОГДА НЕ ВремяВведенноеВЦеломЗаПериод.ЧасовПоТабелю ЕСТЬ NULL
| ТОГДА ВремяВведенноеВЦеломЗаПериод.ЧасовПоТабелю
| КОГДА Основной.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени.РабочееВремя
| И ОтработаноПоВидуВремениНачисления.Часов ЕСТЬ НЕ NULL
| ТОГДА ВЫБОР КОГДА Основной.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ДополнительноОплачиваемоеВПределахНормы)
| ТОГДА ОтработаноПоВидуВремениНачисления.Часов
| ИНАЧЕ ЕСТЬNULL(ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия
| ИНАЧЕ ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия
| КОНЕЦ, 0) - ЕСТЬNULL(ОтработаноНЕПоВидуВремениНачисления.Часов, 0)
| КОНЕЦ
| КОГДА НЕ (Основной.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы)
| ТОГДА ЕСТЬNULL(ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия
| ИНАЧЕ ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия
| КОНЕЦ, 0) - ВЫБОР
| КОГДА ВремяВведеноТабелем.НомерСтроки ЕСТЬ НЕ NULL
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(ВремяПоТабелю.ОтработаноЧасовПоТабелюОтклонение,0)
| КОНЕЦ
| КОГДА ЕСТЬNULL(СводныеИндивидуальныеГрафики.ОшибкаВводаИндивидуальногоГрафикаРаботы, ЛОЖЬ)
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(СводныеИндивидуальныеГрафики.ЧасовПоГрафику, ЕСТЬNULL(ВЫБОР
| КОГДА Основной.ВидУчетаВремени = &ПоДням
| ТОГДА ДанныеГрафика.ДополнительноеЗначениеФактическийПериодДействия
| ИНАЧЕ ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия
| КОНЕЦ, 0)) - ЕСТЬNULL(ВремяПоТабелю.ОтработаноЧасовПоТабелюОтклонение,0)
| КОНЕЦ КАК ОтработаноЧасов,
| ВЫБОР
| КОГДА ВремяВведеноТабелем.НомерСтроки ЕСТЬ НЕ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ВремяВведеноТабелем,
| ЕСТЬNULL(ДанныеГрафика.ПроизводственныйКалендарьПятидневкаЧасыФактическийПериодДействия,0) КАК ОтработаноЧасовПроизводственныйГрафик,
| ЕСТЬNULL(ДанныеГрафика.ПроизводственныйКалендарьПятидневкаФактическийПериодДействия, 0) КАК ОтработаноВремениПроизводственныйГрафик,
| ЕСТЬNULL(ВремяПоТабелю.ОтработаноЧасовПоТабелюОтклонение,0) КАК ОтработаноЧасовПоТабелюОтклонение";*/
if(true/*КомментироватьРасчет*/)
{
//ПоляЗапроса.Добавить("ОтработаноВремени");
//ПоляЗапроса.Добавить("ОтработаноДней");
//ПоляЗапроса.Добавить("ОтработаноЧасов");
//ПоляЗапроса.Добавить("ОтработаноВремениПроизводственныйГрафик");
//ПоляЗапроса.Добавить("ОтработаноЧасовПроизводственныйГрафик");
//ПоляЗапроса.Добавить("ОтработаноЧасовПоТабелюОтклонение");
//ПоляЗапроса.Добавить("ВремяВведеноТабелем");
}
}
if(true/*НеобходимыеДанные.СреднийЗаработок*/)
{
/*ТекстЗапроса = ТекстЗапроса + ",
|ЕСТЬNULL(ДанныеДляРасчетаСреднего.ОтработаноДней,0) Как ОтработаноДнейПоСреднему,
|ЕСТЬNULL(ДанныеДляРасчетаСреднего.ОтработаноЧасов,0) Как ОтработаноЧасовПоСреднему,
|ДанныеДляРасчетаСреднего.СреднийЗаработок Как СреднийЗаработок";*/
if(true/*КомментироватьРасчет*/)
{
//ПоляЗапроса.Добавить("ОтработаноДнейПоСреднему");
//ПоляЗапроса.Добавить("ОтработаноЧасовПоСреднему");
//ПоляЗапроса.Добавить("СреднийЗаработок");
}
}
if(true/*НеобходимыеДанные.РазмерОграниченияПособия*/)
{
//ПроведениеРасчетов.ДописатьПоляАлгоритмов("РазмерОграниченияПособия", КомментироватьРасчет, ТекстЗапроса, ПоляЗапроса);
}
if(true/*НеобходимыеДанные.СреднийЗаработокПособий*/)
{
//ПроведениеРасчетов.ДописатьПоляАлгоритмов("СреднийЗаработокПособий", КомментироватьРасчет, ТекстЗапроса, ПоляЗапроса);
}
if(true/*НеобходимыеДанные.СреднийЗаработокОтпуска*/)
{
/*// выбираем число дней по шестидневке или календарных рабочих дней
*/
/*// из производственного календаря и ЧислоДнейВНеделе
*/
/*ТекстЗапроса = ТекстЗапроса + ",
|ВЫБОР КОГДА Основной.ВариантАлгоритмаРасчета = ЗНАЧЕНИЕ(Перечисление.ВариантыАлгоритмовРасчета.ОтпускСОплатойПраздничныхДней) ТОГДА ВремяВКалендарныхДнях.КалендарныхДней КОГДА Основной.ВидРасчета.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоШестидневке) ТОГДА ДанныеГрафика.ПроизводственныйКалендарьШестидневкаФактическийПериодДействия ИНАЧЕ ДанныеГрафика.ПроизводственныйКалендарьКалендарныеДниФактическийПериодДействия КОНЕЦ КАК ОплачиваемыеДниОтпуска,
|ВЫБОР КОГДА Основной.ВидРасчета.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоШестидневке) ТОГДА 6 ИНАЧЕ 7 КОНЕЦ КАК ЧислоДнейВНеделе,
|Основной.ГрафикРаботы.ДлительностьРабочейНедели КАК ДлительностьРабочейНедели";*/
if(true/*КомментироватьРасчет*/)
{
//ПоляЗапроса.Добавить("ОплачиваемыеДниОтпуска");
//ПоляЗапроса.Добавить("ЧислоДнейВНеделе");
//ПоляЗапроса.Добавить("ДлительностьРабочейНедели");
}
}
if(true/*НеобходимыеДанные.ВремяВКалендарныхДнях*/)
{
//ПроведениеРасчетов.ДописатьПоляАлгоритмов("ВремяВКалендарныхДнях", КомментироватьРасчет, ТекстЗапроса, ПоляЗапроса);
}
if(true/*НеобходимыеДанные.РазмерПособияПоУходуЗаРебенкомДо1_5Лет*/)
{
/*// выбираем размер пособия по уходу за ребенком до 1.5 лет
*/
/*ТекстЗапроса = ТекстЗапроса + ",
|ДанныеОРазмереПособияПоУходуЗаРебенкомДоПолутораЛет.РазмерПособия КАК ПоУходуЗаРебенкомДоПолутораЛет,
|МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет.РазмерПособия КАК МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет,
|МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет.РазмерПособия КАК МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет,
|МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет.РазмерПособия КАК МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет";*/
if(true/*КомментироватьРасчет*/)
{
//ПоляЗапроса.Добавить("ПоУходуЗаРебенкомДоПолутораЛет");
//ПоляЗапроса.Добавить("МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет");
//ПоляЗапроса.Добавить("МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет");
//ПоляЗапроса.Добавить("МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет");
}
}
if(true/*НеобходимыеДанные.РазмерПособияПоУходуЗаРебенкомДо3Лет*/)
{
/*// выбираем размер пособия по уходу за ребенком до 3 лет
*/
/*ТекстЗапроса = ТекстЗапроса + ",
|ДанныеОРазмереПособияПоУходуЗаРебенкомДо3Лет.РазмерПособия КАК РазмерПособияПоУходуЗаРебенкомДо3Лет";*/
if(true/*КомментироватьРасчет*/)
{
//ПоляЗапроса.Добавить("РазмерПособияПоУходуЗаРебенкомДо3Лет");
}
}
if(true/*НеобходимыеДанные.РайонныйКоэффициентРФОрганизации*/)
{
/*// размер районного коэфиициента, установленного для организации
*/
/*ТекстЗапроса = ТекстЗапроса + ",
| ВЫБОР
| КОГДА Основной.ПодразделениеОрганизации.КодПоОКАТО <> """"
| ТОГДА ВЫБОР
| КОГДА Основной.ПодразделениеОрганизации.РайонныйКоэффициентРФ > 1
| ТОГДА Основной.ПодразделениеОрганизации.РайонныйКоэффициентРФ
| ИНАЧЕ 1
| КОНЕЦ
| КОГДА Основной.ОбособленноеПодразделение.РайонныйКоэффициентРФ > 1
| ТОГДА Основной.ОбособленноеПодразделение.РайонныйКоэффициентРФ
| ИНАЧЕ 1
| КОНЕЦ КАК РайонныйКоэффициентРФОрганизации";*/
if(true/*КомментироватьРасчет*/)
{
//ПоляЗапроса.Добавить("РайонныйКоэффициентРФОрганизации");
}
}
if(true/*НеобходимыеДанные.СдельныйЗаработок*/)
{
//ПроведениеРасчетов.ДописатьПоляАлгоритмов("СдельныйЗаработок", КомментироватьРасчет, ТекстЗапроса, ПоляЗапроса);
}
if(true/*НеобходимыеДанные.ДанныеДляПрогнозаНДФЛ*/)
{
/*ТекстЗапроса = ТекстЗапроса + ",
|ВзаиморасчетыСРаботниками.СуммаУпрКонечныйОстаток Как КВыплатеПоУпрУчету,
|ВзаиморасчетыСРаботникамиОрганизаций.УжеНачисленоДоДоначисления Как УжеНачисленоДоДоначисления,
|ЕСТЬNULL(СуммарныйПроцент.Процент, 0) Как СуммарныйПроцент,
|ВЫБОР КОГДА НеРезиденты.ФизЛицо ЕСТЬ NULL ТОГДА Истина ИНАЧЕ Ложь КОНЕЦ Как Резидент";*/
if(true/*КомментироватьРасчет*/)
{
//ПоляЗапроса.Добавить("КВыплатеПоУпрУчету");
//ПоляЗапроса.Добавить("УжеНачисленоДоДоначисления");
//ПоляЗапроса.Добавить("СуммарныйПроцент");
//ПоляЗапроса.Добавить("Резидент");
}
}
if(true/*НеобходимыеДанные.ДоходыОблагаемыеЕСН*/)
{
//ПроведениеРасчетов.ДописатьПоляАлгоритмов("ДоходыОблагаемыеСтраховымиВзносамиЕСН", КомментироватьРасчет, ТекстЗапроса, ПоляЗапроса);
}
/*ТекстЗапроса = ТекстЗапроса + "
|ИЗ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций Как Основной";*/
if(true/*НеобходимыеДанные.ВремяВКалендарныхДнях Или НеобходимыеДанные.ОтработаноВремени Или НеобходимыеДанные.СдельныйЗаработок*/)
{
/*// все случаи использования таблицы ФПД
*/
//ПроведениеРасчетов.ДописатьАлгоритмВЗапрос("ФактическийПериодДействия", КомментироватьРасчет, Запрос, ТекстЗапроса);
}
if(true/*НеобходимыеДанные.ПоказателиСхемМотивации*/)
{
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТПоказатели КАК Показатели
|ПО Показатели.ВидРасчета = Основной.ВидРасчета";*/
}
if(true/*НеобходимыеДанные.ВсегоОтработаноВремени*/)
{
//ПроведениеРасчетов.ДописатьАлгоритмВЗапрос("ВсегоОтработаноВремени", КомментироватьРасчет, Запрос, ТекстЗапроса);
}
if(true/*НеобходимыеДанные.Стаж*/)
{
/*// присоединение к данным о стаже
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК ДанныеОСтаже
|ПО ДанныеОСтаже.Сотрудник = Основной.Сотрудник
|И ДанныеОСтаже.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)";*/
//Запрос.УстановитьПараметр("ПериодРегистрации", ПериодРегистрации);
}
/*// если перерасчет - нужно сузить выборку
*/
if(true/*Перерасчет И Физлица = Неопределено*/)
{
/*// перерасчет по всем физлицам перерасчета
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТФизлицаДляПерерасчета КАК ФизлицаДляПерерасчета
|ПО ФизлицаДляПерерасчета.Физлицо = Основной.Физлицо";*/
}
if(true/*НеобходимаБаза*/)
{
//Разрезы = Новый Массив;
//Разрезы.Добавить("ПериодРегистрации");
if(true/*КомментироватьРасчет*/)
{
/*Запрос.Текст =
"ВЫБРАТЬ
| СУММА(База.РезультатБаза) КАК РезультатБаза,
| База.ВидРасчетаРазрез КАК ВидРасчетаРазрез,
| База.Регистратор КАК Регистратор,
| База.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ ВТБаза
|ИЗ
| (ВЫБРАТЬ
| База1.РезультатБаза КАК РезультатБаза,
| База1.ВидРасчетаРазрез КАК ВидРасчетаРазрез,
| База1.Регистратор КАК Регистратор,
| База1.НомерСтроки КАК НомерСтроки
| ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.БазаОсновныеНачисленияРаботниковОрганизаций(&парамИзмеренияОсновного, &парамИзмеренияБазового, &парамРазрезы, " + Условие + ") КАК База1
| ГДЕ
| ((НЕ База1.Сторно)
| ИЛИ База1.ПериодРегистрацииРазрез < База1.ПериодРегистрации)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| База2.РезультатБаза,
| База2.ВидРасчетаРазрез,
| База2.Регистратор,
| База2.НомерСтроки
| ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.БазаДополнительныеНачисленияРаботниковОрганизаций(&парамИзмеренияОсновного, &парамИзмеренияБазового, &парамРазрезы, " + Условие + ") КАК База2
| ГДЕ
| ((НЕ База2.Сторно)
| ИЛИ База2.ПериодРегистрацииРазрез < База2.ПериодРегистрации)) КАК База
|СГРУППИРОВАТЬ ПО
| База.ВидРасчетаРазрез,
| База.Регистратор,
| База.НомерСтроки";*/
//Разрезы.Добавить("ВидРасчета");
}
//Запрос.УстановитьПараметр("парамРазрезы", Разрезы);
//Запрос.Выполнить();
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТБаза КАК База
|ПО Основной.Регистратор = База.Регистратор И Основной.НомерСтроки = База.НомерСтроки";*/
}
if(true/*НеобходимГрафик*/)
{
//Запрос.УстановитьПараметр("ПоДням", Перечисления.ВидыУчетаВремени.ПоДням);
//Запрос.УстановитьПараметр("ПоЧасам", Перечисления.ВидыУчетаВремени.ПоЧасам);
//Запрос.УстановитьПараметр("ПоВечернимЧасам", Перечисления.ВидыУчетаВремени.ПоВечернимЧасам);
//Запрос.УстановитьПараметр("ПоНочнымЧасам", Перечисления.ВидыУчетаВремени.ПоНочнымЧасам);
//Запрос.УстановитьПараметр("ПустойВидИспользованияРабочегоВремени", Справочники.КлассификаторИспользованияРабочегоВремени.ПустаяСсылка());
//Запрос.УстановитьПараметр("КлассификаторЯ", Справочники.КлассификаторИспользованияРабочегоВремени.Работа);
//Запрос.УстановитьПараметр("КлассификаторВЧ", Справочники.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы);
//Запрос.УстановитьПараметр("КлассификаторНЧ", Справочники.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы);
//Запрос.УстановитьПараметр("ОтработанноеВПределахНормы", Перечисления.ВидыВремени.ОтработанноеВПределахНормы);
//Запрос.УстановитьПараметр("ЦелодневноеНеотработанное", Перечисления.ВидыВремени.ЦелодневноеНеотработанное);
//Запрос.УстановитьПараметр("ЧасовоеНеотработанное", Перечисления.ВидыВремени.ЧасовоеНеотработанное);
//Запрос.УстановитьПараметр("ЧасовоеОтработанноеВПределахНормы", Перечисления.ВидыВремени.ЧасовоеОтработанноеВПределахНормы);
//Запрос.Текст = СводныеИндивидуальныеГрафикиТекст;
//Запрос.Выполнить();
//Запрос.Текст = ВремяВведенноеВЦеломЗаПериодТекст;
//Запрос.Выполнить();
//Запрос.Текст = СоответствиеТабеляИНачислений;
//Запрос.Выполнить();
/*// присоединяем к данным графика
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ДанныеГрафика(" + Условие + ") Как ДанныеГрафика
|ПО Основной.Регистратор = ДанныеГрафика.Регистратор И Основной.НомерСтроки = ДанныеГрафика.НомерСтроки
|ЛЕВОЕ СОЕДИНЕНИЕ ВТСводныеИндивидуальныеГрафики КАК СводныеИндивидуальныеГрафики
|ПО Основной.НомерСтроки = СводныеИндивидуальныеГрафики.НомерСтроки
|ЛЕВОЕ СОЕДИНЕНИЕ ВТВремяВведенноеВЦеломЗаПериод КАК ВремяВведенноеВЦеломЗаПериод
|ПО Основной.НомерСтроки = ВремяВведенноеВЦеломЗаПериод.НомерСтроки
|ЛЕВОЕ СОЕДИНЕНИЕ ВТСоответствиеТабеляИНачислений КАК СоответствиеТабеляИНачислений
|ПО Основной.НомерСтроки = СоответствиеТабеляИНачислений.НомерСтроки
|";*/
}
if(true/*НеобходимыеДанные.НормаВремениЗаМесяц*/)
{
//Запрос.Текст = НормаВремениПоОбщемуГрафикуТекст;
//Запрос.Выполнить();
/*// присоединяем к данным графика
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаВремениПоОбщемуГрафику КАК НормаВремениПоОбщемуГрафику
|ПО Основной.НомерСтроки = НормаВремениПоОбщемуГрафику.НомерСтроки
|";*/
}
if(true/*НеобходимыеДанные.ОтработаноВремени*/)
{
//Запрос.Текст = ВремяПоТабелюТекст;
//Запрос.Выполнить();
//Запрос.Текст = ОтработаноПоВидуВремениДляПоказателейТекст;
//Запрос.Выполнить();
//Запрос.Текст = ОтработаноНЕПоВидуВремениДляПоказателейТекст;
//Запрос.Выполнить();
//Запрос.Текст = ДанныеТабеляТекст;
//Запрос.Выполнить();
/*// присоединяем к данным графика
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТВремяПоТабелю КАК ВремяПоТабелю
|ПО Основной.НомерСтроки = ВремяПоТабелю.НомерСтроки
|ЛЕВОЕ СОЕДИНЕНИЕ ВТОтработаноПоВидуВремениДляПоказателей КАК ОтработаноПоВидуВремениНачисления
|ПО Основной.НомерСтроки = ОтработаноПоВидуВремениНачисления.НомерСтроки
|ЛЕВОЕ СОЕДИНЕНИЕ ВТОтработаноНЕПоВидуВремениДляПоказателей КАК ОтработаноНЕПоВидуВремениНачисления
|ПО Основной.НомерСтроки = ОтработаноНЕПоВидуВремениНачисления.НомерСтроки
|ЛЕВОЕ СОЕДИНЕНИЕ ВТВремяВведеноТабелем КАК ВремяВведеноТабелем
|ПО Основной.НомерСтроки = ВремяВведеноТабелем.НомерСтроки
|";*/
}
if(true/*НеобходимыеДанные.СреднийЗаработок Или НеобходимыеДанные.СреднийЗаработокПособий*/)
{
//ОсновнойЗаработок = Новый Массив(3);
//ОсновнойЗаработок[0] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработку;
//ОсновнойЗаработок[1] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуБЛ;
//ОсновнойЗаработок[2] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые;
//ПоФиксПремиям = Новый Массив(2);
//ПоФиксПремиям[0] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиям;
//ПоФиксПремиям[1] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямБЛ;
//ПоПремиям = Новый Массив(4);
//ПоПремиям[0] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиям;
//ПоПремиям[1] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиямБЛ;
//ПоПремиям[2] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиямИндексируемые;
//ПоПремиям[3] = ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремииИндексируемые;
//ПоФиксПремиямНеИндексируемые = Новый Массив(4);
//ПоФиксПремиямНеИндексируемые[0] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремии;
//ПоФиксПремиямНеИндексируемые[1] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремииБЛ;
//ПоФиксПремиямНеИндексируемые[2] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремииНеИндексируемые;
//ПоФиксПремиямНеИндексируемые[3] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямНеИндексируемые;
//Запрос.УстановитьПараметр("ОсновнойЗаработок", ОсновнойЗаработок);
/*// Основной заработок индексируемый
*/
//Запрос.УстановитьПараметр("ОсновнойЗаработокНеиндексируемый", ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуНеИндексируемые);
//Запрос.УстановитьПараметр("ПоПремиям", ПоПремиям);
/*// Премии полностью учитываемые, индексируемые
*/
//Запрос.УстановитьПараметр("ПоФиксПремиям", ПоФиксПремиям);
/*// Премии учитываемые частично, индексируемые
*/
//Запрос.УстановитьПараметр("ПоФиксПремиямНеИндексируемые", ПоФиксПремиямНеИндексируемые);
/*// Премии учитываемые частично, не индексируемые
*/
/*// для реализации Федеральных законов:
*/
/*// от 22.12.2005 г. № 180-ФЗ и от 29 декабря 2006 г. № 255-ФЗ - по больничным листам
*/
/*// от 5 декабря 2006 г. № 207-ФЗ - по отпуску по уходу за детьми
*/
/*// при расчете пособий заработок учитывается по всем местам работы
*/
//Запрос.УстановитьПараметр("ОсновнойЗаработокПособий", ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуПособий);
//СоставляющиеСреднегоЗаработкаПособий = Новый Массив(5);
//СоставляющиеСреднегоЗаработкаПособий.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуПособий);
//СоставляющиеСреднегоЗаработкаПособий.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоПремиямПособий);
//СоставляющиеСреднегоЗаработкаПособий.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямПособий);
//СоставляющиеСреднегоЗаработкаПособий.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремииПособий);
//СоставляющиеСреднегоЗаработкаПособий.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремииПособий);
//СоставляющиеПрочихСреднихЗаработков = Новый Массив(18);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуНеИндексируемые);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоПремиямИндексируемые);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоПремиямНеИндексируемые);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремииИндексируемые);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремииНеИндексируемые);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямНеИндексируемые);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремииНеИндексируемые);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоЗаработку);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоПремиям);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиям);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремии);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремии);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуБЛ);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоПремиямБЛ);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямБЛ);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремииБЛ);
//СоставляющиеПрочихСреднихЗаработков.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремииБЛ);
//Запрос.УстановитьПараметр("СоставляющиеСреднегоЗаработкаПособий", СоставляющиеСреднегоЗаработкаПособий);
//Запрос.УстановитьПараметр("СоставляющиеПрочихСреднихЗаработков", СоставляющиеПрочихСреднихЗаработков);
//ПоСреднемуЗаработкуФСС = Новый Массив(2);
//ПоСреднемуЗаработкуФСС[0] = Перечисления.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуФСС;
//ПоСреднемуЗаработкуФСС[1] = Перечисления.СпособыРасчетаОплатыТруда.ПособиеПоУходуЗаРебенкомДо1_5Лет;
//Запрос.УстановитьПараметр("ПоСреднемуЗаработкуФСС", ПоСреднемуЗаработкуФСС);
//Запрос.Текст = ДанныеОСреднемЗаработкеТекст;
//Запрос.Выполнить();
/*// присоединяем данные для расчета среднего заработка
*/
/*ТекстЗапроса = ТекстЗапроса + "
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОСреднемЗаработке КАК ДанныеДляРасчетаСреднего
| ПО Основной.Сотрудник = ДанныеДляРасчетаСреднего.Сотрудник
| И Основной.ДатаНачалаСобытия = ДанныеДляРасчетаСреднего.ДатаНачалаСобытия
| И Основной.ПериодРасчетаСреднегоЗаработкаНачало = ДанныеДляРасчетаСреднего.ДатаНачалаРасчетногоПериода
| И Основной.ПериодРасчетаСреднегоЗаработкаОкончание = ДанныеДляРасчетаСреднего.ДатаОкончанияРасчетногоПериода
| И (ВЫБОР
| КОГДА Основной.ВидРасчета.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ДоплатаДоСреднегоЗаработкаФСС)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуФСС)
| ИНАЧЕ Основной.ВидРасчета.СпособРасчета
| КОНЕЦ = ДанныеДляРасчетаСреднего.СпособРасчета)";*/
}
if(true/*НеобходимыеДанные.РазмерОграниченияПособия*/)
{
//ПроведениеРасчетов.ДописатьАлгоритмВЗапрос("РазмерОграниченияПособия", КомментироватьРасчет, Запрос, ТекстЗапроса);
}
if(true/*НеобходимыеДанные.СреднийЗаработокПособий*/)
{
//ПроведениеРасчетов.ДописатьАлгоритмВЗапрос("СреднийЗаработокПособий2011", КомментироватьРасчет, Запрос, ТекстЗапроса);
}
if(true/*НеобходимыеДанные.ВремяВКалендарныхДнях*/)
{
//ПроведениеРасчетов.ДописатьАлгоритмВЗапрос("ВремяВКалендарныхДнях", КомментироватьРасчет, Запрос, ТекстЗапроса);
}
if(true/*НеобходимыеДанные.РазмерПособияПоУходуЗаРебенкомДо1_5Лет*/)
{
//Запрос.УстановитьПараметр("СпособРасчетаПособиеПоУходуЗаРебенкомДо1_5Лет", Перечисления.СпособыРасчетаОплатыТруда.ПособиеПоУходуЗаРебенкомДо1_5Лет);
//Запрос.УстановитьПараметр("РазмерПособияПоУходуЗаРебенкомДоПолутораЛет", Перечисления.РазмерыГосударственныхПособий.ПоУходуЗаРебенкомДоПолутораЛет);
//Запрос.УстановитьПараметр("МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет", Перечисления.РазмерыГосударственныхПособий.МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет);
//Запрос.УстановитьПараметр("МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет", Перечисления.РазмерыГосударственныхПособий.МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет);
//Запрос.УстановитьПараметр("МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет", Перечисления.РазмерыГосударственныхПособий.МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет);
//ВидПособияПоУходуЗаРебенкомДо1_5Лет = Новый Массив;
//ВидПособияПоУходуЗаРебенкомДо1_5Лет.Добавить(Перечисления.РазмерыГосударственныхПособий.ПоУходуЗаРебенкомДоПолутораЛет);
//ВидПособияПоУходуЗаРебенкомДо1_5Лет.Добавить(Перечисления.РазмерыГосударственныхПособий.МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет);
//ВидПособияПоУходуЗаРебенкомДо1_5Лет.Добавить(Перечисления.РазмерыГосударственныхПособий.МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет);
//ВидПособияПоУходуЗаРебенкомДо1_5Лет.Добавить(Перечисления.РазмерыГосударственныхПособий.МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет);
//Запрос.УстановитьПараметр("ВидПособияПоУходуЗаРебенкомДо1_5Лет", ВидПособияПоУходуЗаРебенкомДо1_5Лет);
//Запрос.Текст = РазмерПособияПоУходуЗаРебенкомДо1_5ЛетТекст;
//Запрос.Выполнить();
//РазмерПособияПоУходуЗаРебенкомДо1_5ЛетТекст = "ВТРазмерПособияПоУходуЗаРебенкомДо1_5Лет";
/*// присоединяем данные о размере пособия
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерПособияПоУходуЗаРебенкомДо1_5Лет КАК ДанныеОРазмереПособияПоУходуЗаРебенкомДоПолутораЛет
|ПО Основной.НомерСтроки = ДанныеОРазмереПособияПоУходуЗаРебенкомДоПолутораЛет.ОсновнойНомерСтроки И ДанныеОРазмереПособияПоУходуЗаРебенкомДоПолутораЛет.ВидПособия = &РазмерПособияПоУходуЗаРебенкомДоПолутораЛет
|ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерПособияПоУходуЗаРебенкомДо1_5Лет КАК МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет
|ПО Основной.НомерСтроки = МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет.ОсновнойНомерСтроки И МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет.ВидПособия = &МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет
|ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерПособияПоУходуЗаРебенкомДо1_5Лет КАК МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет
|ПО Основной.НомерСтроки = МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет.ОсновнойНомерСтроки И МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет.ВидПособия = &МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет
|ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерПособияПоУходуЗаРебенкомДо1_5Лет КАК МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет
|ПО Основной.НомерСтроки = МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет.ОсновнойНомерСтроки И МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет.ВидПособия = &МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет";*/
}
if(true/*НеобходимыеДанные.РазмерПособияПоУходуЗаРебенкомДо3Лет*/)
{
//Запрос.УстановитьПараметр("СпособРасчетаПособиеПоУходуЗаРебенкомДо3Лет", Перечисления.СпособыРасчетаОплатыТруда.ПособиеПоУходуЗаРебенкомДо3Лет);
//Запрос.УстановитьПараметр("ВидПособияПоУходуЗаРебенкомДо3Лет", Перечисления.РазмерыГосударственныхПособий.ПоУходуЗаРебенкомДо3хЛет);
//Запрос.Текст = РазмерПособияПоУходуЗаРебенкомДо3ЛетТекст;
//Запрос.Выполнить();
//РазмерПособияПоУходуЗаРебенкомДо3ЛетТекст = "ВТРазмерПособияПоУходуЗаРебенкомДо3Лет";
/*// присоединяем данные о размере пособия
*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ "+РазмерПособияПоУходуЗаРебенкомДо3ЛетТекст+" КАК ДанныеОРазмереПособияПоУходуЗаРебенкомДо3Лет
|ПО Основной.НомерСтроки = ДанныеОРазмереПособияПоУходуЗаРебенкомДо3Лет.ОсновнойНомерСтроки";*/
}
if(true/*НеобходимыеДанные.СдельныйЗаработок*/)
{
//ПроведениеРасчетов.ДописатьАлгоритмВЗапрос("СдельныйЗаработок", КомментироватьРасчет, Запрос, ТекстЗапроса);
}
if(true/*НеобходимыеДанные.ДанныеДляПрогнозаНДФЛ*/)
{
/*// получим период за который необходимы данные к выплате по управленческому учету
*/
/*ЗапросПериода = Новый Запрос(
"ВЫБРАТЬ
| МАКСИМУМ(Начисления.ПериодДействия) КАК МаксПД,
| МИНИМУМ(Начисления.ПериодДействия) КАК МинПД
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Начисления
|ГДЕ
| Начисления.Регистратор = &парамРегистратор
| И Начисления.ВидРасчета.СпособРасчета = &Доначисление
| И Начисления.ВидРасчета.КатегорияРасчета = &парамКатегорияНачисления");*/
//ЗапросПериода.УстановитьПараметр("Доначисление", Перечисления.СпособыРасчетаОплатыТруда.ДоначислениеПоУправленческомуУчету);
//ЗапросПериода.УстановитьПараметр("парамРегистратор", Регистратор);
//ЗапросПериода.УстановитьПараметр("парамКатегорияНачисления", КатегорияРасчета);
//Выборка = ЗапросПериода.Выполнить().Выбрать();
//Выборка.Следующий();
/*// остатки получаем на начало месяца, следующего за периодом действия начисления
*/
//ПериодОстатковНачало = ДобавитьМесяц(Выборка.МинПД, 1);
//ПериодОстатковКонец = ДобавитьМесяц(Выборка.МаксПД, 1);
/*// суммарный процент всех процентных начислений, в базу которых включены виды расчета
*/
/*// со способом расчета ДоначислениеПоУправленческомуУчету
*/
/*Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Начисления.Сотрудник,
| Начисления.ФизЛицо,
| Начисления.ПериодДействия
|ПОМЕСТИТЬ ВТСотрудникиСДоначислением
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Начисления
|ГДЕ
| Начисления.Регистратор = &парамРегистратор
| И Начисления.ВидРасчета.СпособРасчета = &Доначисление
| И Начисления.ВидРасчета.КатегорияРасчета = &парамКатегорияНачисления
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Начисления.Сотрудник КАК Сотрудник,
| Начисления.ПериодДействия КАК ПериодДействия,
| Начисления.Размер + Дополнительные.Размер КАК Процент
|ПОМЕСТИТЬ ВТСуммарныйПроцент
|ИЗ
| (ВЫБРАТЬ
| Начисления.Сотрудник КАК Сотрудник,
| НАЧАЛОПЕРИОДА(Начисления.ДатаНачала, МЕСЯЦ) КАК ПериодДействия,
| СУММА(Начисления.Показатель1) КАК Размер
| ИЗ
| Документ.НачислениеЗарплатыРаботникамОрганизаций.Начисления КАК Начисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСотрудникиСДоначислением КАК СотрудникиСДоначислением
| ПО Начисления.Сотрудник = СотрудникиСДоначислением.Сотрудник
| И (НАЧАЛОПЕРИОДА(Начисления.ДатаНачала, МЕСЯЦ) = СотрудникиСДоначислением.ПериодДействия)
| ГДЕ
| Начисления.Ссылка = &парамРегистратор
| И Начисления.ВидРасчета.СпособРасчета В(&Процентом)
| И Начисления.ВидРасчета В
| (ВЫБРАТЬ
| Базовые.Ссылка
| ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций.БазовыеВидыРасчета КАК Базовые
| ГДЕ
| Базовые.ВидРасчета.СпособРасчета = &Доначисление)
|
| СГРУППИРОВАТЬ ПО
| Начисления.Сотрудник,
| НАЧАЛОПЕРИОДА(Начисления.ДатаНачала, МЕСЯЦ)) КАК Начисления
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| Начисления.Сотрудник КАК Сотрудник,
| СУММА(Начисления.Показатель1) КАК Размер
| ИЗ
| Документ.НачислениеЗарплатыРаботникамОрганизаций.ДополнительныеНачисления КАК Начисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСотрудникиСДоначислением КАК СотрудникиСДоначислением
| ПО Начисления.Сотрудник = СотрудникиСДоначислением.Сотрудник
| ГДЕ
| Начисления.Ссылка = &парамРегистратор
| И Начисления.ВидРасчета.СпособРасчета В(&Процентом)
| И Начисления.ВидРасчета В
| (ВЫБРАТЬ
| Базовые.Ссылка
| ИЗ
| ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.БазовыеВидыРасчета КАК Базовые
| ГДЕ
| Базовые.ВидРасчета.СпособРасчета = &Доначисление)
|
| СГРУППИРОВАТЬ ПО
| Начисления.Сотрудник) КАК Дополнительные
| ПО Начисления.Сотрудник = Дополнительные.Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВзаиморасчетыСРаботникамиОрганизаций.Физлицо,
| НАЧАЛОПЕРИОДА(ВзаиморасчетыСРаботникамиОрганизаций.Период, МЕСЯЦ) КАК Период,
| СУММА(ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов) КАК УжеНачисленоДоДоначисления
|ПОМЕСТИТЬ ВТВзаиморасчетыСРаботникамиОрганизаций
|ИЗ
| РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСотрудникиСДоначислением КАК СотрудникиСДоначислением
| ПО (СотрудникиСДоначислением.ФизЛицо = ВзаиморасчетыСРаботникамиОрганизаций.Физлицо)
| И (НАЧАЛОПЕРИОДА(ВзаиморасчетыСРаботникамиОрганизаций.Период, МЕСЯЦ) = СотрудникиСДоначислением.ПериодДействия)
|ГДЕ
| ВзаиморасчетыСРаботникамиОрганизаций.Организация = &парамОрганизация
| И ВзаиморасчетыСРаботникамиОрганизаций.Регистратор <> &парамРегистратор
| И ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
|
|СГРУППИРОВАТЬ ПО
| ВзаиморасчетыСРаботникамиОрганизаций.Физлицо,
| НАЧАЛОПЕРИОДА(ВзаиморасчетыСРаботникамиОрганизаций.Период, МЕСЯЦ)";*/
/*ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСРаботниками.ОстаткиИОбороты(&ПериодОстатковНачало, &ПериодОстатковКонец, МЕСЯЦ, , Физлицо В (ВЫБРАТЬ РАЗЛИЧНЫЕ Физлицо ИЗ ВТСотрудникиСДоначислением)) КАК ВзаиморасчетыСРаботниками
|ПО Основной.Физлицо = ВзаиморасчетыСРаботниками.Физлицо
|И ДОБАВИТЬКДАТЕ(Основной.ПериодДействия, МЕСЯЦ, 1) = ВзаиморасчетыСРаботниками.Период
|ЛЕВОЕ СОЕДИНЕНИЕ ВТВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
|ПО Основной.Физлицо = ВзаиморасчетыСРаботникамиОрганизаций.Физлицо
|И Основной.ПериодДействия = ВзаиморасчетыСРаботникамиОрганизаций.Период
|ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммарныйПроцент КАК СуммарныйПроцент
|ПО Основной.Сотрудник = СуммарныйПроцент.Сотрудник
|И Основной.ПериодДействия = СуммарныйПроцент.ПериодДействия
|ЛЕВОЕ СОЕДИНЕНИЕ
|(ВЫБРАТЬ
| СтатусФизЛица.ФизЛицо КАК ФизЛицо
| ИЗ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ.СрезПоследних(&парамКонецГода, Физлицо В (ВЫБРАТЬ РАЗЛИЧНЫЕ Физлицо ИЗ ВТСотрудникиСДоначислением)) КАК СтатусФизЛица
| ГДЕ (СтатусФизЛица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент))) КАК НеРезиденты
|ПО Основной.Физлицо = НеРезиденты.ФизЛицо";*/
//Запрос.УстановитьПараметр("ПериодОстатковНачало", ПериодОстатковНачало);
//Запрос.УстановитьПараметр("ПериодОстатковКонец", ПериодОстатковКонец);
//Запрос.УстановитьПараметр("парамКонецГода", КонецГода(ПериодРегистрации));
//Запрос.УстановитьПараметр("КонецПериодаРегистрации", ДобавитьМесяц(ПериодРегистрации, 1));
//Запрос.УстановитьПараметр("Доначисление", Перечисления.СпособыРасчетаОплатыТруда.ДоначислениеПоУправленческомуУчету);
//Запрос.УстановитьПараметр("Процентом", ПроведениеРасчетов.ПолучитьСписокНачисленийПроцентом());
//Запрос.ВыполнитьПакет();
}
if(true/*НеобходимыеДанные.ДоходыОблагаемыеЕСН*/)
{
//ПроведениеРасчетов.ДописатьАлгоритмВЗапрос("ДоходыОблагаемыеСтраховымиВзносамиЕСН", КомментироватьРасчет, Запрос, ТекстЗапроса, , ИмяРегистра);
}
/*ТекстЗапроса = ТекстЗапроса + "
|ГДЕ " + ВнешнееУсловие;*/
}
/*ТекстЗапроса = ТекстЗапроса + "
|УПОРЯДОЧИТЬ ПО НомерСтроки";*/
if(true/*НеобходимаБаза И КомментироватьРасчет*/)
{
/*ТекстЗапроса = ТекстЗапроса + "
|ИТОГИ";*/
/*ТекстЗапроса = ТекстЗапроса + "
| СУММА(РезультатБаза)
|ПО
| НомерСтроки";*/
}
//Запрос.Текст = ТекстЗапроса;
return null;
}