Зарплата и кадры бюджетного учреждения. Версия 1.0.16.5. Информация об ошибках

  Код ошибки: 10073953  
  Дата публикации: 24.02.2011 16:06:14  
  Дата последнего изменения: 24.02.2011 0:00:00  
  Описание: При конвертации из ЗиК в ЗУП/ЗБУ неправильно переносится материальная помощь.  
  Планируется исправить в релизе: 1.0.21  
 
  Код ошибки: 10072876  
  Дата публикации: 16.02.2011 16:30:58  
  Дата последнего изменения: 16.02.2011 0:00:00  
  Описание: Если выплачивалась компенсация за задержку заработной платы, то в отчетах "Расчетные листки", "Расчетная ведомость" и "Свод начисленной зарплаты" неверно рассчитывается итоговое сальдо: долг за работником необоснованно завышается на сумму компенсации.  
  Исправлено в релизе: 1.0.21  
 
  Код ошибки: 10052523  
  Дата публикации: 04.02.2011 17:30:44  
  Дата последнего изменения: 04.02.2011 0:00:00  
  Описание: Не ограничивается использование показателей учета времени в разовых начислениях.  
  Планируется исправить в релизе: 1.0.21  
 
  Код ошибки: 10070320  
  Дата публикации: 21.01.2011 17:10:56  
  Дата последнего изменения: 21.01.2011 0:00:00  
  Описание: Если есть начисления по договорам гражданско-правового характера физическому лицу, которое находится в какой-либо группе справочника "Физические лица", то при обмене с ББУ возникает ошибка.  
  Исправлено в релизе: 1.0.20  
 
  Код ошибки: 10072046  
  Дата публикации: 18.01.2011 16:43:34  
  Дата последнего изменения: 18.01.2011 0:00:00  
  Описание: При конвертации из ЗиК неправильно переносятся перерасчитанные записи.  
  Планируется исправить в релизе: 1.0.20  
 
  Код ошибки: 10070301  
  Дата публикации: 11.01.2011 14:50:36  
  Дата последнего изменения: 11.01.2011 0:00:00  
  Описание: При увольнении сотрудника с основного места работы не проверяется его занятость по внутреннему совместительству.  
  Исправлено в релизе: 1.0.20  
 
  Код ошибки: 10065765  
  Дата публикации: 15.12.2010 15:30:14  
  Дата последнего изменения: 15.12.2010 0:00:00  
  Описание: Если сотрудник изменил фамилию, отчет "Расчетный листок" по-прежнему выводит старую фамилию сотрудника.  
  Исправлено в релизе: 1.0.19  
 
  Код ошибки: 10069741  
  Дата публикации: 10.12.2010 17:08:47  
  Дата последнего изменения: 10.12.2010 0:00:00  
  Описание: В документе "Отражение зарплаты в бухучете" неправильно распределяются взносы в ФСС при наличии скидок по страховым взносам.  
  Исправлено в релизе: 1.0.19  
 
  Код ошибки: 10069093  
  Дата публикации: 07.12.2010 15:10:46  
  Дата последнего изменения: 07.12.2010 0:00:00  
  Описание: В помощнике перехода для ЗиК автоматически не меняются года, начиная с которых необходимо выгружать данные.  
  Исправлено в релизе: 1.0.19  
 
  Код ошибки: 10060051  
  Дата публикации: 30.11.2010 17:28:05  
  Дата последнего изменения: 30.11.2010 0:00:00  
  Описание: Если были зарегистрированы невыходы (документом "Невыходы" или "Табель"), а затем за период невыходов введена оплата больничного, то неправильно учитывается оплата пособий по социальному страхованию - например, в отчете "Пособия" (Анализ начисленных налогов и взносов) в колонке "оплаченные дни" показывается нуль.  
  Способ воспроизведения: По сотруднику с 26/4 по 30/4 и с 1/5 по 31/5 введем невыходы, например, в июне вводим больничный с 26.04.2010 по 02/06.
В движениях больничного по регистру накопления "Пособия социальному страхованию" в "Оплаченные дни" ставится только 2 дня.
 
  Исправлено в релизе: 1.0.19  
 
  Код ошибки: 10056557  
  Дата публикации: 30.11.2010 17:27:04  
  Дата последнего изменения: 30.11.2010 0:00:00  
  Описание: Для пользователя с ролью "Кадровик" в списке сотрудников доступна колонка "Аванс".  
  Исправлено в релизе: 1.0.19  
 
  Код ошибки: 10069055  
  Дата публикации: 30.11.2010 17:26:35  
  Дата последнего изменения: 30.11.2010 0:00:00  
  Описание: При стратегии отражения "как задано виду расчета" не учитывается настройка отражения в учете конкретного начисления конкретному сотруднику, заданная документом "Постоянные сведения о бухучете зарплаты".  
  Способ воспроизведения: У сотрудника есть плановое начисление - "Надбавка", в виде расчета указана статья финансирования "Бюджет".
Документом "Постоянные сведения о бухучете зарплаты" регистрируюется отражение в учете этой надбавки сотруднику по статье финансирования "Внебюджет".
При начислении зарплаты надбавка по этому сотруднику отражается в учете по статье финансирования "Бюджет".
 
  Исправлено в релизе: 1.0.19  
 
  Код ошибки: 10063154  
  Дата публикации: 23.11.2010 16:18:03  
  Дата последнего изменения: 23.11.2010 0:00:00  
  Описание: Расчет пособия по уходу за ребенком до полутора лет в месяцах, следующим за месяцем регистрации отпуска по уходу за ребенком, не распределяется по базовым начислениям.  
  Способ воспроизведения: В виде расчета "Пособие по уходу за ребёнком до 1.5 лет" указано распределение по базовым начислениям.
Исходя из начислений, входящих в средний заработок, отпуск должен быть распределен на бюджет и внебюджет.

1. В текущем месяце регистрируем отпуск по уходу за ребенком до 1.5 лет.
2. Создаем, заполняем и рассчитываем документ "Начисление зарплаты" за текущий месяц.
Начисление "Пособие по уходу за ребёнком до 1.5 лет" распределится правильно.
3. Создаем, заполняем и рассчитываем документ "Начисление зарплаты" за следующий месяц.
"Пособие по уходу за ребёнком до 1.5 лет" не распределяется по базе, а относится на КОСГУ 213 и статью финансирования, заданную для учреждения.
 
  Исправлено в релизе: 1.0.19  
 
  Код ошибки: 10065618  
  Дата публикации: 16.11.2010 16:49:43  
  Дата последнего изменения: 16.11.2010 0:00:00  
  Описание: Гиперссылка "Остатки отпусков" на рабочем столе вызывает неправильную форму, отличающуюся от вызываемой из меню "Кадровый учет".  
  Исправлено в релизе: 1.0.18  
 
  Код ошибки: 10066903  
  Дата публикации: 16.11.2010 16:49:10  
  Дата последнего изменения: 16.11.2010 0:00:00  
  Описание: В документе "Зарплата к выплате" при попытке установить настройки расчета для межрасчетных выплат возникает ошибка "Поле объекта не обнаружено (Дивиденды)"  
  Исправлено в релизе: 1.0.18  
 
  Код ошибки: 10065415  
  Дата публикации: 16.11.2010 16:48:46  
  Дата последнего изменения: 16.11.2010 0:00:00  
  Описание: В документе "Отражение зарплаты в бухучете" нет вызова обработок заполнения табличной части документа.  
  Исправлено в релизе: 1.0.18  
 
  Код ошибки: 10067438  
  Дата публикации: 16.11.2010 16:48:32  
  Дата последнего изменения: 16.11.2010 0:00:00  
  Описание: Если общая сумма по ведомости имеет большую длину прописью, то такая сумма прописью не полностью отображается в шапке формы 0504403.  
  Исправлено в релизе: 1.0.18  
 
  Код ошибки: 10066770  
  Дата публикации: 16.11.2010 16:48:17  
  Дата последнего изменения: 16.11.2010 0:00:00  
  Описание: При печати ведомости по форме 0504403 из документа "Зарплата к выплате", если не созданы ни ведомость в кассу, ни ведомость в банк, в заголовке ведомости печатается проводка выплаты заработной платы через банк.  
  Исправлено в релизе: 1.0.18  
 
  Код ошибки: 10065997  
  Дата публикации: 16.11.2010 16:48:02  
  Дата последнего изменения: 16.11.2010 0:00:00  
  Описание: Если не было расчета первой половины месяца, то при проведении документа "Зарплата к выплате" по авансу за первую половину месяца в регистре "Зарплата за месяц" не заполняется реквизит "характер выплаты".  
  Исправлено в релизе: 1.0.18  
 
  Код ошибки: 10065626  
  Дата публикации: 16.11.2010 16:47:47  
  Дата последнего изменения: 16.11.2010 0:00:00  
  Описание: В одной информационной базе ведется учет нескольких организаций, в которых трудится работник, а заработная плата выплачивается через один и тот же банк, но ра разные лицевые счета.
В этом случае при печати списков на перечисление из документов "Ведомость в кассу" происходит задвоение таких работников.
 
  Исправлено в релизе: 1.0.18  
 
  Код ошибки: 10065354  
  Дата публикации: 16.11.2010 16:47:30  
  Дата последнего изменения: 16.11.2010 0:00:00  
  Описание: В документе "Начисление зарплаты работникам" при удалении начисления удаляются распределения по источникам всех начислений с тем же сотрудником и видом расчета, несмотря на различия в подразделениях и датах начала и окончания.  
  Исправлено в релизе: 1.0.18  
 
  Код ошибки: 10064859  
  Дата публикации: 16.11.2010 16:47:09  
  Дата последнего изменения: 16.11.2010 0:00:00  
  Описание: Если в настройке параметров учета установлен учет невыходов для плановых авансов, то в документе "Зарплата к выплате" для любых выплат при подборе по условию в форме "Формирование списка сотрудников" невозможно включить показ уволенных ( "включать уволенных на...").  
  Исправлено в релизе: 1.0.18  
 
  Код ошибки: 10065149  
  Дата публикации: 08.10.2010 16:10:28  
  Дата последнего изменения: 08.10.2010 0:00:00  
  Описание: При автоматическом заполнении документа "Начисление зарплаты" подбором сотрудников, в табличную часть НДФЛ ошибочно попадают другие сотрудники.  
  Способ исправления: Заменить функцию ВыполнитьАвтозаполнение() модуля документа НачислениеЗарплатыРаботникамОрганизаций следующим фрагментом:

Функция ВыполнитьАвтозаполнение(НачалоПериодаЗаполнения, ОкончаниеПериодаЗаполнения, Запрос = Неопределено, ЭтоПерерасчет = Ложь, СписокФизЛиц = Неопределено, МассивСотрудники = Неопределено, РежимЗаполнения = Неопределено) Экспорт

РасчетЗарплатыОрганизацииПоОтветственным = ПроцедурыУправленияПерсоналом.ЗначениеУчетнойПолитикиПоПерсоналуОрганизации(глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналуОрганизации"), Организация, "РасчетЗарплатыОрганизацииПоОтветственным");
ГоловнаяОрганизация = ОбщегоНазначения.ГоловнаяОрганизация(Организация);

ЗаполняемПоОтобраннымСотрудникам = Запрос <> Неопределено Или МассивСотрудники <> Неопределено;

// готовим объект Запрос и
// определяем тексты условий ПоВсемПодразделениямОрганизации и УсловиеНаПодразделение.
Если Запрос = Неопределено Тогда

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

Если ЗначениеЗаполнено(ПодразделениеОрганизации) Тогда
ПоВсемПодразделениямОрганизации = Ложь;
Запрос.УстановитьПараметр("парамПодразделение", ПодразделениеОрганизации);
ТекстЗапросаПоПодразделениям =
"ВЫБРАТЬ
| ПодразделенияОрганизаций.Ссылка КАК Подразделение
|ПОМЕСТИТЬ ВТПодразделенияОтбора
|ИЗ
| Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
|ГДЕ
| ПодразделенияОрганизаций.Ссылка В ИЕРАРХИИ(&парамПодразделение)
|
|ИНДЕКСИРОВАТЬ ПО
| Подразделение";
Иначе
// подготовим временную таблицу с подразделениями
ПоВсемПодразделениямОрганизации = Истина;
ТекстЗапросаПоПодразделениям =
"ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Подразделение
|ПОМЕСТИТЬ ВТПодразделенияОтбора";
КонецЕсли;


Если МассивСотрудники = Неопределено Тогда


Если ЗначениеЗаполнено(Ответственный) И РасчетЗарплатыОрганизацииПоОтветственным Тогда
ПоВсемПодразделениямОрганизации = Ложь;
Запрос.УстановитьПараметр("парамПользователь", Ответственный);
Запрос.УстановитьПараметр("парамНачало", НачалоПериодаЗаполнения);
ТекстЗапросаПоПодразделениям =
"ВЫБРАТЬ
| ПодразделенияОрганизаций.Ссылка КАК Подразделение
|ПОМЕСТИТЬ ВТПодразделенияОтбора
|ИЗ
| Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
|ГДЕ
| ПодразделенияОрганизаций.Ссылка В ИЕРАРХИИ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| Расчетчики.ПодразделениеОрганизации
| ИЗ
| РегистрСведений.РасчетчикиЗарплатыОрганизаций.СрезПоследних(&парамНачало) КАК Расчетчики
| ГДЕ
| Расчетчики.Пользователь = &парамПользователь)
|
|ИНДЕКСИРОВАТЬ ПО
| Подразделение";
КонецЕсли;

Если РасчетЗарплатыОрганизацииПоОтветственным И ЗначениеЗаполнено(Ответственный) Тогда
// Проверим ответственного - является ли он расчетчиком вообще и для заданного
// подразделения (если оно задано)
Запрос.УстановитьПараметр("парамПользователь" , Ответственный);
Запрос.УстановитьПараметр("парамНачало" , НачалоПериодаЗаполнения);
Если ПодразделениеОрганизации.Пустая() Тогда
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Расчетчики.ПодразделениеОрганизации
|ИЗ
| РегистрСведений.РасчетчикиЗарплатыОрганизаций.СрезПоследних(&парамНачало, ) КАК Расчетчики
|ГДЕ
| Расчетчики.Пользователь = &парамПользователь";
Если Запрос.Выполнить().Пустой() Тогда
ОбщегоНазначенияЗК.ОшибкаРасчета("Ответственный за этот документ не является расчетчиком ни одного из подразделений учреждения");
Возврат Ложь;
КонецЕсли;
Иначе
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Подразделения.Ссылка
|ИЗ
| Справочник.ПодразделенияОрганизаций КАК Подразделения
|ГДЕ
| Подразделения.Ссылка В ИЕРАРХИИ(&парамПодразделение)
| И Подразделения.Ссылка В ИЕРАРХИИ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| Расчетчики.ПодразделениеОрганизации
| ИЗ
| РегистрСведений.РасчетчикиЗарплатыОрганизаций.СрезПоследних(&парамНачало) КАК Расчетчики
| ГДЕ
| Расчетчики.Пользователь = &парамПользователь)";
Запрос.УстановитьПараметр("парамПодразделение" , ПодразделениеОрганизации);
Если Запрос.Выполнить().Пустой() Тогда
ОбщегоНазначенияЗК.ОшибкаРасчета("Ответственный за этот документ не является расчетчиком для выбранного подразделения");
Возврат Ложь;
КонецЕсли;
КонецЕсли;
КонецЕсли;

Запрос.УстановитьПараметр("ФизЛица", СписокФизЛиц);
Запрос.УстановитьПараметр("ПоВсемФизЛицам", СписокФизЛиц = Неопределено);
Запрос.УстановитьПараметр("парамОрганизация", Организация);
Запрос.УстановитьПараметр("парамГоловнаяОрганизация",ГоловнаяОрганизация);
Запрос.УстановитьПараметр("парамНачало", НачалоПериодаЗаполнения);
Запрос.УстановитьПараметр("парамКонец", КонецДня(ОкончаниеПериодаЗаполнения));

ВидыДоговоровВоеннослужащих = Новый Массив;
ВидыДоговоровВоеннослужащих.Добавить(Перечисления.ВидыДоговоровСФизЛицами.ВоеннаяСлужбаПоКонтракту);
ВидыДоговоровВоеннослужащих.Добавить(Перечисления.ВидыДоговоровСФизЛицами.ВоеннаяСлужбаПоПризыву);
Запрос.УстановитьПараметр("ВидыДоговоровВоеннослужащих", ВидыДоговоровВоеннослужащих);

Если РежимЗаполнения = "ДействиеЗаполнитьПоВоеннослужащим" Тогда
УсловиеНаФизлица1 = "Сотрудник.ВидДоговора В (&ВидыДоговоровВоеннослужащих)";
УсловиеНаФизлица2 = "РаботникиОрганизации.Сотрудник.ВидДоговора В (&ВидыДоговоровВоеннослужащих)";
УсловиеНаФизлица3 = "Работники.Сотрудник.ВидДоговора В (&ВидыДоговоровВоеннослужащих)";
УсловиеНаФизлица4 = "ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник.ВидДоговора В (&ВидыДоговоровВоеннослужащих)";
ИначеЕсли РежимЗаполнения = "ДействиеЗаполнитьПоГражданскимЛицам" Тогда
УсловиеНаФизлица1 = "Сотрудник.ВидДоговора НЕ В (&ВидыДоговоровВоеннослужащих)";
УсловиеНаФизлица2 = "РаботникиОрганизации.Сотрудник.ВидДоговора НЕ В (&ВидыДоговоровВоеннослужащих)";
УсловиеНаФизлица3 = "Работники.Сотрудник.ВидДоговора НЕ В (&ВидыДоговоровВоеннослужащих)";
УсловиеНаФизлица4 = "ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник.ВидДоговора НЕ В (&ВидыДоговоровВоеннослужащих)";
Иначе
УсловиеНаФизлица1 = "&ПоВсемФизЛицам ИЛИ Сотрудник.ФизЛицо В (&ФизЛица)";
УсловиеНаФизлица2 = "&ПоВсемФизЛицам ИЛИ РаботникиОрганизации.Сотрудник.ФизЛицо В (&ФизЛица)";
УсловиеНаФизлица3 = "&ПоВсемФизЛицам ИЛИ Работники.Сотрудник.ФизЛицо В (&ФизЛица)";
УсловиеНаФизлица4 = "&ПоВсемФизЛицам ИЛИ ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо В (&ФизЛица)";
КонецЕсли;

ТекстЗапросаПоСпискуРаботников =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| РаботникиОрганизации.Сотрудник КАК Сотрудник,
| РаботникиОрганизации.Сотрудник.Физлицо КАК Физлицо
|ПОМЕСТИТЬ ВТСписокРаботников
|ИЗ
| РегистрСведений.РаботникиОрганизаций.СрезПоследних(
| &парамНачало,
| Организация = &парамГоловнаяОрганизация
| И (" + УсловиеНаФизлица1+ ")) КАК РаботникиОрганизации
|ГДЕ
| ВЫБОР
| КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало
| И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА РаботникиОрганизации.ПричинаИзмененияСостоянияЗавершения
| ИНАЧЕ РаботникиОрганизации.ПричинаИзмененияСостояния
| КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
| И ВЫБОР
| КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало
| И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА РаботникиОрганизации.ОбособленноеПодразделениеЗавершения
| ИНАЧЕ РаботникиОрганизации.ОбособленноеПодразделение
| КОНЕЦ = &парамОрганизация
| И ВЫБОР
| КОГДА &ПоВсемПодразделениям
| ТОГДА ИСТИНА
| КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало
| И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА РаботникиОрганизации.ПодразделениеОрганизацииЗавершения В
| (ВЫБРАТЬ
| Подразделения.Подразделение
| ИЗ
| ВТПодразделенияОтбора КАК Подразделения)
| ИНАЧЕ РаботникиОрганизации.ПодразделениеОрганизации В
| (ВЫБРАТЬ
| Подразделения.Подразделение
| ИЗ
| ВТПодразделенияОтбора КАК Подразделения)
| КОНЕЦ
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| РаботникиОрганизации.Сотрудник,
| РаботникиОрганизации.Сотрудник.Физлицо
|ИЗ
| РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизации
|ГДЕ
| РаботникиОрганизации.Период > &парамНачало
| И РаботникиОрганизации.Период <= &парамКонец
| И РаботникиОрганизации.Организация = &парамГоловнаяОрганизация
| И (" + УсловиеНаФизлица2+ ")
| И РаботникиОрганизации.ОбособленноеПодразделение = &парамОрганизация
| И (&ПоВсемПодразделениям
| ИЛИ РаботникиОрганизации.ПодразделениеОрганизации В
| (ВЫБРАТЬ
| Подразделения.Подразделение
| ИЗ
| ВТПодразделенияОтбора КАК Подразделения))
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Работники.Сотрудник,
| Работники.Сотрудник.Физлицо
|ИЗ
| РегистрСведений.РаботникиОрганизаций КАК Работники
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК ПериодыПерекрытия
| ПО Работники.Сотрудник = ПериодыПерекрытия.Сотрудник
| И (ПериодыПерекрытия.Период <= Работники.ПериодЗавершения)
| И (ПериодыПерекрытия.Период > Работники.Период)
| И (ПериодыПерекрытия.Организация = &парамГоловнаяОрганизация)
|ГДЕ
| Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| И Работники.ПериодЗавершения > &парамНачало
| И Работники.ПериодЗавершения <= &парамКонец
| И Работники.Организация = &парамГоловнаяОрганизация
| И Работники.ОбособленноеПодразделениеЗавершения = &парамОрганизация
| И (" + УсловиеНаФизлица3+ ")
| И (&ПоВсемПодразделениям
| ИЛИ Работники.ПодразделениеОрганизацииЗавершения В
| (ВЫБРАТЬ
| Подразделения.Подразделение
| ИЗ
| ВТПодразделенияОтбора КАК Подразделения))
| И ПериодыПерекрытия.Период ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник,
| ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник.Физлицо
|ИЗ
| Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
|ГДЕ
| ДоговорНаВыполнениеРаботСФизЛицом.ДатаНачала <= &парамКонец
| И ДоговорНаВыполнениеРаботСФизЛицом.ДатаОкончания >= &парамНачало
| И ДоговорНаВыполнениеРаботСФизЛицом.Проведен
| И ДоговорНаВыполнениеРаботСФизЛицом.Организация = &парамОрганизация
| И (" + УсловиеНаФизлица4+ ")
| И (&ПоВсемПодразделениям
| ИЛИ ДоговорНаВыполнениеРаботСФизЛицом.ПодразделениеОрганизации В
| (ВЫБРАТЬ
| Подразделения.Подразделение
| ИЗ
| ВТПодразделенияОтбора КАК Подразделения))
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник";

Иначе

Запрос.УстановитьПараметр("Сотрудники", МассивСотрудники);
ТекстЗапросаПоСпискуРаботников =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| СотрудникиОрганизаций.Ссылка КАК Сотрудник,
| СотрудникиОрганизаций.Физлицо
|ПОМЕСТИТЬ ВТСписокРаботников
|ИЗ
| Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
|ГДЕ
| СотрудникиОрганизаций.Ссылка В(&Сотрудники)
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник";

КонецЕсли;

// создаем временную таблицу с подразделениями
Запрос.Текст = ТекстЗапросаПоПодразделениям;
Запрос.УстановитьПараметр("ПоВсемПодразделениям", ПоВсемПодразделениямОрганизации);
Запрос.Выполнить();

// создаем временную таблицу ВТСписокРаботников с сотрудниками, отобранными по подразделению или из переданного списка
//
// Поля:
// Сотрудник
// Физлицо
//
Запрос.Текст = ТекстЗапросаПоСпискуРаботников;
Запрос.Выполнить();


Иначе

// создаем временную таблицу ВТСписокРаботников с сотрудниками, отобранными по критериям пользователя
//
// Поля:
// Сотрудник
// Физлицо
//
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Выполнить();

// объявим временную таблицу - она должна присутствовать, но использоваться не будет
Запрос.Текст =
"ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Подразделение
|ПОМЕСТИТЬ ВТПодразделенияОтбора";
Запрос.Выполнить();
Запрос.УстановитьПараметр("ПоВсемПодразделениям", Истина);

КонецЕсли;

// Установим параметры запроса
Запрос.УстановитьПараметр("парамПериодРегистрации" , ПериодРегистрации);
Запрос.УстановитьПараметр("парамНачало" , НачалоПериодаЗаполнения);
Запрос.УстановитьПараметр("парамКонец" , КонецДня(ОкончаниеПериодаЗаполнения));
Запрос.УстановитьПараметр("парамОрганизация" , Организация);
Запрос.УстановитьПараметр("парамГоловнаяОрганизация", ГоловнаяОрганизация);
Запрос.УстановитьПараметр("парамПодразделение" , ПодразделениеОрганизации);
Запрос.УстановитьПараметр("парамРегистратор" , Ссылка);
Запрос.УстановитьПараметр("парамНачалоМесяца" , НачалоМесяца(НачалоПериодаЗаполнения));
Запрос.УстановитьПараметр("парамДатаВалютногоУчета" , НачалоМесяца(НачалоПериодаЗаполнения));
Запрос.УстановитьПараметр("парамВалютаРегламентУчета" , Константы.ВалютаРегламентированногоУчета.Получить());
Запрос.УстановитьПараметр("парамМассивСпособовРасчетовБезВалюты" , ПроведениеРасчетовПереопределяемый.ПолучитьСписокСпособовРасчетаНеТребующихУказанияВалюты());
Запрос.УстановитьПараметр("Год",Год(НачалоПериодаЗаполнения));
Запрос.УстановитьПараметр("ЭтоПерерасчет", ЭтоПерерасчет);

СпособыРасчетаОтСтажа = Новый Массив;
СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ОтСтажаПоМесячнойТарифнойСтавкеПоЧасам);
СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ОтСтажаПоМесячнойТарифнойСтавкеПоДням);
СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ОтСтажаПоДневнойТарифнойСтавке);
СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ОтСтажаПоЧасовойТарифнойСтавке);
СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ОтСтажаПроцентом);
СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.СевернаяНадбавка);
Запрос.УстановитьПараметр("СпособыРасчетаОтСтажа", СпособыРасчетаОтСтажа);

Если Ссылка.Пустая() Тогда
СcылкаОбъекта = Документы.НачислениеЗарплатыРаботникамОрганизаций.ПолучитьСсылку();
УстановитьСсылкуНового(СcылкаОбъекта);
Иначе
СcылкаОбъекта = Ссылка;
КонецЕсли;
Запрос.УстановитьПараметр("Ссылка", СcылкаОбъекта);

//ТаблицаДвиженийРаботниковТекст
//Описание:
// Выбирает список работников, отвечающих условиям отбора, числящихся на начало месяца и их движения за месяц.

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

// таблица ВТЗначенияПоказателей
//
// Поля:
// Сотрудник
// Показатель - введенный пользователем показатель
// Значение - значение показателя
// Валюта
//
Запрос.Текст =
"ВЫБРАТЬ
| Работники.Сотрудник КАК Сотрудник,
| Работники.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| ЗначенияПоказателейСхемМотивации.Показатель КАК Показатель,
| ЗначенияПоказателейСхемМотивации.Валюта,
| ЗначенияПоказателейСхемМотивации.Значение
|ПОМЕСТИТЬ ВТЗначенияПоказателей
|ИЗ
| ВТДвиженияРаботников КАК Работники
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| Ежемесячно.Подразделение КАК Подразделение,
| Ежемесячно.Показатель КАК Показатель,
| Ежемесячно.Валюта КАК Валюта,
| Ежемесячно.Значение КАК Значение,
| Ежемесячно.Сотрудник КАК Сотрудник
| ИЗ
| РегистрСведений.ЗначенияПоказателейСхемМотивации КАК Ежемесячно
| ГДЕ
| Ежемесячно.Значение ЕСТЬ НЕ NULL
| И Ежемесячно.Организация = &парамОрганизация
| И Ежемесячно.ПериодДействия >= &парамНачало
| И Ежемесячно.ПериодДействия <= &парамКонец
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Подразделение,
| ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Показатель,
| ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Валюта,
| ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Значение,
| NULL
| ИЗ
| РегистрСведений.ПериодическиеЗначенияПоказателейСхемМотивации.СрезПоследних(&парамКонец, Организация = &парамОрганизация) КАК ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних) КАК ЗначенияПоказателейСхемМотивации
| ПО (ВЫБОР
| КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.Индивидуальный)
| ИЛИ ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя ЕСТЬ NULL
| ТОГДА Работники.Сотрудник = ЗначенияПоказателейСхемМотивации.Сотрудник
| КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.ПоПодразделению)
| ТОГДА Работники.ПодразделениеОрганизации = ЗначенияПоказателейСхемМотивации.Подразделение
| ИНАЧЕ ИСТИНА
| КОНЕЦ)
|
|ИНДЕКСИРОВАТЬ ПО
| Показатель
|";

Запрос.Выполнить();

// создание временных таблиц для последующего использования:
// ЗначенияПоказателей
// НеЗапрашиваемыеПриКадровыхПеремещениях
// ВводимыеВПлановыхНачисленияхПоказатели
// РаботникиИНачисления

Если ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет
ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНачислений
ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетУдержаний
ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ Тогда

// таблица НеЗапрашиваемыеПриКадровыхПеремещениях
// выбираем показатели, которые не спрашиваем у пользователя в кадровых документах, а также все "тарифные ставки" и их в.р.;
// значения этих показателей будем искать в данных о плановых начислениях, но, возможно, при других видах расчета
//
// Поля:
// Ссылка - вид расчета
// Показатель
// НомерСтроки - номер строки показателя
// ЭтоТарифнаяСтавка - признак того. что Показатель является тарифной ставкой
//

Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ОсновныеНачисленияОрганизацийПоказатели.Показатель КАК Показатель,
| ОсновныеНачисленияОрганизацийПоказатели.Показатель.ВозможностьИзменения,
| ОсновныеНачисленияОрганизацийПоказатели.НомерСтроки КАК НомерСтроки,
| ОсновныеНачисленияОрганизацийПоказатели.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная)
| ТОГДА ИСТИНА
| КОГДА ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная)
| ТОГДА ИСТИНА
| КОГДА ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая)
| ТОГДА ИСТИНА
| КОГДА ОсновныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоТарифнаяСтавка
|ПОМЕСТИТЬ ВТНеЗапрашиваемыеПриКадровыхПеремещениях
|ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК ОсновныеНачисленияОрганизацийПоказатели
|ГДЕ
| ((НЕ ОсновныеНачисленияОрганизацийПоказатели.ЗапрашиватьПриКадровыхПеремещениях)
| ИЛИ ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная)
| ИЛИ ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная)
| ИЛИ ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая)
| ИЛИ ОсновныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка)
| И ОсновныеНачисленияОрганизацийПоказатели.Показатель.ВозможностьИзменения <> ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| ДополнительныеНачисленияОрганизацийПоказатели.Показатель,
| ДополнительныеНачисленияОрганизацийПоказатели.Показатель.ВозможностьИзменения,
| ДополнительныеНачисленияОрганизацийПоказатели.НомерСтроки,
| ДополнительныеНачисленияОрганизацийПоказатели.Ссылка,
| ВЫБОР
| КОГДА ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная)
| ТОГДА ИСТИНА
| КОГДА ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная)
| ТОГДА ИСТИНА
| КОГДА ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая)
| ТОГДА ИСТИНА
| КОГДА ДополнительныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
|ИЗ
| ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК ДополнительныеНачисленияОрганизацийПоказатели
|ГДЕ
| ((НЕ ДополнительныеНачисленияОрганизацийПоказатели.ЗапрашиватьПриКадровыхПеремещениях)
| ИЛИ ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная)
| ИЛИ ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная)
| ИЛИ ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая)
| ИЛИ ДополнительныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка)
| И ДополнительныеНачисленияОрганизацийПоказатели.Показатель.ВозможностьИзменения <> ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| УдержанияОрганизацийПоказатели.Показатель,
| УдержанияОрганизацийПоказатели.Показатель.ВозможностьИзменения,
| УдержанияОрганизацийПоказатели.НомерСтроки,
| УдержанияОрганизацийПоказатели.Ссылка,
| ВЫБОР
| КОГДА УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная)
| ТОГДА ИСТИНА
| КОГДА УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная)
| ТОГДА ИСТИНА
| КОГДА УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая)
| ТОГДА ИСТИНА
| КОГДА УдержанияОрганизацийПоказатели.Показатель.ТарифнаяСтавка
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
|ИЗ
| ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК УдержанияОрганизацийПоказатели
|ГДЕ
| ((НЕ УдержанияОрганизацийПоказатели.ЗапрашиватьПриКадровыхПеремещениях)
| ИЛИ УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная)
| ИЛИ УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная)
| ИЛИ УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая)
| ИЛИ УдержанияОрганизацийПоказатели.Показатель.ТарифнаяСтавка)
| И УдержанияОрганизацийПоказатели.Показатель.ВозможностьИзменения <> ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
|
|ИНДЕКСИРОВАТЬ ПО
| Показатель";
Запрос.Выполнить();

// таблица ВводимыеВПлановыхНачисленияхПоказатели
// виды расчета и показатели, значения которых находятся при этих в.р. в данных о плановых начислениях
//
// Поля:
// Ссылка - вид расчета
// Показатель
// НомерСтроки - номер строки показателя
//
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ОсновныеНачисленияОрганизаций.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА ОсновныеНачисленияОрганизаций.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоДням), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоЧасам))
| ТОГДА ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная)
| КОГДА ОсновныеНачисленияОрганизаций.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоЧасовойТарифнойСтавке), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.СдельныйЗаработок))
| ТОГДА ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная)
| КОНЕЦ КАК Показатель,
| 1 КАК НомерСтроки,
| ИСТИНА КАК ЭтоТарифнаяСтавка
|ПОМЕСТИТЬ ВТВводимыеВПлановыхНачисленияхПоказатели
|ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
|ГДЕ
| ОсновныеНачисленияОрганизаций.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоДням), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоЧасам), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоЧасовойТарифнойСтавке), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.СдельныйЗаработок), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоДневнойТарифнойСтавке))
| И ОсновныеНачисленияОрганизаций.ЗачетОтработанногоВремени
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОсновныеНачисленияОрганизацийПоказатели.Ссылка,
| ОсновныеНачисленияОрганизацийПоказатели.Показатель,
| ОсновныеНачисленияОрганизацийПоказатели.НомерСтроки,
| ИСТИНА
|ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК ОсновныеНачисленияОрганизацийПоказатели
|ГДЕ
| (ОсновныеНачисленияОрганизацийПоказатели.Ссылка.ЗачетОтработанногоВремени
| И ОсновныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка
| И (НЕ ОсновныеНачисленияОрганизацийПоказатели.Показатель.Предопределенный)
| ИЛИ (ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная)
| ИЛИ ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная)
| ИЛИ ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая)
| ИЛИ ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ОВД)))
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОсновныеНачисленияОрганизацийПоказатели.Ссылка,
| ОсновныеНачисленияОрганизацийПоказатели.Показатель,
| ОсновныеНачисленияОрганизацийПоказатели.НомерСтроки,
| ЛОЖЬ
|ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК ОсновныеНачисленияОрганизацийПоказатели
|ГДЕ
| ОсновныеНачисленияОрганизацийПоказатели.Показатель В
| (ВЫБРАТЬ
| ВТНеЗапрашиваемыеПриКадровыхПеремещениях.Показатель
| ИЗ
| ВТНеЗапрашиваемыеПриКадровыхПеремещениях)
| И (НЕ ОсновныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка";

Запрос.Выполнить();

// РаботникиИНачисления
// Таблица движений работников с добавленными сведениями об их плановых начислениях
//
// Поля:
// Сотрудник
// ВидРасчета - плановое начисление
// Показатель1,...,6 - размеры показателей
// СпособРасчета - способ расчета начисления
// ГрафикРаботы - график сотрудника
// ВидГрафика, СуммированныйУчетРабочегоВремени, ДлительностьРабочейНедели - реквизиты графика сотрудника
//
// Описание:
//
// 1.
// 2.
//

Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Работники.Сотрудник КАК Сотрудник,
| Работники.Сотрудник.Наименование КАК СотрудникНаименование,
| Работники.Сотрудник.Физлицо КАК Физлицо,
| ВЫБОР
| КОГДА Работники.Период >= НачисленияРаботниковОрганизации.Период
| ИЛИ НачисленияРаботниковОрганизации.Период ЕСТЬ NULL
| ТОГДА Работники.Период
| ИНАЧЕ НачисленияРаботниковОрганизации.Период
| КОНЕЦ КАК Период,
| Работники.Подходит,
| Работники.Период КАК ПериодРаботники,
| НачисленияРаботниковОрганизации.Период КАК ПериодНачисления,
| НачисленияРаботниковОрганизации.ОсновноеНачисление,
| НачисленияРаботниковОрганизации.ВидРасчета,
| НачисленияРаботниковОрганизации.ВидРасчета.НачисляетсяВЦеломЗаМесяц КАК НачисляетсяВЦеломЗаМесяц,
| НачисленияРаботниковОрганизации.ВидРасчета.Наименование,
| НачисленияРаботниковОрганизации.ВидРасчета.ВидСтажа,
| НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда,
| НачисленияРаботниковОрганизации.ВидРасчета.КоэффициентСтажа,
| НачисленияРаботниковОрганизации.ВидРасчета.СпособРасчета КАК СпособРасчета,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета ССЫЛКА ПланВидовРасчета.ОсновныеНачисленияОрганизаций
| ТОГДА НачисленияРаботниковОрганизации.ВидРасчета.ВидВремени
| ИНАЧЕ NULL
| КОНЕЦ КАК ВидВремени,
| НачисленияРаботниковОрганизации.Действие КАК Действие,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2761)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код506)
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2720)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код501)
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2730)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код502)
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2760)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код503)
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2770)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код504)
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2790)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код507)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)
| КОНЕЦ КАК КодВычета,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда
| ИЛИ НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета
| И (НачисленияРаботниковОрганизации.ТарифныйРазряд1 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка)
| И НачисленияРаботниковОрганизации.ТарифныйРазряд1 ЕСТЬ НЕ NULL )
| ТОГДА ТарифныеСтавки1.Размер
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель1
| КОНЕЦ КАК Показатель1,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета
| И НачисленияРаботниковОрганизации.ТарифныйРазряд2 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка)
| И НачисленияРаботниковОрганизации.ТарифныйРазряд2 ЕСТЬ НЕ NULL
| ТОГДА ТарифныеСтавки2.Размер
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель2
| КОНЕЦ КАК Показатель2,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета
| И НачисленияРаботниковОрганизации.ТарифныйРазряд3 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка)
| И НачисленияРаботниковОрганизации.ТарифныйРазряд3 ЕСТЬ НЕ NULL
| ТОГДА ТарифныеСтавки3.Размер
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель3
| КОНЕЦ КАК Показатель3,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета
| И НачисленияРаботниковОрганизации.ТарифныйРазряд4 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка)
| И НачисленияРаботниковОрганизации.ТарифныйРазряд4 ЕСТЬ НЕ NULL
| ТОГДА ТарифныеСтавки4.Размер
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель4
| КОНЕЦ КАК Показатель4,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета
| И НачисленияРаботниковОрганизации.ТарифныйРазряд5 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка)
| И НачисленияРаботниковОрганизации.ТарифныйРазряд5 ЕСТЬ НЕ NULL
| ТОГДА ТарифныеСтавки5.Размер
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель5
| КОНЕЦ КАК Показатель5,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета
| И НачисленияРаботниковОрганизации.ТарифныйРазряд6 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка)
| И НачисленияРаботниковОрганизации.ТарифныйРазряд6 ЕСТЬ НЕ NULL
| ТОГДА ТарифныеСтавки6.Размер
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель6
| КОНЕЦ КАК Показатель6,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда
| ТОГДА ТарифныеСтавки1.Валюта
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта1
| КОНЕЦ КАК Валюта1,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда
| ТОГДА ТарифныеСтавки2.Валюта
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта2
| КОНЕЦ КАК Валюта2,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда
| ТОГДА ТарифныеСтавки3.Валюта
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта3
| КОНЕЦ КАК Валюта3,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда
| ТОГДА ТарифныеСтавки4.Валюта
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта4
| КОНЕЦ КАК Валюта4,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда
| ТОГДА ТарифныеСтавки5.Валюта
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта5
| КОНЕЦ КАК Валюта5,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда
| ТОГДА ТарифныеСтавки6.Валюта
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта6
| КОНЕЦ КАК Валюта6,
| НачисленияРаботниковОрганизации.ДатаНачалаСобытия КАК ДатаНачалаСобытия,
| Работники.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| Работники.ГрафикРаботы КАК ГрафикРаботы,
| ЕСТЬNULL(Работники.ГрафикРаботы.СуммированныйУчетРабочегоВремени, ЛОЖЬ) КАК СуммированныйУчетРабочегоВремени,
| ЕСТЬNULL(ВЫБОР
| КОГДА Работники.ГрафикРаботы.СокращенноеРабочееВремя
| И Работники.ГрафикРаботы.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка)
| ТОГДА Работники.ГрафикРаботы.ГрафикПолногоРабочегоВремени.ДлительностьРабочейНедели
| ИНАЧЕ Работники.ГрафикРаботы.ДлительностьРабочейНедели
| КОНЕЦ, 0) КАК ДлительностьРабочейНедели,
| Работники.ГрафикРаботы.ВидГрафика КАК ВидГрафика,
| Работники.Должность КАК Должность
|ПОМЕСТИТЬ ВТРаботникиИНачисления
|ИЗ
| ВТДвиженияРаботников КАК Работники
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| &парамНачало КАК Период,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчетаИзмерение.Код ЕСТЬ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ОсновноеНачисление,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)
| ТОГДА НачисленияРаботниковОрганизации.ВидРасчета
| ИНАЧЕ НачисленияРаботниковОрганизации.ВидРасчетаЗавершения
| КОНЕЦ
| ИНАЧЕ НачисленияРаботниковОрганизации.ВидРасчета
| КОНЕЦ КАК ВидРасчета,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.ДействиеЗавершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Действие
| КОНЕЦ КАК Действие,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Показатель1Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель1
| КОНЕЦ КАК Показатель1,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Показатель2Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель2
| КОНЕЦ КАК Показатель2,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Показатель3Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель3
| КОНЕЦ КАК Показатель3,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Показатель4Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель4
| КОНЕЦ КАК Показатель4,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Показатель5Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель5
| КОНЕЦ КАК Показатель5,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Показатель6Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель6
| КОНЕЦ КАК Показатель6,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Валюта1Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта1
| КОНЕЦ КАК Валюта1,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Валюта2Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта2
| КОНЕЦ КАК Валюта2,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Валюта3Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта3
| КОНЕЦ КАК Валюта3,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Валюта4Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта4
| КОНЕЦ КАК Валюта4,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Валюта5Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта5
| КОНЕЦ КАК Валюта5,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Валюта6Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта6
| КОНЕЦ КАК Валюта6,
| НачисленияРаботниковОрганизации.Сотрудник КАК Сотрудник,
| НачисленияРаботниковОрганизации.ДатаНачалаСобытия КАК ДатаНачалаСобытия,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд1Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд1
| КОНЕЦ КАК ТарифныйРазряд1,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд2Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд2
| КОНЕЦ КАК ТарифныйРазряд2,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд3Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд3
| КОНЕЦ КАК ТарифныйРазряд3,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд4Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд4
| КОНЕЦ КАК ТарифныйРазряд4,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд5Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд5
| КОНЕЦ КАК ТарифныйРазряд5,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд6Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд6
| КОНЕЦ КАК ТарифныйРазряд6
| ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
| &парамНачало,
| ДокументОснование = ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка)
| И Сотрудник В
| (ВЫБРАТЬ
| Работники.Сотрудник
| ИЗ
| ВТСписокРаботников КАК Работники)) КАК НачисленияРаботниковОрганизации
| ГДЕ
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.ДействиеЗавершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Действие
| КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| НачисленияРаботниковОрганизации.Период,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчетаИзмерение.Код ЕСТЬ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ,
| НачисленияРаботниковОрганизации.ВидРасчета,
| НачисленияРаботниковОрганизации.Действие,
| НачисленияРаботниковОрганизации.Показатель1,
| НачисленияРаботниковОрганизации.Показатель2,
| НачисленияРаботниковОрганизации.Показатель3,
| НачисленияРаботниковОрганизации.Показатель4,
| НачисленияРаботниковОрганизации.Показатель5,
| НачисленияРаботниковОрганизации.Показатель6,
| НачисленияРаботниковОрганизации.Валюта1,
| НачисленияРаботниковОрганизации.Валюта2,
| НачисленияРаботниковОрганизации.Валюта3,
| НачисленияРаботниковОрганизации.Валюта4,
| НачисленияРаботниковОрганизации.Валюта5,
| НачисленияРаботниковОрганизации.Валюта6,
| НачисленияРаботниковОрганизации.Сотрудник,
| НачисленияРаботниковОрганизации.ДатаНачалаСобытия,
| НачисленияРаботниковОрганизации.ТарифныйРазряд1,
| НачисленияРаботниковОрганизации.ТарифныйРазряд2,
| НачисленияРаботниковОрганизации.ТарифныйРазряд3,
| НачисленияРаботниковОрганизации.ТарифныйРазряд4,
| НачисленияРаботниковОрганизации.ТарифныйРазряд5,
| НачисленияРаботниковОрганизации.ТарифныйРазряд6
| ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников
| ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник
| ГДЕ
| НачисленияРаботниковОрганизации.Период > &парамНачало
| И НачисленияРаботниковОрганизации.Период <= &парамКонец
| И НачисленияРаботниковОрганизации.Организация = &парамГоловнаяОрганизация
| И НачисленияРаботниковОрганизации.ДокументОснование = ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| НачисленияРаботниковОрганизации.ПериодЗавершения,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ВидРасчетаИзмерение.Код ЕСТЬ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)
| ТОГДА НачисленияРаботниковОрганизации.ВидРасчета
| ИНАЧЕ НачисленияРаботниковОрганизации.ВидРасчетаЗавершения
| КОНЕЦ,
| НачисленияРаботниковОрганизации.ДействиеЗавершения,
| НачисленияРаботниковОрганизации.Показатель1Завершения,
| НачисленияРаботниковОрганизации.Показатель2Завершения,
| НачисленияРаботниковОрганизации.Показатель3Завершения,
| НачисленияРаботниковОрганизации.Показатель4Завершения,
| НачисленияРаботниковОрганизации.Показатель5Завершения,
| НачисленияРаботниковОрганизации.Показатель6Завершения,
| НачисленияРаботниковОрганизации.Валюта1Завершения,
| НачисленияРаботниковОрганизации.Валюта2Завершения,
| НачисленияРаботниковОрганизации.Валюта3Завершения,
| НачисленияРаботниковОрганизации.Валюта4Завершения,
| НачисленияРаботниковОрганизации.Валюта5Завершения,
| НачисленияРаботниковОрганизации.Валюта6Завершения,
| НачисленияРаботниковОрганизации.Сотрудник,
| НачисленияРаботниковОрганизации.ДатаНачалаСобытия,
| НачисленияРаботниковОрганизации.ТарифныйРазряд1Завершения,
| НачисленияРаботниковОрганизации.ТарифныйРазряд2Завершения,
| НачисленияРаботниковОрганизации.ТарифныйРазряд3Завершения,
| НачисленияРаботниковОрганизации.ТарифныйРазряд4Завершения,
| НачисленияРаботниковОрганизации.ТарифныйРазряд5Завершения,
| НачисленияРаботниковОрганизации.ТарифныйРазряд6Завершения
| ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников
| ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковПроверка
| ПО НачисленияРаботниковОрганизации.Сотрудник = НачисленияРаботниковПроверка.Сотрудник
| И НачисленияРаботниковОрганизации.ВидРасчетаИзмерение = НачисленияРаботниковПроверка.ВидРасчетаИзмерение
| И НачисленияРаботниковОрганизации.ДокументОснование = НачисленияРаботниковПроверка.ДокументОснование
| И (НачисленияРаботниковПроверка.Период > НачисленияРаботниковОрганизации.Период)
| И (НачисленияРаботниковПроверка.Период <= НачисленияРаботниковОрганизации.ПериодЗавершения)
| ГДЕ
| НачисленияРаботниковОрганизации.ПериодЗавершения >= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамКонец
| И НачисленияРаботниковОрганизации.Организация = &парамГоловнаяОрганизация
| И НачисленияРаботниковОрганизации.ДокументОснование = ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка)
| И НачисленияРаботниковПроверка.Сотрудник ЕСТЬ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВЫБОР
| КОГДА ОкладыПоВоинскимИСпециальнымЗваниямСрезПоследних.Период >= &парамНачало
| ТОГДА ОкладыПоВоинскимИСпециальнымЗваниямСрезПоследних.Период
| ИНАЧЕ &парамНачало
| КОНЕЦ,
| ЛОЖЬ,
| ОсновныеНачисленияОрганизаций.Ссылка,
| ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать),
| ОкладыПоВоинскимИСпециальнымЗваниямСрезПоследних.Размер,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка),
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ТаблицаДвиженийРаботников.Сотрудник,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL
| ИЗ
| РегистрСведений.ВоинскиеИСпециальныеЗвания.СрезПоследних(
| &парамНачало,
| ФизЛицо В
| (ВЫБРАТЬ
| Работники.ФизЛицо
| ИЗ
| ВТСписокРаботников КАК Работники)) КАК ВоинскиеИСпециальныеЗванияСрезПоследних
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников
| ПО ВоинскиеИСпециальныеЗванияСрезПоследних.ФизЛицо = ТаблицаДвиженийРаботников.ФизЛицо
| И (ТаблицаДвиженийРаботников.Сотрудник.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ВоеннаяСлужбаПоКонтракту))
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОкладыПоВоинскимИСпециальнымЗваниям.СрезПоследних(&парамНачало, ) КАК ОкладыПоВоинскимИСпециальнымЗваниямСрезПоследних
| ПО ВоинскиеИСпециальныеЗванияСрезПоследних.Звание = ОкладыПоВоинскимИСпециальнымЗваниямСрезПоследних.Звание
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОсновныеНачисленияОрганизаций.Ссылка КАК Ссылка
| ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
| ГДЕ
| ОсновныеНачисленияОрганизаций.ОтношениеКДенежномуСодержанию = ЗНАЧЕНИЕ(Перечисление.ОтношениеКДенежномуСодержанию.ОВЗ)) КАК ОсновныеНачисленияОрганизаций
| ПО (ИСТИНА)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВоинскиеИСпециальныеЗвания.Период,
| ЛОЖЬ,
| ОсновныеНачисленияОрганизаций.Ссылка,
| ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать),
| ОкладыПоВоинскимИСпециальнымЗваниямСрезПоследних.Размер,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка),
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ТаблицаДвиженийРаботников.Сотрудник,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL
| ИЗ
| РегистрСведений.ВоинскиеИСпециальныеЗвания КАК ВоинскиеИСпециальныеЗвания
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников
| ПО ВоинскиеИСпециальныеЗвания.ФизЛицо = ТаблицаДвиженийРаботников.ФизЛицо
| И (ТаблицаДвиженийРаботников.Сотрудник.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ВоеннаяСлужбаПоКонтракту))
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОкладыПоВоинскимИСпециальнымЗваниям.СрезПоследних(&парамНачало, ) КАК ОкладыПоВоинскимИСпециальнымЗваниямСрезПоследних
| ПО ВоинскиеИСпециальныеЗвания.Звание = ОкладыПоВоинскимИСпециальнымЗваниямСрезПоследних.Звание
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОсновныеНачисленияОрганизаций.Ссылка КАК Ссылка
| ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
| ГДЕ
| ОсновныеНачисленияОрганизаций.ОтношениеКДенежномуСодержанию = ЗНАЧЕНИЕ(Перечисление.ОтношениеКДенежномуСодержанию.ОВЗ)) КАК ОсновныеНачисленияОрганизаций
| ПО (ИСТИНА)
| ГДЕ
| ВоинскиеИСпециальныеЗвания.Период > &парамНачало
| И ВоинскиеИСпециальныеЗвания.Период <= &парамКонец
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВЫБОР
| КОГДА ОкладыПоКласснымЧинамДипломатическимРангамСрезПоследних.Период >= &парамНачало
| ТОГДА ОкладыПоКласснымЧинамДипломатическимРангамСрезПоследних.Период
| ИНАЧЕ &парамНачало
| КОНЕЦ,
| ЛОЖЬ,
| ОсновныеНачисленияОрганизаций.Ссылка,
| ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать),
| ОкладыПоКласснымЧинамДипломатическимРангамСрезПоследних.Размер,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка),
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ТаблицаДвиженийРаботников.Сотрудник,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL
| ИЗ
| РегистрСведений.КлассныеЧиныДипломатическиеРангиФизлиц.СрезПоследних(
| &парамНачало,
| ФизЛицо В
| (ВЫБРАТЬ
| Работники.ФизЛицо
| ИЗ
| ВТСписокРаботников КАК Работники)) КАК КлассныеЧиныДипломатическиеРангиФизлицСрезПоследних
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников
| ПО КлассныеЧиныДипломатическиеРангиФизлицСрезПоследних.ФизЛицо = ТаблицаДвиженийРаботников.ФизЛицо
| И (ТаблицаДвиженийРаботников.Сотрудник.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ГосударственнаяСлужба))
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОкладыПоКласснымЧинамДипломатическимРангам.СрезПоследних(&парамНачало, ) КАК ОкладыПоКласснымЧинамДипломатическимРангамСрезПоследних
| ПО КлассныеЧиныДипломатическиеРангиФизлицСрезПоследних.КлассныйЧин = ОкладыПоКласснымЧинамДипломатическимРангамСрезПоследних.КлассныйЧин
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОсновныеНачисленияОрганизаций.Ссылка КАК Ссылка
| ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
| ГДЕ
| ОсновныеНачисленияОрганизаций.ОтношениеКДенежномуСодержанию = ЗНАЧЕНИЕ(Перечисление.ОтношениеКДенежномуСодержанию.ОкладЗаКлассныйЧин)) КАК ОсновныеНачисленияОрганизаций
| ПО (ИСТИНА)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| КлассныеЧиныДипломатическиеРангиФизлиц.Период,
| ЛОЖЬ,
| ОсновныеНачисленияОрганизаций.Ссылка,
| ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать),
| ОкладыПоКласснымЧинамДипломатическимРангамСрезПоследних.Размер,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка),
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ТаблицаДвиженийРаботников.Сотрудник,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL
| ИЗ
| РегистрСведений.КлассныеЧиныДипломатическиеРангиФизлиц КАК КлассныеЧиныДипломатическиеРангиФизлиц
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников
| ПО КлассныеЧиныДипломатическиеРангиФизлиц.ФизЛицо = ТаблицаДвиженийРаботников.ФизЛицо
| И (ТаблицаДвиженийРаботников.Сотрудник.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ГосударственнаяСлужба))
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОкладыПоКласснымЧинамДипломатическимРангам.СрезПоследних(&парамНачало, ) КАК ОкладыПоКласснымЧинамДипломатическимРангамСрезПоследних
| ПО КлассныеЧиныДипломатическиеРангиФизлиц.КлассныйЧин = ОкладыПоКласснымЧинамДипломатическимРангамСрезПоследних.КлассныйЧин
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОсновныеНачисленияОрганизаций.Ссылка КАК Ссылка
| ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
| ГДЕ
| ОсновныеНачисленияОрганизаций.ОтношениеКДенежномуСодержанию = ЗНАЧЕНИЕ(Перечисление.ОтношениеКДенежномуСодержанию.ОкладЗаКлассныйЧин)) КАК ОсновныеНачисленияОрганизаций
| ПО (ИСТИНА)
| ГДЕ
| КлассныеЧиныДипломатическиеРангиФизлиц.Период > &парамНачало
| И КлассныеЧиныДипломатическиеРангиФизлиц.Период <= &парамКонец
| ) КАК НачисленияРаботниковОрганизации
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки1
| ПО НачисленияРаботниковОрганизации.ТарифныйРазряд1 = ТарифныеСтавки1.ТарифныйРазряд
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки2
| ПО НачисленияРаботниковОрганизации.ТарифныйРазряд2 = ТарифныеСтавки2.ТарифныйРазряд
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки3
| ПО НачисленияРаботниковОрганизации.ТарифныйРазряд3 = ТарифныеСтавки3.ТарифныйРазряд
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки4
| ПО НачисленияРаботниковОрганизации.ТарифныйРазряд4 = ТарифныеСтавки4.ТарифныйРазряд
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки5
| ПО НачисленияРаботниковОрганизации.ТарифныйРазряд5 = ТарифныеСтавки5.ТарифныйРазряд
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки6
| ПО НачисленияРаботниковОрганизации.ТарифныйРазряд6 = ТарифныеСтавки6.ТарифныйРазряд
| ПО Работники.Сотрудник = НачисленияРаботниковОрганизации.Сотрудник
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник
|";

Запрос.Выполнить();

//получим все невводимые показатели
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СписокНачислений.Сотрудник КАК Сотрудник,
| СписокНачислений.Период,
| СписокНачислений.ПериодРаботники,
| СписокНачислений.ПериодНачисления,
| ВводимыеПоказатели.Показатель КАК Показатель,
| ВЫБОР
| КОГДА ВводимыеПоказатели.НомерСтроки = 1
| ТОГДА СписокНачислений.Показатель1
| КОГДА ВводимыеПоказатели.НомерСтроки = 2
| ТОГДА СписокНачислений.Показатель2
| КОГДА ВводимыеПоказатели.НомерСтроки = 3
| ТОГДА СписокНачислений.Показатель3
| КОГДА ВводимыеПоказатели.НомерСтроки = 4
| ТОГДА СписокНачислений.Показатель4
| КОГДА ВводимыеПоказатели.НомерСтроки = 5
| ТОГДА СписокНачислений.Показатель5
| КОГДА ВводимыеПоказатели.НомерСтроки = 6
| ТОГДА СписокНачислений.Показатель6
| КОНЕЦ КАК ЗначениеПоказателя
|ПОМЕСТИТЬ ВТЗначенияВводимыхКадровыхПоказателей
|ИЗ
| ВТРаботникиИНачисления КАК СписокНачислений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТВводимыеВПлановыхНачисленияхПоказатели КАК ВводимыеПоказатели
| ПО СписокНачислений.ВидРасчета = ВводимыеПоказатели.Ссылка
|
|";
Запрос.Выполнить();

КонецЕсли;

// таблица Показатели
// видам начислений приписываются введенные пользователями для каждого сотрудника значения показателей
//
// Поля:
// ВидРасчета
// Сотрудник
// Показатель1,2,...,6 - значения соответствующих показателей
// Валюта
//

Если ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет Тогда

Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПоказателиВидовРасчета.Ссылка КАК ВидРасчета,
| ПоказателиВидовРасчета.Показатель1.ТипПоказателя КАК ТипПоказателя1,
| ПоказателиВидовРасчета.Показатель2.ТипПоказателя КАК ТипПоказателя2,
| ПоказателиВидовРасчета.Показатель3.ТипПоказателя КАК ТипПоказателя3,
| ПоказателиВидовРасчета.Показатель4.ТипПоказателя КАК ТипПоказателя4,
| ПоказателиВидовРасчета.Показатель5.ТипПоказателя КАК ТипПоказателя5,
| ПоказателиВидовРасчета.Показатель6.ТипПоказателя КАК ТипПоказателя6,
| ПоказателиВидовРасчета.Показатель1 КАК Показатель1,
| ПоказателиВидовРасчета.Показатель2 КАК Показатель2,
| ПоказателиВидовРасчета.Показатель3 КАК Показатель3,
| ПоказателиВидовРасчета.Показатель4 КАК Показатель4,
| ПоказателиВидовРасчета.Показатель5 КАК Показатель5,
| ПоказателиВидовРасчета.Показатель6 КАК Показатель6,
| ПоказателиВидовРасчета.Показатель1.ВозможностьИзменения КАК ВозможностьИзменения1,
| ПоказателиВидовРасчета.Показатель2.ВозможностьИзменения КАК ВозможностьИзменения2,
| ПоказателиВидовРасчета.Показатель3.ВозможностьИзменения КАК ВозможностьИзменения3,
| ПоказателиВидовРасчета.Показатель4.ВозможностьИзменения КАК ВозможностьИзменения4,
| ПоказателиВидовРасчета.Показатель5.ВозможностьИзменения КАК ВозможностьИзменения5,
| ПоказателиВидовРасчета.Показатель6.ВозможностьИзменения КАК ВозможностьИзменения6
|ПОМЕСТИТЬ ВТПоказателиИВР
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОсновныеНачисленияОрганизаций.Ссылка КАК Ссылка,
| Показатели1.Показатель КАК Показатель1,
| Показатели2.Показатель КАК Показатель2,
| Показатели3.Показатель КАК Показатель3,
| Показатели4.Показатель КАК Показатель4,
| Показатели5.Показатель КАК Показатель5,
| Показатели6.Показатель КАК Показатель6
| ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели1
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели1.Ссылка
| И (Показатели1.НомерСтроки = 1)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели2
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка
| И (Показатели2.НомерСтроки = 2)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели3
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели3.Ссылка
| И (Показатели3.НомерСтроки = 3)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели4
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели4.Ссылка
| И (Показатели4.НомерСтроки = 4)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели5
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели5.Ссылка
| И (Показатели5.НомерСтроки = 5)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели6
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели6.Ссылка
| И (Показатели6.НомерСтроки = 6)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДополнительныеНачисленияОрганизаций.Ссылка,
| Показатели1.Показатель,
| Показатели2.Показатель,
| Показатели3.Показатель,
| Показатели4.Показатель,
| Показатели5.Показатель,
| Показатели6.Показатель
| ИЗ
| ПланВидовРасчета.ДополнительныеНачисленияОрганизаций КАК ДополнительныеНачисленияОрганизаций
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели1
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели1.Ссылка
| И (Показатели1.НомерСтроки = 1)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели2
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка
| И (Показатели2.НомерСтроки = 2)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели3
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели3.Ссылка
| И (Показатели3.НомерСтроки = 3)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели4
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели4.Ссылка
| И (Показатели4.НомерСтроки = 4)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели5
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели5.Ссылка
| И (Показатели5.НомерСтроки = 5)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели6
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели6.Ссылка
| И (Показатели6.НомерСтроки = 6)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| УдержанияОрганизаций.Ссылка,
| Показатели1.Показатель,
| Показатели2.Показатель,
| Показатели3.Показатель,
| Показатели4.Показатель,
| Показатели5.Показатель,
| Показатели6.Показатель
| ИЗ
| ПланВидовРасчета.УдержанияОрганизаций КАК УдержанияОрганизаций
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели1
| ПО УдержанияОрганизаций.Ссылка = Показатели1.Ссылка
| И (Показатели1.НомерСтроки = 1)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели2
| ПО УдержанияОрганизаций.Ссылка = Показатели2.Ссылка
| И (Показатели2.НомерСтроки = 2)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели3
| ПО УдержанияОрганизаций.Ссылка = Показатели3.Ссылка
| И (Показатели3.НомерСтроки = 3)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели4
| ПО УдержанияОрганизаций.Ссылка = Показатели4.Ссылка
| И (Показатели4.НомерСтроки = 4)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели5
| ПО УдержанияОрганизаций.Ссылка = Показатели5.Ссылка
| И (Показатели5.НомерСтроки = 5)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели6
| ПО УдержанияОрганизаций.Ссылка = Показатели6.Ссылка
| И (Показатели6.НомерСтроки = 6)) КАК ПоказателиВидовРасчета
|
|ИНДЕКСИРОВАТЬ ПО
| Показатель1,
| Показатель2,
| Показатель3,
| Показатель4,
| Показатель5,
| Показатель6
|";


Запрос.Выполнить();

ИначеЕсли ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНачислений Тогда

Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПоказателиВидовРасчета.Ссылка КАК ВидРасчета,
| ПоказателиВидовРасчета.Показатель1.ТипПоказателя КАК ТипПоказателя1,
| ПоказателиВидовРасчета.Показатель2.ТипПоказателя КАК ТипПоказателя2,
| ПоказателиВидовРасчета.Показатель3.ТипПоказателя КАК ТипПоказателя3,
| ПоказателиВидовРасчета.Показатель4.ТипПоказателя КАК ТипПоказателя4,
| ПоказателиВидовРасчета.Показатель5.ТипПоказателя КАК ТипПоказателя5,
| ПоказателиВидовРасчета.Показатель6.ТипПоказателя КАК ТипПоказателя6,
| ПоказателиВидовРасчета.Показатель1 КАК Показатель1,
| ПоказателиВидовРасчета.Показатель2 КАК Показатель2,
| ПоказателиВидовРасчета.Показатель3 КАК Показатель3,
| ПоказателиВидовРасчета.Показатель4 КАК Показатель4,
| ПоказателиВидовРасчета.Показатель5 КАК Показатель5,
| ПоказателиВидовРасчета.Показатель6 КАК Показатель6,
| ПоказателиВидовРасчета.Показатель1.ВозможностьИзменения КАК ВозможностьИзменения1,
| ПоказателиВидовРасчета.Показатель2.ВозможностьИзменения КАК ВозможностьИзменения2,
| ПоказателиВидовРасчета.Показатель3.ВозможностьИзменения КАК ВозможностьИзменения3,
| ПоказателиВидовРасчета.Показатель4.ВозможностьИзменения КАК ВозможностьИзменения4,
| ПоказателиВидовРасчета.Показатель5.ВозможностьИзменения КАК ВозможностьИзменения5,
| ПоказателиВидовРасчета.Показатель6.ВозможностьИзменения КАК ВозможностьИзменения6
|ПОМЕСТИТЬ ВТПоказателиИВР
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОсновныеНачисленияОрганизаций.Ссылка КАК Ссылка,
| Показатели1.Показатель КАК Показатель1,
| Показатели2.Показатель КАК Показатель2,
| Показатели3.Показатель КАК Показатель3,
| Показатели4.Показатель КАК Показатель4,
| Показатели5.Показатель КАК Показатель5,
| Показатели6.Показатель КАК Показатель6
| ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели1
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели1.Ссылка
| И (Показатели1.НомерСтроки = 1)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели2
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка
| И (Показатели2.НомерСтроки = 2)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели3
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели3.Ссылка
| И (Показатели3.НомерСтроки = 3)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели4
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели4.Ссылка
| И (Показатели4.НомерСтроки = 4)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели5
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели5.Ссылка
| И (Показатели5.НомерСтроки = 5)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели6
| ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели6.Ссылка
| И (Показатели6.НомерСтроки = 6)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДополнительныеНачисленияОрганизаций.Ссылка,
| Показатели1.Показатель,
| Показатели2.Показатель,
| Показатели3.Показатель,
| Показатели4.Показатель,
| Показатели5.Показатель,
| Показатели6.Показатель
| ИЗ
| ПланВидовРасчета.ДополнительныеНачисленияОрганизаций КАК ДополнительныеНачисленияОрганизаций
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели1
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели1.Ссылка
| И (Показатели1.НомерСтроки = 1)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели2
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка
| И (Показатели2.НомерСтроки = 2)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели3
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели3.Ссылка
| И (Показатели3.НомерСтроки = 3)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели4
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели4.Ссылка
| И (Показатели4.НомерСтроки = 4)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели5
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели5.Ссылка
| И (Показатели5.НомерСтроки = 5)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели6
| ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели6.Ссылка
| И (Показатели6.НомерСтроки = 6)
|) КАК ПоказателиВидовРасчета
|
|ИНДЕКСИРОВАТЬ ПО
| Показатель1,
| Показатель2,
| Показатель3,
| Показатель4,
| Показатель5,
| Показатель6
|";
Запрос.Выполнить();
Иначе
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПоказателиВидовРасчета.Ссылка КАК ВидРасчета,
| ПоказателиВидовРасчета.Показатель1.ТипПоказателя КАК ТипПоказателя1,
| ПоказателиВидовРасчета.Показатель2.ТипПоказателя КАК ТипПоказателя2,
| ПоказателиВидовРасчета.Показатель3.ТипПоказателя КАК ТипПоказателя3,
| ПоказателиВидовРасчета.Показатель4.ТипПоказателя КАК ТипПоказателя4,
| ПоказателиВидовРасчета.Показатель5.ТипПоказателя КАК ТипПоказателя5,
| ПоказателиВидовРасчета.Показатель6.ТипПоказателя КАК ТипПоказателя6,
| ПоказателиВидовРасчета.Показатель1 КАК Показатель1,
| ПоказателиВидовРасчета.Показатель2 КАК Показатель2,
| ПоказателиВидовРасчета.Показатель3 КАК Показатель3,
| ПоказателиВидовРасчета.Показатель4 КАК Показатель4,
| ПоказателиВидовРасчета.Показатель5 КАК Показатель5,
| ПоказателиВидовРасчета.Показатель6 КАК Показатель6,
| ПоказателиВидовРасчета.Показатель1.ВозможностьИзменения КАК ВозможностьИзменения1,
| ПоказателиВидовРасчета.Показатель2.ВозможностьИзменения КАК ВозможностьИзменения2,
| ПоказателиВидовРасчета.Показатель3.ВозможностьИзменения КАК ВозможностьИзменения3,
| ПоказателиВидовРасчета.Показатель4.ВозможностьИзменения КАК ВозможностьИзменения4,
| ПоказателиВидовРасчета.Показатель5.ВозможностьИзменения КАК ВозможностьИзменения5,
| ПоказателиВидовРасчета.Показатель6.ВозможностьИзменения КАК ВозможностьИзменения6
|ПОМЕСТИТЬ ВТПоказателиИВР
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| УдержанияОрганизаций.Ссылка КАК Ссылка,
| Показатели1.Показатель КАК Показатель1,
| Показатели2.Показатель КАК Показатель2,
| Показатели3.Показатель КАК Показатель3,
| Показатели4.Показатель КАК Показатель4,
| Показатели5.Показатель КАК Показатель5,
| Показатели6.Показатель КАК Показатель6
| ИЗ
| ПланВидовРасчета.УдержанияОрганизаций КАК УдержанияОрганизаций
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели1
| ПО УдержанияОрганизаций.Ссылка = Показатели1.Ссылка
| И (Показатели1.НомерСтроки = 1)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели2
| ПО УдержанияОрганизаций.Ссылка = Показатели2.Ссылка
| И (Показатели2.НомерСтроки = 2)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели3
| ПО УдержанияОрганизаций.Ссылка = Показатели3.Ссылка
| И (Показатели3.НомерСтроки = 3)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели4
| ПО УдержанияОрганизаций.Ссылка = Показатели4.Ссылка
| И (Показатели4.НомерСтроки = 4)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели5
| ПО УдержанияОрганизаций.Ссылка = Показатели5.Ссылка
| И (Показатели5.НомерСтроки = 5)
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели6
| ПО УдержанияОрганизаций.Ссылка = Показатели6.Ссылка
| И (Показатели6.НомерСтроки = 6)) КАК ПоказателиВидовРасчета
|
|ИНДЕКСИРОВАТЬ ПО
| Показатель1,
| Показатель2,
| Показатель3,
| Показатель4,
| Показатель5,
| Показатель6";

Запрос.Выполнить();
КонецЕсли;

Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ВложеныйЗапрос.ВидРасчета КАК ВидРасчета,
| ВложеныйЗапрос.Сотрудник КАК Сотрудник,
| ВложеныйЗапрос.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя1) КАК ТипПоказателя1,
| МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения1) КАК ВозможностьИзменения1,
| МАКСИМУМ(ВложеныйЗапрос.Показатель1) КАК Показатель1,
| МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя2) КАК ТипПоказателя2,
| МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения2) КАК ВозможностьИзменения2,
| МАКСИМУМ(ВложеныйЗапрос.Показатель2) КАК Показатель2,
| МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя3) КАК ТипПоказателя3,
| МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения3) КАК ВозможностьИзменения3,
| МАКСИМУМ(ВложеныйЗапрос.Показатель3) КАК Показатель3,
| МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя4) КАК ТипПоказателя4,
| МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения4) КАК ВозможностьИзменения4,
| МАКСИМУМ(ВложеныйЗапрос.Показатель4) КАК Показатель4,
| МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя5) КАК ТипПоказателя5,
| МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения5) КАК ВозможностьИзменения5,
| МАКСИМУМ(ВложеныйЗапрос.Показатель5) КАК Показатель5,
| МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя6) КАК ТипПоказателя6,
| МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения6) КАК ВозможностьИзменения6,
| МАКСИМУМ(ВложеныйЗапрос.Показатель6) КАК Показатель6,
| МАКСИМУМ(ВложеныйЗапрос.Валюта1) КАК Валюта1,
| МАКСИМУМ(ВложеныйЗапрос.Валюта2) КАК Валюта2,
| МАКСИМУМ(ВложеныйЗапрос.Валюта3) КАК Валюта3,
| МАКСИМУМ(ВложеныйЗапрос.Валюта4) КАК Валюта4,
| МАКСИМУМ(ВложеныйЗапрос.Валюта5) КАК Валюта5,
| МАКСИМУМ(ВложеныйЗапрос.Валюта6) КАК Валюта6
|ПОМЕСТИТЬ ВТПоказатели
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПоказателиИВР.ВидРасчета КАК ВидРасчета,
| ЗначенияПоказателей1.Сотрудник КАК Сотрудник,
| ЗначенияПоказателей1.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| ПоказателиИВР.ТипПоказателя1 КАК ТипПоказателя1,
| ПоказателиИВР.ВозможностьИзменения1 КАК ВозможностьИзменения1,
| ЗначенияПоказателей1.Значение КАК Показатель1,
| NULL КАК ТипПоказателя2,
| NULL КАК ВозможностьИзменения2,
| NULL КАК Показатель2,
| NULL КАК ТипПоказателя3,
| NULL КАК ВозможностьИзменения3,
| NULL КАК Показатель3,
| NULL КАК ТипПоказателя4,
| NULL КАК ВозможностьИзменения4,
| NULL КАК Показатель4,
| NULL КАК ТипПоказателя5,
| NULL КАК ВозможностьИзменения5,
| NULL КАК Показатель5,
| NULL КАК ТипПоказателя6,
| NULL КАК ВозможностьИзменения6,
| NULL КАК Показатель6,
| ЗначенияПоказателей1.Валюта КАК Валюта1,
| NULL КАК Валюта2,
| NULL КАК Валюта3,
| NULL КАК Валюта4,
| NULL КАК Валюта5,
| NULL КАК Валюта6
| ИЗ
| ВТПоказателиИВР КАК ПоказателиИВР
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей1
| ПО ПоказателиИВР.Показатель1 = ЗначенияПоказателей1.Показатель
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПоказателиИВР.ВидРасчета,
| ЗначенияПоказателей2.Сотрудник,
| ЗначенияПоказателей2.ПодразделениеОрганизации,
| NULL,
| NULL,
| NULL,
| ПоказателиИВР.ТипПоказателя2,
| ПоказателиИВР.ВозможностьИзменения2,
| ЗначенияПоказателей2.Значение,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ЗначенияПоказателей2.Валюта,
| NULL,
| NULL,
| NULL,
| NULL
| ИЗ
| ВТПоказателиИВР КАК ПоказателиИВР
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей2
| ПО ПоказателиИВР.Показатель2 = ЗначенияПоказателей2.Показатель
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПоказателиИВР.ВидРасчета,
| ЗначенияПоказателей3.Сотрудник,
| ЗначенияПоказателей3.ПодразделениеОрганизации,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ПоказателиИВР.ТипПоказателя3,
| ПоказателиИВР.ВозможностьИзменения3,
| ЗначенияПоказателей3.Значение,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ЗначенияПоказателей3.Валюта,
| NULL,
| NULL,
| NULL
| ИЗ
| ВТПоказателиИВР КАК ПоказателиИВР
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей3
| ПО ПоказателиИВР.Показатель3 = ЗначенияПоказателей3.Показатель
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПоказателиИВР.ВидРасчета,
| ЗначенияПоказателей4.Сотрудник,
| ЗначенияПоказателей4.ПодразделениеОрганизации,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ПоказателиИВР.ТипПоказателя4,
| ПоказателиИВР.ВозможностьИзменения4,
| ЗначенияПоказателей4.Значение,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ЗначенияПоказателей4.Валюта,
| NULL,
| NULL
| ИЗ
| ВТПоказателиИВР КАК ПоказателиИВР
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей4
| ПО ПоказателиИВР.Показатель4 = ЗначенияПоказателей4.Показатель
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПоказателиИВР.ВидРасчета,
| ЗначенияПоказателей5.Сотрудник,
| ЗначенияПоказателей5.ПодразделениеОрганизации,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ПоказателиИВР.ТипПоказателя5,
| ПоказателиИВР.ВозможностьИзменения5,
| ЗначенияПоказателей5.Значение,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ЗначенияПоказателей5.Валюта,
| NULL
| ИЗ
| ВТПоказателиИВР КАК ПоказателиИВР
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей5
| ПО ПоказателиИВР.Показатель5 = ЗначенияПоказателей5.Показатель
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПоказателиИВР.ВидРасчета,
| ЗначенияПоказателей6.Сотрудник,
| ЗначенияПоказателей6.ПодразделениеОрганизации,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ПоказателиИВР.ТипПоказателя6,
| ПоказателиИВР.ВозможностьИзменения6,
| ЗначенияПоказателей6.Значение,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ЗначенияПоказателей6.Валюта
| ИЗ
| ВТПоказателиИВР КАК ПоказателиИВР
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей6
| ПО ПоказателиИВР.Показатель6 = ЗначенияПоказателей6.Показатель) КАК ВложеныйЗапрос
|ГДЕ
| (ВложеныйЗапрос.Показатель1 <> 0
| ИЛИ ВложеныйЗапрос.Показатель2 <> 0
| ИЛИ ВложеныйЗапрос.Показатель3 <> 0
| ИЛИ ВложеныйЗапрос.Показатель4 <> 0
| ИЛИ ВложеныйЗапрос.Показатель5 <> 0
| ИЛИ ВложеныйЗапрос.Показатель6 <> 0)
|
|СГРУППИРОВАТЬ ПО
| ВложеныйЗапрос.ВидРасчета,
| ВложеныйЗапрос.Сотрудник,
| ВложеныйЗапрос.ПодразделениеОрганизации
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| ПодразделениеОрганизации,
| ВидРасчета";

Запрос.Выполнить();

МассивВалютСНезаданнымКурсом = Новый Соответствие;

// АВТОЗАПОЛНЕНИЕ ТЧ "Начисления", "ДополнительныеНачисления" и "ДоговорыНаВыполнениеРабот"
Если ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет
ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНачислений
ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ Тогда

// таблица ОсновныеНачисления
// выборка сведений об уже выполненных начислениях за отработанное время - для выбрасывания
// ранее "обслуженных" работников
// Поля:
// Сотрудник,
// ПодразделениеОрганизации
//

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

Иначе
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ОсновныеНачисления.Сотрудник КАК Сотрудник,
| ОсновныеНачисления.ПодразделениеОрганизации КАК ПодразделениеОрганизации
|ПОМЕСТИТЬ ВТОсновныеНачисления
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ТаблицаДвиженийРаботников
| ПО ОсновныеНачисления.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник
|ГДЕ
| ОсновныеНачисления.ПериодРегистрации = &парамПериодРегистрации
| И ОсновныеНачисления.ПериодДействияКонец <= &парамКонец
| И ОсновныеНачисления.ПериодДействияНачало >= &парамНачало
| И ОсновныеНачисления.Организация = &парамГоловнаяОрганизация
| И (ОсновныеНачисления.ВидРасчета.ЗачетОтработанногоВремени
| И ОсновныеНачисления.ВидРасчета.ЗачетНормыВремени
| ИЛИ ОсновныеНачисления.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОтпускПоУходуЗаРебенкомБезОплаты))
| И (НЕ ОсновныеНачисления.Сторно)
| И ОсновныеНачисления.Регистратор <> &парамРегистратор
| И ОсновныеНачисления.ОбособленноеПодразделение = &парамОрганизация
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник";
Запрос.Выполнить();
КонецЕсли;

// НормаВремениПоСводнымИндивидуальнымГрафикам
// Сотрудники, для которых введены сводные данные об их графике
//
// Поля:
// Сотрудник
// ЧасовЗаМесяц - указанное пользователем значение
//

Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| СписокРаботников.Сотрудник КАК Сотрудник,
| СводныеИндивидуальныеГрафики.Часов КАК ЧасовЗаМесяц
|ПОМЕСТИТЬ ВТНормаВремениПоСводнымИндивидуальнымГрафикам
|ИЗ
| ВТСписокРаботников КАК СписокРаботников
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СводныеИндивидуальныеГрафики КАК СводныеИндивидуальныеГрафики
| ПО СписокРаботников.Сотрудник = СводныеИндивидуальныеГрафики.Сотрудник
| И (СводныеИндивидуальныеГрафики.Месяц = &парамНачалоМесяца)
|ГДЕ
| СводныеИндивидуальныеГрафики.Сотрудник ЕСТЬ НЕ NULL
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник";
Запрос.Выполнить();

// НормаВремениПоЕжедневнымИндивидуальнымГрафикам
// Таблица сотрудников и нормы времени в часах, введенной индивидуальными графиками
//
// Поля:
// Сотрудник,
// ЧасовЗаМесяц - суммируем все часы рабочего времени
//
// Описание:
//
// выбираем данные из рег-ра ГрафикиРаботыПоВидамВремени,
// введенные доками ВводИндивидуальныхГрафиков, т.е. по строкам с выставленным флажком План

Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СписокРаботников.Сотрудник КАК Сотрудник,
| СУММА(ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение) КАК ЧасовЗаМесяц
|ПОМЕСТИТЬ ВТНормаВремениПоЕжедневнымИндивидуальнымГрафикам
|ИЗ
| ВТСписокРаботников КАК СписокРаботников
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
| ПО СписокРаботников.Сотрудник = ГрафикиРаботыПоВидамВремени.ГрафикРаботы
| И (ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням))
| И (ГрафикиРаботыПоВидамВремени.Месяц = &парамНачалоМесяца)
| И (ГрафикиРаботыПоВидамВремени.План)
|ГДЕ
| ГрафикиРаботыПоВидамВремени.ГрафикРаботы ЕСТЬ НЕ NULL
|
|СГРУППИРОВАТЬ ПО
| СписокРаботников.Сотрудник
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник";
Запрос.Выполнить();

// НормаВремениПоОбщимГрафикам
// Таблица сотрудников и нормы времени в часах по общим графикам
//
// Поля:
// Сотрудник,
// ЧасовЗаМесяц - суммируем все часы рабочего времени
//
// Описание:
//
// выбираем данные из рег-ра ГрафикиРаботыПоВидамВремени для общих графиков

Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СписокРаботников.Сотрудник КАК Сотрудник,
| СписокРаботников.ГрафикРаботы,
| СУММА(ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение) КАК ЧасовЗаМесяц
|ПОМЕСТИТЬ ВТНормаВремениПоОбщимГрафикам
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| СписокРаботников.Сотрудник КАК Сотрудник,
| ВЫБОР
| КОГДА СписокРаботников.ГрафикРаботы.СокращенноеРабочееВремя
| И СписокРаботников.ГрафикРаботы.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка)
| ТОГДА СписокРаботников.ГрафикРаботы.ГрафикПолногоРабочегоВремени
| ИНАЧЕ СписокРаботников.ГрафикРаботы
| КОНЕЦ КАК ГрафикРаботыНорма,
| СписокРаботников.ГрафикРаботы КАК ГрафикРаботы
| ИЗ
| ВТДвиженияРаботников КАК СписокРаботников) КАК СписокРаботников
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
| ПО (ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням))
| И (ГрафикиРаботыПоВидамВремени.Месяц = &парамНачалоМесяца)
| И (ГрафикиРаботыПоВидамВремени.План)
| И СписокРаботников.ГрафикРаботыНорма = ГрафикиРаботыПоВидамВремени.ГрафикРаботы
|ГДЕ
| ГрафикиРаботыПоВидамВремени.ГрафикРаботы ЕСТЬ НЕ NULL
|
|СГРУППИРОВАТЬ ПО
| СписокРаботников.Сотрудник,
| СписокРаботников.ГрафикРаботы
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник";
Запрос.Выполнить();

Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДатыСтажа.Сотрудник КАК Сотрудник,
| ДатыСтажа.Физлицо,
| ДатыСтажа.ПериодРаботники,
| ДатыСтажа.ПериодСеверногоСтажа КАК ДатаРегистрацииСеверногоСтажа,
| СведенияОСтажеРаботыНаСевере.ПорядокНачисленияСеверныхНадбавок,
| СведенияОСтажеРаботыНаСевере.НачальныйПроцентСевернойНадбавки,
| СведенияОСтажеРаботыНаСевере.СеверныйСтажМесяцев,
| СведенияОСтажеРаботыНаСевере.СеверныйСтажДней
|ПОМЕСТИТЬ ВТДанныеОСеверномСтаже
|ИЗ
| (ВЫБРАТЬ
| СписокНачислений.Сотрудник КАК Сотрудник,
| СписокНачислений.Физлицо КАК Физлицо,
| СписокНачислений.ПериодРаботники КАК ПериодРаботники,
| МАКСИМУМ(СведенияОСтажеРаботыНаСевере.Период) КАК ПериодСеверногоСтажа
| ИЗ
| ВТРаботникиИНачисления КАК СписокНачислений
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСтажеРаботыНаСевере КАК СведенияОСтажеРаботыНаСевере
| ПО СписокНачислений.Физлицо = СведенияОСтажеРаботыНаСевере.ФизЛицо
| И СписокНачислений.ПериодРаботники >= СведенияОСтажеРаботыНаСевере.Период
|
| СГРУППИРОВАТЬ ПО
| СписокНачислений.Сотрудник,
| СписокНачислений.Физлицо,
| СписокНачислений.ПериодРаботники) КАК ДатыСтажа
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСтажеРаботыНаСевере КАК СведенияОСтажеРаботыНаСевере
| ПО ДатыСтажа.Физлицо = СведенияОСтажеРаботыНаСевере.ФизЛицо
| И ДатыСтажа.ПериодСеверногоСтажа = СведенияОСтажеРаботыНаСевере.Период
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник";
Запрос.Выполнить();

// РаботникиИНачисленияПоСхемамМотивации
// Таблица движений работников и сведениями об их плановых начислениях
// с добавленными значениями показателей, как введенными пользователями для расчета, так и
// выбранными из строк плановых начислений, содержащих тарифные ставки по "основным" начислениям работника
//
// Поля:
// Сотрудник
// ВидРасчета - плановое начисление
// Показатель1,...,6 - размеры показателей
// СпособРасчета - способ расчета начисления
// ОкладТариф - размер трифной ставки, если начисление ее содержит
// ГрафикРаботы - график сотрудника
// ВидГрафика, СуммированныйУчетРабочегоВремени, ДлительностьРабочейНедели - реквизиты графика сотрудника
//
// Описание:
//
// 1.
// 2.
//

Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| НеВводимыеПоказатели.Ссылка КАК Ссылка,
| НеВводимыеПоказатели.НомерСтроки КАК НомерСтроки,
| НеВводимыеПоказатели.Показатель КАК Показатель,
| НеВводимыеПоказатели.ПоказательВозможностьИзменения КАК ПоказательВозможностьИзменения,
| НеВводимыеПоказатели.ЭтоТарифнаяСтавка КАК ЭтоТарифнаяСтавка,
| СУММА(ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя) КАК ЗначениеПоказателя,
| ЗначенияВводимыхКадровыхПоказателей.Сотрудник КАК Сотрудник,
| ЗначенияВводимыхКадровыхПоказателей.Период,
| ЗначенияВводимыхКадровыхПоказателей.ПериодРаботники,
| ЗначенияВводимыхКадровыхПоказателей.ПериодНачисления
|ПОМЕСТИТЬ ВТОкончательныеЗначенияПоказателей
|ИЗ
| ВТНеЗапрашиваемыеПриКадровыхПеремещениях КАК НеВводимыеПоказатели
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТЗначенияВводимыхКадровыхПоказателей КАК ЗначенияВводимыхКадровыхПоказателей
| ПО НеВводимыеПоказатели.Показатель = ЗначенияВводимыхКадровыхПоказателей.Показатель
|ГДЕ
| ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя <> 0
|
|СГРУППИРОВАТЬ ПО
| НеВводимыеПоказатели.Ссылка,
| НеВводимыеПоказатели.НомерСтроки,
| НеВводимыеПоказатели.Показатель,
| НеВводимыеПоказатели.ПоказательВозможностьИзменения,
| НеВводимыеПоказатели.ЭтоТарифнаяСтавка,
| ЗначенияВводимыхКадровыхПоказателей.Сотрудник,
| ЗначенияВводимыхКадровыхПоказателей.Период,
| ЗначенияВводимыхКадровыхПоказателей.ПериодРаботники,
| ЗначенияВводимыхКадровыхПоказателей.ПериодНачисления
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СписокНачислений.Сотрудник КАК Сотрудник,
| СписокНачислений.СотрудникНаименование,
| СписокНачислений.Физлицо,
| СписокНачислений.ПодразделениеОрганизации,
| СписокНачислений.Подходит,
| СписокНачислений.Период,
| СписокНачислений.ПериодРаботники,
| СписокНачислений.ПериодНачисления,
| СписокНачислений.ОсновноеНачисление,
| СписокНачислений.ВидРасчета,
| СписокНачислений.ВидРасчетаНаименование,
| СписокНачислений.ВидРасчетаКоэффициентСтажа,
| СписокНачислений.ВидРасчетаВидСтажа,
| СписокНачислений.ВидРасчетаТребуетВводаТарифногоРазряда,
| СписокНачислений.СпособРасчета,
| СписокНачислений.НачисляетсяВЦеломЗаМесяц,
| СписокНачислений.ВидВремени,
| СписокНачислений.Действие,
| СписокНачислений.КодВычета,
| СписокНачислений.ДатаНачалаСобытия,
| СписокНачислений.ГрафикРаботы,
| СписокНачислений.СуммированныйУчетРабочегоВремени,
| СписокНачислений.ДлительностьРабочейНедели,
| СписокНачислений.ВидГрафика,
| ВЫБОР
| КОГДА СписокНачислений.Валюта1 ЕСТЬ NULL
| ИЛИ СписокНачислений.Валюта1 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
| ТОГДА ПоказателиВведенныеПриРасчете.Валюта1
| ИНАЧЕ СписокНачислений.Валюта1
| КОНЕЦ КАК Валюта1,
| ВЫБОР
| КОГДА СписокНачислений.Валюта2 ЕСТЬ NULL
| ИЛИ СписокНачислений.Валюта2 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
| ТОГДА ПоказателиВведенныеПриРасчете.Валюта2
| ИНАЧЕ СписокНачислений.Валюта2
| КОНЕЦ КАК Валюта2,
| ВЫБОР
| КОГДА СписокНачислений.Валюта3 ЕСТЬ NULL
| ИЛИ СписокНачислений.Валюта3 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
| ТОГДА ПоказателиВведенныеПриРасчете.Валюта3
| ИНАЧЕ СписокНачислений.Валюта3
| КОНЕЦ КАК Валюта3,
| ВЫБОР
| КОГДА СписокНачислений.Валюта4 ЕСТЬ NULL
| ИЛИ СписокНачислений.Валюта4 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
| ТОГДА ПоказателиВведенныеПриРасчете.Валюта4
| ИНАЧЕ СписокНачислений.Валюта4
| КОНЕЦ КАК Валюта4,
| ВЫБОР
| КОГДА СписокНачислений.Валюта5 ЕСТЬ NULL
| ИЛИ СписокНачислений.Валюта5 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
| ТОГДА ПоказателиВведенныеПриРасчете.Валюта5
| ИНАЧЕ СписокНачислений.Валюта5
| КОНЕЦ КАК Валюта5,
| ВЫБОР
| КОГДА СписокНачислений.Валюта6 ЕСТЬ NULL
| ИЛИ СписокНачислений.Валюта6 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
| ТОГДА ПоказателиВведенныеПриРасчете.Валюта6
| ИНАЧЕ СписокНачислений.Валюта6
| КОНЕЦ КАК Валюта6,
| ВЫБОР
| КОГДА СписокНачислений.Валюта1 ЕСТЬ NULL
| ИЛИ СписокНачислений.Валюта1 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ ПВалюты1.Курс
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты1.Курс
| КОНЕЦ
| КОНЕЦ КАК КурсВалюты1,
| ВЫБОР
| КОГДА СписокНачислений.Валюта2 ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ ПВалюты2.Курс
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА СписокНачислений.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты2.Курс
| КОНЕЦ
| КОНЕЦ КАК КурсВалюты2,
| ВЫБОР
| КОГДА СписокНачислений.Валюта3 ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ ПВалюты3.Курс
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА СписокНачислений.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты3.Курс
| КОНЕЦ
| КОНЕЦ КАК КурсВалюты3,
| ВЫБОР
| КОГДА СписокНачислений.Валюта4 ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ ПВалюты4.Курс
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА СписокНачислений.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты4.Курс
| КОНЕЦ
| КОНЕЦ КАК КурсВалюты4,
| ВЫБОР
| КОГДА СписокНачислений.Валюта5 ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ ПВалюты5.Курс
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА СписокНачислений.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты5.Курс
| КОНЕЦ
| КОНЕЦ КАК КурсВалюты5,
| ВЫБОР
| КОГДА СписокНачислений.Валюта6 ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ ПВалюты6.Курс
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА СписокНачислений.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты6.Курс
| КОНЕЦ
| КОНЕЦ КАК КурсВалюты6,
| ВЫБОР
| КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL
| И ПоказателиВведенныеПриРасчете.Показатель1 ЕСТЬ NULL
| И ЗначенияВводимыхКадровыхПоказателей1.Показатель ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПоказателиВведенныеПриРасчете.Показатель1 ЕСТЬ НЕ NULL
| ИЛИ (ЗначенияВводимыхКадровыхПоказателей1.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей1.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически))
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель1
| ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель1 * ЕСТЬNULL(ПВалюты1.Курс / ПВалюты1.Кратность, 0)
| КОНЕЦ
| КОГДА (СписокНачислений.Показатель1 = 0
| ИЛИ СписокНачислений.Показатель1 ЕСТЬ NULL )
| И ЗначенияВводимыхКадровыхПоказателей1.Показатель ЕСТЬ НЕ NULL
| И (ЗначенияВводимыхКадровыхПоказателей1.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей1.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей1.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА СписокНачислений.Показатель1
| КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель1
| ИНАЧЕ СписокНачислений.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0)
| КОНЕЦ КАК Показатель1,
| ВЫБОР
| КОГДА СписокНачислений.Показатель2 ЕСТЬ NULL
| И ПоказателиВведенныеПриРасчете.Показатель2 ЕСТЬ НЕ NULL
| И ЗначенияВводимыхКадровыхПоказателей2.Показатель ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПоказателиВведенныеПриРасчете.Показатель2 ЕСТЬ НЕ NULL
| ИЛИ (ЗначенияВводимыхКадровыхПоказателей2.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей2.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически))
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель2
| ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель2 * ЕСТЬNULL(ПВалюты2.Курс / ПВалюты2.Кратность, 0)
| КОНЕЦ
| КОГДА (СписокНачислений.Показатель2 = 0
| ИЛИ СписокНачислений.Показатель2 ЕСТЬ NULL )
| И ЗначенияВводимыхКадровыхПоказателей2.Показатель ЕСТЬ НЕ NULL
| И (ЗначенияВводимыхКадровыхПоказателей2.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей2.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей2.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель2 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА СписокНачислений.Показатель2
| КОГДА СписокНачислений.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель2
| ИНАЧЕ СписокНачислений.Показатель2 * ЕСТЬNULL(Валюты2.Курс / Валюты2.Кратность, 0)
| КОНЕЦ КАК Показатель2,
| ВЫБОР
| КОГДА СписокНачислений.Показатель3 ЕСТЬ NULL
| И ПоказателиВведенныеПриРасчете.Показатель3 ЕСТЬ НЕ NULL
| И ЗначенияВводимыхКадровыхПоказателей3.Показатель ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПоказателиВведенныеПриРасчете.Показатель3 ЕСТЬ НЕ NULL
| ИЛИ (ЗначенияВводимыхКадровыхПоказателей3.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей3.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически))
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель3
| ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель3 * ЕСТЬNULL(ПВалюты3.Курс / ПВалюты3.Кратность, 0)
| КОНЕЦ
| КОГДА СписокНачислений.Показатель3 = 0
| И ЗначенияВводимыхКадровыхПоказателей3.Показатель ЕСТЬ НЕ NULL
| И (ЗначенияВводимыхКадровыхПоказателей3.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей3.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей3.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель3 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА СписокНачислений.Показатель3
| КОГДА СписокНачислений.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель3
| ИНАЧЕ СписокНачислений.Показатель3 * ЕСТЬNULL(Валюты3.Курс / Валюты3.Кратность, 0)
| КОНЕЦ КАК Показатель3,
| ВЫБОР
| КОГДА СписокНачислений.Показатель4 ЕСТЬ NULL
| И ПоказателиВведенныеПриРасчете.Показатель4 ЕСТЬ НЕ NULL
| И ЗначенияВводимыхКадровыхПоказателей4.Показатель ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПоказателиВведенныеПриРасчете.Показатель4 ЕСТЬ НЕ NULL
| ИЛИ (ЗначенияВводимыхКадровыхПоказателей4.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей4.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически))
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель4
| КОГДА СписокНачислений.Показатель4 = 0
| И ЗначенияВводимыхКадровыхПоказателей4.Показатель ЕСТЬ НЕ NULL
| И (ЗначенияВводимыхКадровыхПоказателей4.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей4.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей4.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель4 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель4
| ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель4 * ЕСТЬNULL(ПВалюты3.Курс / ПВалюты4.Кратность, 0)
| КОНЕЦ
| КОГДА СписокНачислений.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель4
| ИНАЧЕ СписокНачислений.Показатель4 * ЕСТЬNULL(Валюты4.Курс / Валюты4.Кратность, 0)
| КОНЕЦ КАК Показатель4,
| ВЫБОР
| КОГДА СписокНачислений.Показатель5 ЕСТЬ NULL
| И ПоказателиВведенныеПриРасчете.Показатель5 ЕСТЬ НЕ NULL
| И ЗначенияВводимыхКадровыхПоказателей5.Показатель ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПоказателиВведенныеПриРасчете.Показатель5 ЕСТЬ НЕ NULL
| ИЛИ (ЗначенияВводимыхКадровыхПоказателей5.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей5.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически))
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель5
| ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель5 * ЕСТЬNULL(ПВалюты5.Курс / ПВалюты5.Кратность, 0)
| КОНЕЦ
| КОГДА СписокНачислений.Показатель5 = 0
| И ЗначенияВводимыхКадровыхПоказателей5.Показатель ЕСТЬ НЕ NULL
| И (ЗначенияВводимыхКадровыхПоказателей5.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей5.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей5.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель5 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА СписокНачислений.Показатель5
| КОГДА СписокНачислений.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель5
| ИНАЧЕ СписокНачислений.Показатель5 * ЕСТЬNULL(Валюты5.Курс / Валюты5.Кратность, 0)
| КОНЕЦ КАК Показатель5,
| ВЫБОР
| КОГДА СписокНачислений.Показатель6 ЕСТЬ NULL
| И ПоказателиВведенныеПриРасчете.Показатель6 ЕСТЬ НЕ NULL
| И ЗначенияВводимыхКадровыхПоказателей6.Показатель ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПоказателиВведенныеПриРасчете.Показатель6 ЕСТЬ НЕ NULL
| ИЛИ (ЗначенияВводимыхКадровыхПоказателей6.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей6.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически))
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель6
| ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель6 * ЕСТЬNULL(ПВалюты3.Курс / ПВалюты6.Кратность, 0)
| КОНЕЦ
| КОГДА СписокНачислений.Показатель6 = 0
| И ЗначенияВводимыхКадровыхПоказателей6.Показатель ЕСТЬ НЕ NULL
| И (ЗначенияВводимыхКадровыхПоказателей6.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей6.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей6.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель6 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА СписокНачислений.Показатель6
| КОГДА СписокНачислений.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель6
| ИНАЧЕ СписокНачислений.Показатель6 * ЕСТЬNULL(Валюты6.Курс / Валюты6.Кратность, 0)
| КОНЕЦ КАК Показатель6,
| ПоказательТарифнойСтавки.Показатель КАК ВидТарифнойСтавки,
| ВЫБОР
| КОГДА ПоказательТарифнойСтавки.НомерСтроки = 1
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Показатель1 ЕСТЬ НЕ NULL
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель1
| КОГДА СписокНачислений.Показатель1 = 0
| И (ЗначенияВводимыхКадровыхПоказателей1.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей1.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей1.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА СписокНачислений.Показатель1
| КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель1
| ИНАЧЕ СписокНачислений.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0)
| КОНЕЦ
| КОГДА ПоказательТарифнойСтавки.НомерСтроки = 2
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Показатель2 ЕСТЬ НЕ NULL
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель2
| КОГДА СписокНачислений.Показатель2 = 0
| И (ЗначенияВводимыхКадровыхПоказателей2.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей2.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей2.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель2 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА СписокНачислений.Показатель2
| КОГДА СписокНачислений.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель2
| ИНАЧЕ СписокНачислений.Показатель2 * ЕСТЬNULL(Валюты2.Курс / Валюты2.Кратность, 0)
| КОНЕЦ
| КОГДА ПоказательТарифнойСтавки.НомерСтроки = 3
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Показатель3 ЕСТЬ НЕ NULL
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель3
| КОГДА СписокНачислений.Показатель3 = 0
| И (ЗначенияВводимыхКадровыхПоказателей3.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей3.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей3.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель3 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА СписокНачислений.Показатель3
| КОГДА СписокНачислений.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель3
| ИНАЧЕ СписокНачислений.Показатель3 * ЕСТЬNULL(Валюты3.Курс / Валюты3.Кратность, 0)
| КОНЕЦ
| КОГДА ПоказательТарифнойСтавки.НомерСтроки = 4
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Показатель4 ЕСТЬ НЕ NULL
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель4
| КОГДА СписокНачислений.Показатель4 = 0
| И (ЗначенияВводимыхКадровыхПоказателей4.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей4.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей4.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель4 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА СписокНачислений.Показатель4
| КОГДА СписокНачислений.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель4
| ИНАЧЕ СписокНачислений.Показатель4 * ЕСТЬNULL(Валюты4.Курс / Валюты4.Кратность, 0)
| КОНЕЦ
| КОГДА ПоказательТарифнойСтавки.НомерСтроки = 5
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Показатель5 ЕСТЬ НЕ NULL
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель5
| КОГДА СписокНачислений.Показатель5 = 0
| И (ЗначенияВводимыхКадровыхПоказателей5.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей5.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей5.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель5 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА СписокНачислений.Показатель5
| КОГДА СписокНачислений.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель5
| ИНАЧЕ СписокНачислений.Показатель5 * ЕСТЬNULL(Валюты5.Курс / Валюты5.Кратность, 0)
| КОНЕЦ
| КОГДА ПоказательТарифнойСтавки.НомерСтроки = 6
| ТОГДА ВЫБОР
| КОГДА ПоказателиВведенныеПриРасчете.Показатель6 ЕСТЬ НЕ NULL
| ТОГДА ПоказателиВведенныеПриРасчете.Показатель6
| КОГДА СписокНачислений.Показатель6 = 0
| И (ЗначенияВводимыхКадровыхПоказателей6.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| ИЛИ ЗначенияВводимыхКадровыхПоказателей6.ЭтоТарифнаяСтавка)
| ТОГДА ЗначенияВводимыхКадровыхПоказателей6.ЗначениеПоказателя
| КОГДА СписокНачислений.Показатель6 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ТОГДА СписокНачислений.Показатель6
| КОГДА СписокНачислений.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель6
| ИНАЧЕ СписокНачислений.Показатель6 * ЕСТЬNULL(Валюты6.Курс / Валюты6.Кратность, 0)
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК ОкладТариф
|ПОМЕСТИТЬ ВТРаботникиИНачисленияПоСхемамМотивации
|ИЗ
| ВТРаботникиИНачисления КАК СписокНачислений
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПоказатели КАК ПоказателиВведенныеПриРасчете
| ПО СписокНачислений.ВидРасчета = ПоказателиВведенныеПриРасчете.ВидРасчета
| И СписокНачислений.Сотрудник = ПоказателиВведенныеПриРасчете.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ ВТОкончательныеЗначенияПоказателей КАК ЗначенияВводимыхКадровыхПоказателей1
| ПО СписокНачислений.Сотрудник = ЗначенияВводимыхКадровыхПоказателей1.Сотрудник
| И (КОНЕЦПЕРИОДА(СписокНачислений.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(ЗначенияВводимыхКадровыхПоказателей1.Период, МЕСЯЦ))
| И СписокНачислений.ВидРасчета = ЗначенияВводимыхКадровыхПоказателей1.Ссылка
| И (ЗначенияВводимыхКадровыхПоказателей1.НомерСтроки = 1)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТОкончательныеЗначенияПоказателей КАК ЗначенияВводимыхКадровыхПоказателей2
| ПО СписокНачислений.Сотрудник = ЗначенияВводимыхКадровыхПоказателей2.Сотрудник
| И (КОНЕЦПЕРИОДА(СписокНачислений.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(ЗначенияВводимыхКадровыхПоказателей2.Период, МЕСЯЦ))
| И СписокНачислений.ВидРасчета = ЗначенияВводимыхКадровыхПоказателей2.Ссылка
| И (ЗначенияВводимыхКадровыхПоказателей2.НомерСтроки = 2)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТОкончательныеЗначенияПоказателей КАК ЗначенияВводимыхКадровыхПоказателей3
| ПО СписокНачислений.Сотрудник = ЗначенияВводимыхКадровыхПоказателей3.Сотрудник
| И (КОНЕЦПЕРИОДА(СписокНачислений.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(ЗначенияВводимыхКадровыхПоказателей3.Период, МЕСЯЦ))
| И СписокНачислений.ВидРасчета = ЗначенияВводимыхКадровыхПоказателей3.Ссылка
| И (ЗначенияВводимыхКадровыхПоказателей3.НомерСтроки = 3)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТОкончательныеЗначенияПоказателей КАК ЗначенияВводимыхКадровыхПоказателей4
| ПО СписокНачислений.Сотрудник = ЗначенияВводимыхКадровыхПоказателей4.Сотрудник
| И (КОНЕЦПЕРИОДА(СписокНачислений.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(ЗначенияВводимыхКадровыхПоказателей4.Период, МЕСЯЦ))
| И СписокНачислений.ВидРасчета = ЗначенияВводимыхКадровыхПоказателей4.Ссылка
| И (ЗначенияВводимыхКадровыхПоказателей4.НомерСтроки = 4)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТОкончательныеЗначенияПоказателей КАК ЗначенияВводимыхКадровыхПоказателей5
| ПО СписокНачислений.Сотрудник = ЗначенияВводимыхКадровыхПоказателей5.Сотрудник
| И (КОНЕЦПЕРИОДА(СписокНачислений.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(ЗначенияВводимыхКадровыхПоказателей5.Период, МЕСЯЦ))
| И СписокНачислений.ВидРасчета = ЗначенияВводимыхКадровыхПоказателей5.Ссылка
| И (ЗначенияВводимыхКадровыхПоказателей5.НомерСтроки = 5)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТОкончательныеЗначенияПоказателей КАК ЗначенияВводимыхКадровыхПоказателей6
| ПО СписокНачислений.Сотрудник = ЗначенияВводимыхКадровыхПоказателей6.Сотрудник
| И (КОНЕЦПЕРИОДА(СписокНачислений.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(ЗначенияВводимыхКадровыхПоказателей6.Период, МЕСЯЦ))
| И СписокНачислений.ВидРасчета = ЗначенияВводимыхКадровыхПоказателей6.Ссылка
| И (ЗначенияВводимыхКадровыхПоказателей6.НомерСтроки = 6)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты1
| ПО (ПВалюты1.Период = &парамДатаВалютногоУчета)
| И (ПоказателиВведенныеПриРасчете.Валюта1 = ПВалюты1.Валюта)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты2
| ПО (ПВалюты2.Период = &парамДатаВалютногоУчета)
| И (ПоказателиВведенныеПриРасчете.Валюта2 = ПВалюты2.Валюта)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты3
| ПО (ПВалюты3.Период = &парамДатаВалютногоУчета)
| И (ПоказателиВведенныеПриРасчете.Валюта3 = ПВалюты3.Валюта)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты4
| ПО (ПВалюты4.Период = &парамДатаВалютногоУчета)
| И (ПоказателиВведенныеПриРасчете.Валюта4 = ПВалюты4.Валюта)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты5
| ПО (ПВалюты5.Период = &парамДатаВалютногоУчета)
| И (ПоказателиВведенныеПриРасчете.Валюта5 = ПВалюты5.Валюта)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты6
| ПО (ПВалюты6.Период = &парамДатаВалютногоУчета)
| И (ПоказателиВведенныеПриРасчете.Валюта6 = ПВалюты6.Валюта)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты1
| ПО (Валюты1.Период = &парамДатаВалютногоУчета)
| И СписокНачислений.Валюта1 = Валюты1.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты2
| ПО (Валюты2.Период = &парамДатаВалютногоУчета)
| И СписокНачислений.Валюта2 = Валюты2.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты3
| ПО (Валюты3.Период = &парамДатаВалютногоУчета)
| И СписокНачислений.Валюта3 = Валюты3.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты4
| ПО (Валюты4.Период = &парамДатаВалютногоУчета)
| И СписокНачислений.Валюта4 = Валюты4.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты5
| ПО (Валюты5.Период = &парамДатаВалютногоУчета)
| И СписокНачислений.Валюта5 = Валюты5.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты6
| ПО (Валюты6.Период = &парамДатаВалютногоУчета)
| И СписокНачислений.Валюта6 = Валюты6.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ ВТВводимыеВПлановыхНачисленияхПоказатели КАК ПоказательТарифнойСтавки
| ПО СписокНачислений.ВидРасчета = ПоказательТарифнойСтавки.Ссылка
| И (ПоказательТарифнойСтавки.Показатель В (ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная), ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая), ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная)))
|ГДЕ
| ВЫБОР
| КОГДА СписокНачислений.Подходит
| ТОГДА (НЕ СписокНачислений.ВидРасчета ЕСТЬ NULL )
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник";
Запрос.Выполнить();

ЗапросПризнаковАвтоНачисленийПоТабелю = Новый Запрос;
ЗапросПризнаковАвтоНачисленийПоТабелю.Текст =
"ВЫБРАТЬ
| ВЫБОР
| КОГДА 1 В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| 1
| ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
| ГДЕ
| ОсновныеНачисленияОрганизаций.АвтоНачислятьПоТабелю
| И ОсновныеНачисленияОрганизаций.ОбозначениеВТабелеУчетаРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы))
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК АвтоНачислятьПоТабелюНочные,
| ВЫБОР
| КОГДА 1 В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| 1
| ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций
| ГДЕ
| ОсновныеНачисленияОрганизаций.АвтоНачислятьПоТабелю
| И ОсновныеНачисленияОрганизаций.ОбозначениеВТабелеУчетаРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы))
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК АвтоНачислятьПоТабелюВечерние";

ВыборкаПризнаковАвтоначисления = ЗапросПризнаковАвтоНачисленийПоТабелю.Выполнить().Выбрать();
ВыборкаПризнаковАвтоначисления.Следующий();

// ДанныеПроизводственногоКалендаряЗаМесяц
// Данные производственного календаря за месяц
//
// Поля:
// ЧислоРабочихДней,
// ЧислоПредпраздничныхДней
//
// Описание:
//
// выбираем данные из рег-ра РегламентированныйПроизводственныйКалендарь за месяц, в который сотрудник работал

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

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

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

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

ОсновнойТекстЗапроса = ОсновнойТекстЗапроса + "
|ПОМЕСТИТЬ ВТСведенияОНочныхВечерних
|ИЗ
| ВТДвиженияРаботников КАК ДвиженияРаботников
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СписокНачислений.Сотрудник КАК Сотрудник,
| СписокНачислений.СотрудникНаименование КАК СотрудникНаименование,
| СписокНачислений.Физлицо КАК Физлицо,
| СписокНачислений.ПодразделениеОрганизации,
| СписокНачислений.Подходит,
| СписокНачислений.Период,
| СписокНачислений.ПериодРаботники КАК ПериодРаботники,
| СписокНачислений.ПериодНачисления КАК ПериодНачисления,
| СписокНачислений.ОсновноеНачисление КАК ОсновноеНачисление,
| СписокНачислений.ВидРасчета КАК ВидРасчета,
| СписокНачислений.ВидРасчетаНаименование,
| ЕСТЬNULL(СписокНачислений.ВидРасчетаТребуетВводаТарифногоРазряда, ЛОЖЬ) КАК ТребуетВводаТарифногоРазряда,
| СписокНачислений.СпособРасчета,
| ЕСТЬNULL(СписокНачислений.НачисляетсяВЦеломЗаМесяц, ЛОЖЬ) КАК НачисляетсяВЦеломЗаМесяц,
| СписокНачислений.ВидВремени,
| СписокНачислений.Действие,
| СписокНачислений.КодВычета,
| СписокНачислений.ДатаНачалаСобытия,
| СписокНачислений.ГрафикРаботы,
| СписокНачислений.СуммированныйУчетРабочегоВремени,
| СписокНачислений.Валюта1,
| СписокНачислений.Валюта2,
| СписокНачислений.Валюта3,
| СписокНачислений.Валюта4,
| СписокНачислений.Валюта5,
| СписокНачислений.Валюта6,
| СписокНачислений.КурсВалюты1,
| СписокНачислений.КурсВалюты2,
| СписокНачислений.КурсВалюты3,
| СписокНачислений.КурсВалюты4,
| СписокНачислений.КурсВалюты5,
| СписокНачислений.КурсВалюты6,
| СписокНачислений.ВидТарифнойСтавки,
| ВЫБОР
| КОГДА СписокНачислений.ВидТарифнойСтавки = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая)
| ТОГДА СписокНачислений.ОкладТариф
| КОГДА СписокНачислений.ВидТарифнойСтавки = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная)
| ТОГДА ВЫРАЗИТЬ(ВЫБОР
| КОГДА ЕСТЬNULL(ВариантыВстроенныхАлгоритмовРасчетаЗарплаты.ПорядокПересчетаМесячнойСтавкиВЧасовую, ЗНАЧЕНИЕ(Перечисление.ПорядкиПересчетаМесячнойСтавкиВЧасовую.ПоСреднемуКоличествуЧасовВМесяце)) = ЗНАЧЕНИЕ(Перечисление.ПорядкиПересчетаМесячнойСтавкиВЧасовую.ПоСреднемуКоличествуЧасовВМесяце)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоРабочихДней, 0) = 0
| ТОГДА 0
| КОГДА СписокНачислений.ДлительностьРабочейНедели = 0
| ТОГДА 0
| ИНАЧЕ СписокНачислений.ОкладТариф / (СписокНачислений.ДлительностьРабочейНедели / 5 * (ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоРабочихДней, 0) + ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоПредпраздничныхДней, 0)) - ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоПредпраздничныхДней, 0)) * 12
| КОНЕЦ
| КОГДА ЕСТЬNULL(ВариантыВстроенныхАлгоритмовРасчетаЗарплаты.ПорядокПересчетаМесячнойСтавкиВЧасовую, ЗНАЧЕНИЕ(Перечисление.ПорядкиПересчетаМесячнойСтавкиВЧасовую.ПоСреднемуКоличествуЧасовВМесяце)) = ЗНАЧЕНИЕ(Перечисление.ПорядкиПересчетаМесячнойСтавкиВЧасовую.ПоМесячнойНормеПоПроизводственномуКалендарю)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоРабочихДней, 0) = 0
| ТОГДА 0
| КОГДА СписокНачислений.ДлительностьРабочейНедели = 0
| ТОГДА 0
| ИНАЧЕ СписокНачислений.ОкладТариф / (СписокНачислений.ДлительностьРабочейНедели / 5 * (ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоРабочихДней, 0) + ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоПредпраздничныхДней, 0)) - ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоПредпраздничныхДней, 0))
| КОНЕЦ
| КОГДА ВЫБОР
| КОГДА НормаВремениПоСводнымИндивидуальнымГрафикам.Сотрудник ЕСТЬ НЕ NULL
| ТОГДА НормаВремениПоСводнымИндивидуальнымГрафикам.ЧасовЗаМесяц
| КОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.Сотрудник ЕСТЬ НЕ NULL
| ТОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.ЧасовЗаМесяц
| ИНАЧЕ ЕСТЬNULL(НормаВремениПоОбщимГрафикам.ЧасовЗаМесяц, 0)
| КОНЕЦ = 0
| ТОГДА 0
| ИНАЧЕ СписокНачислений.ОкладТариф / ВЫБОР
| КОГДА НормаВремениПоСводнымИндивидуальнымГрафикам.Сотрудник ЕСТЬ НЕ NULL
| ТОГДА НормаВремениПоСводнымИндивидуальнымГрафикам.ЧасовЗаМесяц
| КОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.Сотрудник ЕСТЬ НЕ NULL
| ТОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.ЧасовЗаМесяц
| ИНАЧЕ ЕСТЬNULL(НормаВремениПоОбщимГрафикам.ЧасовЗаМесяц, 0)
| КОНЕЦ
| КОНЕЦ КАК ЧИСЛО(15, 3))
| КОГДА СписокНачислений.ВидТарифнойСтавки = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная)
| ТОГДА ВЫРАЗИТЬ(ВЫБОР
| КОГДА СписокНачислений.ДлительностьРабочейНедели = 0
| ТОГДА 0
| ИНАЧЕ СписокНачислений.ОкладТариф / СписокНачислений.ДлительностьРабочейНедели * ВЫБОР
| КОГДА СписокНачислений.ВидГрафика = ЗНАЧЕНИЕ(Перечисление.ВидыРабочихГрафиков.Шестидневка)
| ТОГДА 6
| ИНАЧЕ 5
| КОНЕЦ
| КОНЕЦ КАК ЧИСЛО(15, 3))
| ИНАЧЕ 0
| КОНЕЦ КАК ЧасоваяТарифнаяСтавка,
| СписокНачислений.Показатель1,
| СписокНачислений.Показатель2,
| СписокНачислений.Показатель3,
| СписокНачислений.Показатель4,
| СписокНачислений.Показатель5,
| СписокНачислений.Показатель6,
| СведенияОСтажеРаботыНаСевере.ДатаРегистрацииСеверногоСтажа,
| СведенияОСтажеРаботыНаСевере.ПорядокНачисленияСеверныхНадбавок,
| СведенияОСтажеРаботыНаСевере.НачальныйПроцентСевернойНадбавки,
| СведенияОСтажеРаботыНаСевере.СеверныйСтажМесяцев,
| СведенияОСтажеРаботыНаСевере.СеверныйСтажДней,
| СписокНачислений.ВидРасчетаВидСтажа,
| ШкалаКоэффициентовСтажа.Величина КАК КоэффициентСтажа,
| ШкалаСледКоэффициентовСтажа.Величина КАК СледКоэффициентСтажа,
| ВЫБОР
| КОГДА (НЕ ШкалаСледКоэффициентовСтажа.Величина ЕСТЬ NULL )
| ТОГДА ВЫБОР
| КОГДА ДЕНЬ(Стажи.ДатаОтсчета) > Стажи.РазмерДней
| ТОГДА ДЕНЬ(Стажи.ДатаОтсчета) - Стажи.РазмерДней
| ИНАЧЕ ДЕНЬ(ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, -1)) - (Стажи.РазмерДней - ДЕНЬ(Стажи.ДатаОтсчета))
| КОНЕЦ
| КОНЕЦ КАК ДеньСменыКоэффициентаСтажа,
| ВЫБОР
| КОГДА &ЭтоПерерасчет
| ТОГДА ЛОЖЬ
| КОГДА ОсновныеНачисления.Сотрудник ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК УжеПроведен,
| ВЫБОР
| КОГДА СведенияОНочныхВечерних.ЕстьИндГрафик
| ТОГДА СведенияОНочныхВечерних.ЕстьНочныеИндГрафик
| КОГДА СведенияОНочныхВечерних.ЕстьСводнТабель
| ТОГДА СведенияОНочныхВечерних.ЕстьНочныеСводнТабель
| КОГДА СведенияОНочныхВечерних.ЕстьИндСводнГрафик
| ТОГДА СведенияОНочныхВечерних.ЕстьНочныеИндСводнГрафик
| ИНАЧЕ СведенияОНочныхВечерних.ЕстьНочныеОбщГрафик
| КОНЕЦ КАК ЕстьНочные,
| ВЫБОР
| КОГДА СведенияОНочныхВечерних.ЕстьИндГрафик
| ТОГДА СведенияОНочныхВечерних.ЕстьВечерниеИндГрафик
| КОГДА СведенияОНочныхВечерних.ЕстьСводнТабель
| ТОГДА СведенияОНочныхВечерних.ЕстьВечерниеСводнТабель
| КОГДА СведенияОНочныхВечерних.ЕстьИндСводнГрафик
| ТОГДА СведенияОНочныхВечерних.ЕстьВечерниеИндСводнГрафик
| ИНАЧЕ СведенияОНочныхВечерних.ЕстьВечерниеОбщГрафик
| КОНЕЦ КАК ЕстьВечерние
|ИЗ
| ВТРаботникиИНачисленияПоСхемамМотивации КАК СписокНачислений
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОСеверномСтаже КАК СведенияОСтажеРаботыНаСевере
| ПО СписокНачислений.Сотрудник = СведенияОСтажеРаботыНаСевере.Сотрудник
| И СписокНачислений.ПериодРаботники = СведенияОСтажеРаботыНаСевере.ПериодРаботники
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.Стажи КАК Стажи
| ПО СписокНачислений.ВидРасчетаВидСтажа = Стажи.ВидСтажа
| И СписокНачислений.Физлицо = Стажи.Ссылка
| И (СписокНачислений.СпособРасчета В (&СпособыРасчетаОтСтажа))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШкалаКоэффициентовСтажа КАК ШкалаКоэффициентовСтажа
| ПО СписокНачислений.ВидРасчетаКоэффициентСтажа = ШкалаКоэффициентовСтажа.КоэффициентСтажа
| И (СписокНачислений.СпособРасчета В (&СпособыРасчетаОтСтажа))
| И (Стажи.РазмерМесяцев + РАЗНОСТЬДАТ(Стажи.ДатаОтсчета, ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней), МЕСЯЦ) - ВЫБОР
| КОГДА ДЕНЬ(Стажи.ДатаОтсчета) > ДЕНЬ(ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней))
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ >= ШкалаКоэффициентовСтажа.СтажС)
| И (Стажи.РазмерМесяцев + РАЗНОСТЬДАТ(Стажи.ДатаОтсчета, ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней), МЕСЯЦ) - ВЫБОР
| КОГДА ДЕНЬ(Стажи.ДатаОтсчета) > ДЕНЬ(ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней))
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ < ВЫБОР
| КОГДА ШкалаКоэффициентовСтажа.СтажПо = 0
| ТОГДА 999999
| ИНАЧЕ ШкалаКоэффициентовСтажа.СтажПо
| КОНЕЦ)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШкалаКоэффициентовСтажа КАК ШкалаСледКоэффициентовСтажа
| ПО СписокНачислений.ВидРасчетаКоэффициентСтажа = ШкалаСледКоэффициентовСтажа.КоэффициентСтажа
| И (СписокНачислений.СпособРасчета В (&СпособыРасчетаОтСтажа))
| И (Стажи.РазмерМесяцев + РАЗНОСТЬДАТ(Стажи.ДатаОтсчета, ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней), МЕСЯЦ) - ВЫБОР
| КОГДА ДЕНЬ(Стажи.ДатаОтсчета) >= ДЕНЬ(ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней))
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ = ШкалаКоэффициентовСтажа.СтажПо - 1)
| И (ШкалаСледКоэффициентовСтажа.НомерСтрокиШкалы = ШкалаКоэффициентовСтажа.НомерСтрокиШкалы + 1)
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ) КАК ЧислоРабочихДней,
| СУММА(ВЫБОР
| КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный)
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ) КАК ЧислоПредпраздничныхДней
| ИЗ
| РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
| ГДЕ
| РегламентированныйПроизводственныйКалендарь.Год = &Год) КАК ДанныеПроизводственногоКалендаря
| ПО (ИСТИНА)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеПроизводственногоКалендаряЗаМесяц КАК ДанныеПроизводственногоКалендаряЗаМесяц
| ПО МЕСЯЦ(СписокНачислений.Период) = ДанныеПроизводственногоКалендаряЗаМесяц.МесяцКалендаря
| ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаВремениПоСводнымИндивидуальнымГрафикам КАК НормаВремениПоСводнымИндивидуальнымГрафикам
| ПО СписокНачислений.Сотрудник = НормаВремениПоСводнымИндивидуальнымГрафикам.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаВремениПоЕжедневнымИндивидуальнымГрафикам КАК НормаВремениПоЕжедневнымИндивидуальнымГрафикам
| ПО СписокНачислений.Сотрудник = НормаВремениПоЕжедневнымИндивидуальнымГрафикам.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаВремениПоОбщимГрафикам КАК НормаВремениПоОбщимГрафикам
| ПО СписокНачислений.Сотрудник = НормаВремениПоОбщимГрафикам.Сотрудник
| И СписокНачислений.ГрафикРаботы = НормаВремениПоОбщимГрафикам.ГрафикРаботы
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВариантыВстроенныхАлгоритмовРасчетаЗарплаты КАК ВариантыВстроенныхАлгоритмовРасчетаЗарплаты
| ПО (ИСТИНА)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТОсновныеНачисления КАК ОсновныеНачисления
| ПО СписокНачислений.Сотрудник = ОсновныеНачисления.Сотрудник
| И СписокНачислений.ПодразделениеОрганизации = ОсновныеНачисления.ПодразделениеОрганизации
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСведенияОНочныхВечерних КАК СведенияОНочныхВечерних
| ПО СписокНачислений.Сотрудник = СведенияОНочныхВечерних.Сотрудник
| И СписокНачислений.ПериодРаботники = СведенияОНочныхВечерних.Период
|
|УПОРЯДОЧИТЬ ПО
| СотрудникНаименование,
| Сотрудник,
| ПериодРаботники,
| ПериодНачисления,
| ОсновноеНачисление УБЫВ,
| ВидРасчета";


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

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

ТЗНачисления = СформироватьТаблицуНачислений(НачисленияВыборка, ОкончаниеПериодаЗаполнения, РезультатЗапроса.Выгрузить(), МассивВалютСНезаданнымКурсом);

Если МассивВалютСНезаданнымКурсом.Количество() > 0 Тогда
ТЗНачисления.Очистить();
КонецЕсли;

// для заполнения табличной части НДФЛ

РаботникиДляРасчетаНДФЛ = Новый Соответствие;

ТипОсновныхНачислений = Тип("ПланВидовРасчетаСсылка.ОсновныеНачисленияОрганизаций");

НаборЗаписейДляПроверки = РегистрыРасчета.ОсновныеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();

НаборЗаписейДляПроверки.Отбор.Регистратор.Значение = СcылкаОбъекта;

СтрокаПолейОсновныхНачислений = "Сотрудник,Физлицо,ВидРасчета,Показатель1,Показатель2,Показатель3,Показатель4,Показатель5,Показатель6,ДатаНачала,ДатаОкончания,ПодразделениеОрганизации";
СтрокаПолейДополнительныхНачислений = "Сотрудник,Физлицо,ВидРасчета,Показатель1,Показатель2,Показатель3,Показатель4,Показатель5,Показатель6,,КодВычета,ДатаНачала,ДатаОкончания,ПодразделениеОрганизации";
Для Каждого НачислениеИзТаблицыЗначений Из ТЗНачисления Цикл

РаботникиДляРасчетаНДФЛ.Вставить(НачислениеИзТаблицыЗначений.Физлицо, 0);

Если ВидОперации <> Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ Тогда

Если ТипЗнч(НачислениеИзТаблицыЗначений.ВидРасчета) = ТипОсновныхНачислений Тогда

НоваяСтрока = Начисления.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,НачислениеИзТаблицыЗначений,СтрокаПолейОсновныхНачислений); //Сотрудник,ВидРасчета,Размер,Показатель2,Показатель3,ДатаНачала,ДатаОкончания,ПодразделениеОрганизации
НоваяСтрока.Авторасчет = Истина;
НоваяСтрока.ДатаНачалаСобытия = ?(ЗначениеЗаполнено(НачислениеИзТаблицыЗначений.ДатаНачалаСобытия),НачислениеИзТаблицыЗначений.ДатаНачалаСобытия,НачислениеИзТаблицыЗначений.ДатаНачала);
Если НоваяСтрока.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ПособиеПоУходуЗаРебенкомДо1_5Лет Тогда
НоваяСтрока.ПериодРасчетаСреднегоЗаработкаНачало = ДобавитьМесяц(НачалоМесяца(НоваяСтрока.ДатаНачалаСобытия), -12);
НоваяСтрока.ПериодРасчетаСреднегоЗаработкаОкончание = НачалоМесяца(НоваяСтрока.ДатаНачалаСобытия) - 1;
КонецЕсли;

Движение = НаборЗаписейДляПроверки.Добавить();

// свойства
Движение.ПериодРегистрации = ПериодРегистрации;
Движение.ВидРасчета = НачислениеИзТаблицыЗначений.ВидРасчета;
Движение.ПериодДействияНачало = НачислениеИзТаблицыЗначений.ДатаНачала;
Движение.ПериодДействияКонец = НачислениеИзТаблицыЗначений.ДатаОкончания;

// измерения
Движение.Сотрудник = НачислениеИзТаблицыЗначений.Сотрудник;
Движение.Физлицо = НачислениеИзТаблицыЗначений.Физлицо;
Движение.Организация = ГоловнаяОрганизация;

// реквизиты поддержки графика
Движение.ГрафикРаботы = НачислениеИзТаблицыЗначений.ГрафикРаботы;
Движение.ВидУчетаВремени = ПроведениеРасчетов.ПолучитьВидУчетаВремени(НачислениеИзТаблицыЗначений.СпособРасчета, НачислениеИзТаблицыЗначений.ВидВремени, НачислениеИзТаблицыЗначений.СуммированныйУчетРабочегоВремени);
Движение.ДатаНачалаСобытия = НачислениеИзТаблицыЗначений.ДатаНачала;
Движение.Авторасчет = Истина;

Иначе

НоваяСтрока = ДополнительныеНачисления.Добавить();
НоваяСтрока.Авторасчет = Истина;
ЗаполнитьЗначенияСвойств(НоваяСтрока,НачислениеИзТаблицыЗначений,СтрокаПолейДополнительныхНачислений); //Сотрудник,ВидРасчета,Размер,КодВычета,ДатаНачала,ДатаОкончания,ПодразделениеОрганизации

КонецЕсли;

КонецЕсли;

КонецЦикла;

// выполним удаление строк табличной части, которые соответствуют полностью вытесняемым видам расчета
// проверку выполним через фактический период действия
Если ВидОперации <> Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ Тогда

НачатьТранзакцию();

НаборЗаписейДляПроверки.ОбменДанными.Загрузка = Истина;
НаборЗаписейДляПроверки.Записать(Истина, Ложь, Истина, Ложь);

ЗапросПроверки = Новый Запрос(
"ВЫБРАТЬ
| Начисления.Сотрудник,
| Начисления.ВидРасчета,
| Начисления.ДатаНачала,
| Начисления.ДатаОкончания,
| Начисления.НомерСтроки
|ПОМЕСТИТЬ ВТНачисления
|ИЗ &парамНачисления КАК Начисления
|ИНДЕКСИРОВАТЬ ПО Сотрудник, ВидРасчета;
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Начисления.НомерСтроки КАК НомерСтроки
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизации
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(Регистратор = &парамСсылка) КАК ОсновныеНачисленияРаботниковОрганизацииФактическийПериодДействия
| ПО ОсновныеНачисленияРаботниковОрганизации.НомерСтроки = ОсновныеНачисленияРаботниковОрганизацииФактическийПериодДействия.НомерСтроки
| И ОсновныеНачисленияРаботниковОрганизации.Регистратор = ОсновныеНачисленияРаботниковОрганизацииФактическийПериодДействия.Регистратор
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТНачисления КАК Начисления
| ПО (Начисления.Сотрудник = ОсновныеНачисленияРаботниковОрганизации.Сотрудник)
| И (Начисления.ВидРасчета = ОсновныеНачисленияРаботниковОрганизации.ВидРасчета)
| И (Начисления.ДатаНачала = ОсновныеНачисленияРаботниковОрганизации.ПериодДействияНачало)
| И (КОНЕЦПЕРИОДА(Начисления.ДатаОкончания, День) = КОНЕЦПЕРИОДА(ОсновныеНачисленияРаботниковОрганизации.ПериодДействияКонец, День))
|ГДЕ
| ОсновныеНачисленияРаботниковОрганизации.Регистратор = &парамСсылка
| И ОсновныеНачисленияРаботниковОрганизацииФактическийПериодДействия.Регистратор ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки УБЫВ");


ЗапросПроверки.УстановитьПараметр("парамСсылка", СcылкаОбъекта);
ЗапросПроверки.УстановитьПараметр("парамНачисления", Начисления.Выгрузить());
СтрокиКУдалению = ЗапросПроверки.Выполнить().Выгрузить();
// удалим проверочный набор записей
НаборЗаписейДляПроверки.Очистить();
НаборЗаписейДляПроверки.Записать(Истина, Ложь, Истина, Ложь);

ЗафиксироватьТранзакцию();

Для Каждого СтрокаТЗ Из СтрокиКУдалению Цикл
Начисления.Удалить(СтрокаТЗ.НомерСтроки - 1);
КонецЦикла;

КонецЕсли;
// конец удаления строк табличной части, которые соответствуют полностью вытесняемым видам расчета

// работающие по договорам подряда
ОсновнойТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СписокНачислений.Сотрудник КАК Сотрудник,
| СписокНачислений.СотрудникФизлицо КАК Физлицо,
| СписокНачислений.СотрудникНаименование КАК СотрудникНаименование,
| СписокНачислений.ВидРасчета КАК ВидРасчета,
| СписокНачислений.ПериодНачисления КАК ДатаНачала,
| ЕСТЬNULL(СписокНачислений.ДатаОкончания, &парамКонец) КАК ДатаОкончания,
| СписокНачислений.ДокументОснование КАК ДокументОснование,
| СписокНачислений.Подходит,
| СписокНачислений.ВидРасчета.Наименование КАК ВидРасчетаНаименование,
| СписокНачислений.ДокументОснование.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| СписокНачислений.ДокументОснование.КодВычета КАК КодВычета,
| ВЫБОР
| КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель1
| ИНАЧЕ СписокНачислений.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0)
| КОНЕЦ КАК Размер,
| ВЫБОР
| КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель1
| ИНАЧЕ СписокНачислений.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0)
| КОНЕЦ КАК Результат,
| ВЫБОР
| КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL
| ТОГДА 0
| КОГДА СписокНачислений.ДокументОснование.КодВычета <> ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код405)
| ТОГДА 0
| КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА СписокНачислений.Показатель1 * ЕСТЬNULL(СведенияОСкидках.НормативЗатрат, 0) / 100
| ИНАЧЕ СписокНачислений.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0) * ЕСТЬNULL(СведенияОСкидках.НормативЗатрат, 0) / 100
| КОНЕЦ КАК СуммаВычета
|ИЗ
| (ВЫБРАТЬ
| Работники.Сотрудник КАК Сотрудник,
| Работники.Сотрудник.Физлицо КАК СотрудникФизлицо,
| Работники.Сотрудник.Наименование КАК СотрудникНаименование,
| НачисленияРаботниковОрганизации.ДокументОснование КАК ДокументОснование,
| НачисленияРаботниковОрганизации.ВидРасчета КАК ВидРасчета,
| Работники.Подходит КАК Подходит,
| НачисленияРаботниковОрганизации.Период КАК ПериодНачисления,
| МИНИМУМ(ДатыОкончанияНачисленияРаботниковОрганизации.ДатаОкончания) КАК ДатаОкончания,
| НачисленияРаботниковОрганизации.Показатель1 КАК Показатель1,
| НачисленияРаботниковОрганизации.Валюта1 КАК Валюта1
| ИЗ
| ВТДвиженияРаботников КАК Работники
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| НачисленияРаботниковОрганизации.Период КАК Период,
| НачисленияРаботниковОрганизации.ВидРасчетаИзмерение КАК ВидРасчета,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Показатель1Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Показатель1
| КОНЕЦ КАК Показатель1,
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.Валюта1Завершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Валюта1
| КОНЕЦ КАК Валюта1,
| НачисленияРаботниковОрганизации.ДокументОснование КАК ДокументОснование,
| НачисленияРаботниковОрганизации.Сотрудник КАК Сотрудник
| ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
| &парамНачало,
| ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка)
| И Сотрудник В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДвиженияРаботников.Сотрудник
| ИЗ
| ВТСписокРаботников КАК ДвиженияРаботников)) КАК НачисленияРаботниковОрганизации
| ГДЕ
| ВЫБОР
| КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА НачисленияРаботниковОрганизации.ДействиеЗавершения
| ИНАЧЕ НачисленияРаботниковОрганизации.Действие
| КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| НачисленияРаботниковОрганизации.Период,
| НачисленияРаботниковОрганизации.ВидРасчетаИзмерение,
| НачисленияРаботниковОрганизации.Показатель1,
| НачисленияРаботниковОрганизации.Валюта1,
| НачисленияРаботниковОрганизации.ДокументОснование,
| НачисленияРаботниковОрганизации.Сотрудник
| ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников
| ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник
| ГДЕ
| НачисленияРаботниковОрганизации.Период > &парамНачало
| И НачисленияРаботниковОрганизации.Период <= &парамКонец
| И НачисленияРаботниковОрганизации.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка)
| И НачисленияРаботниковОрганизации.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| НачисленияРаботниковОрганизации.ПериодЗавершения,
| НачисленияРаботниковОрганизации.ВидРасчетаИзмерение,
| НачисленияРаботниковОрганизации.Показатель1Завершения,
| НачисленияРаботниковОрганизации.Валюта1Завершения,
| НачисленияРаботниковОрганизации.ДокументОснование,
| НачисленияРаботниковОрганизации.Сотрудник
| ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников
| ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковПроверка
| ПО НачисленияРаботниковОрганизации.Сотрудник = НачисленияРаботниковПроверка.Сотрудник
| И НачисленияРаботниковОрганизации.ВидРасчетаИзмерение = НачисленияРаботниковПроверка.ВидРасчетаИзмерение
| И НачисленияРаботниковОрганизации.ДокументОснование = НачисленияРаботниковПроверка.ДокументОснование
| И (НачисленияРаботниковПроверка.Период > НачисленияРаботниковОрганизации.Период)
| И (НачисленияРаботниковПроверка.Период <= НачисленияРаботниковОрганизации.ПериодЗавершения)
| ГДЕ
| НачисленияРаботниковОрганизации.ПериодЗавершения МЕЖДУ &парамНачало И &парамКонец
| И НачисленияРаботниковОрганизации.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка)
| И НачисленияРаботниковОрганизации.ДействиеЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)
| И НачисленияРаботниковПроверка.Сотрудник ЕСТЬ NULL ) КАК НачисленияРаботниковОрганизации
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДОБАВИТЬКДАТЕ(НачисленияРаботниковОрганизации.Период, ДЕНЬ, -1) КАК ДатаОкончания,
| НачисленияРаботниковОрганизации.ВидРасчетаИзмерение КАК ВидРасчетаИзмерение,
| НачисленияРаботниковОрганизации.ДокументОснование КАК ДокументОснование,
| НачисленияРаботниковОрганизации.Сотрудник КАК Сотрудник
| ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников
| ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник
| ГДЕ
| НачисленияРаботниковОрганизации.Период >= &парамНачало
| И НачисленияРаботниковОрганизации.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка)
| И НачисленияРаботниковОрганизации.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВЫБОР
| КОГДА ДОБАВИТЬКДАТЕ(НачисленияРаботниковОрганизации.ПериодЗавершения, ДЕНЬ, -1) > &парамКонец
| ТОГДА &парамКонец
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НачисленияРаботниковОрганизации.ПериодЗавершения, ДЕНЬ, -1)
| КОНЕЦ,
| НачисленияРаботниковОрганизации.ВидРасчетаИзмерение,
| НачисленияРаботниковОрганизации.ДокументОснование,
| НачисленияРаботниковОрганизации.Сотрудник
| ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ТаблицаДвиженийРаботников
| ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковПроверка
| ПО НачисленияРаботниковОрганизации.Сотрудник = НачисленияРаботниковПроверка.Сотрудник
| И НачисленияРаботниковОрганизации.ВидРасчетаИзмерение = НачисленияРаботниковПроверка.ВидРасчетаИзмерение
| И НачисленияРаботниковОрганизации.ДокументОснование = НачисленияРаботниковПроверка.ДокументОснование
| И (НачисленияРаботниковПроверка.Период > НачисленияРаботниковОрганизации.Период)
| И (НачисленияРаботниковПроверка.Период <= НачисленияРаботниковОрганизации.ПериодЗавершения)
| ГДЕ
| НачисленияРаботниковОрганизации.ПериодЗавершения >= &парамНачало
| И НачисленияРаботниковОрганизации.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка)
| И НачисленияРаботниковОрганизации.ДействиеЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать)
| И НачисленияРаботниковПроверка.Сотрудник ЕСТЬ NULL ) КАК ДатыОкончанияНачисленияРаботниковОрганизации
| ПО НачисленияРаботниковОрганизации.Сотрудник = ДатыОкончанияНачисленияРаботниковОрганизации.Сотрудник
| И НачисленияРаботниковОрганизации.ВидРасчета = ДатыОкончанияНачисленияРаботниковОрганизации.ВидРасчетаИзмерение
| И НачисленияРаботниковОрганизации.ДокументОснование = ДатыОкончанияНачисленияРаботниковОрганизации.ДокументОснование
| И НачисленияРаботниковОрганизации.Период <= ДатыОкончанияНачисленияРаботниковОрганизации.ДатаОкончания
| ПО (Работники.Подходит)
| И Работники.Сотрудник = НачисленияРаботниковОрганизации.Сотрудник
|
| СГРУППИРОВАТЬ ПО
| Работники.Сотрудник,
| Работники.Сотрудник.Физлицо,
| Работники.Сотрудник.Наименование,
| Работники.Подходит,
| НачисленияРаботниковОрганизации.ДокументОснование,
| НачисленияРаботниковОрганизации.ВидРасчета,
| НачисленияРаботниковОрганизации.Период,
| НачисленияРаботниковОрганизации.Показатель1,
| НачисленияРаботниковОрганизации.Валюта1) КАК СписокНачислений
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты1
| ПО (Валюты1.Период = &парамДатаВалютногоУчета)
| И СписокНачислений.Валюта1 = Валюты1.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОсновныеНачисления.Сотрудник КАК Сотрудник,
| ОсновныеНачисления.ПериодРегистрации КАК ПериодРегистрации,
| ОсновныеНачисления.ДокументОснование КАК ДокументОснование
| ИЗ
| РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников
| ПО ОсновныеНачисления.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник
| ГДЕ
| ОсновныеНачисления.ПериодРегистрации = &парамПериодРегистрации
| И ОсновныеНачисления.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка)
| И ОсновныеНачисления.Регистратор <> &парамРегистратор
| И (НЕ ОсновныеНачисления.Сторно)
| И ОсновныеНачисления.ОбособленноеПодразделение = &парамОрганизация) КАК ОсновныеНачисления
| ПО СписокНачислений.Сотрудник = ОсновныеНачисления.Сотрудник
| И СписокНачислений.ДокументОснование = ОсновныеНачисления.ДокументОснование
| И СписокНачислений.ПериодНачисления = ОсновныеНачисления.ПериодРегистрации
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛВычетыПоДоходам.СрезПоследних(&парамНачало, ) КАК СведенияОСкидках
| ПО СписокНачислений.ВидРасчета.КодДоходаНДФЛ = СведенияОСкидках.КодДохода
|ГДЕ
| СписокНачислений.Подходит
| И ВЫБОР
| КОГДА СписокНачислений.ДокументОснование ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| КОГДА СписокНачислений.ДокументОснование.Организация = &парамОрганизация
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| И ВЫБОР
| КОГДА &ЭтоПерерасчет
| ТОГДА ИСТИНА
| КОГДА ОсновныеНачисления.Сотрудник ЕСТЬ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
| СотрудникНаименование,
| ДокументОснование,
| ДатаНачала";

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

Если МассивСотрудники = Неопределено Тогда
ДоговорыНаВыполнениеРабот.Загрузить(РезультатЗапроса.Выгрузить());
Для каждого СтрокаТЧ Из ДоговорыНаВыполнениеРабот Цикл
РаботникиДляРасчетаНДФЛ.Вставить(СтрокаТЧ.Физлицо, 0);
КонецЦикла;
ЗаполнитьОтражениеДоговоров();
Иначе
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = ДоговорыНаВыполнениеРабот.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,Выборка);
ЗаполнитьОтражениеДоговора(НоваяСтрока);
РаботникиДляРасчетаНДФЛ.Вставить(НоваяСтрока.Физлицо, 0);
КонецЦикла;
КонецЕсли;

// Очистим необходимость перезаполнения по заполненным работникам
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| СписокРаботников.Сотрудник
|ИЗ
| ВТСписокРаботников КАК СписокРаботников";
ПроведениеРасчетов.УдалитьСведенияОПерезаполненииДокумента(Ссылка,Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Сотрудник"));

КонецЕсли;

// АВТОЗАПОЛНЕНИЕ ТЧ "Удержания"
Если (ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет И Не ЗначениеЗаполнено(ПерерассчитываемыйДокумент)) ИЛИ
ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетУдержаний Тогда

ТекстЗапросаУдержаний =
"ВЫБРАТЬ
| УдержанияРаботниковОрганизации.Физлицо КАК Физлицо,
| УдержанияРаботниковОрганизации.Период КАК Период,
| УдержанияРаботниковОрганизации.ВидРасчета КАК ВидРасчета,
| УдержанияРаботниковОрганизации.Действие КАК Действие,
| УдержанияРаботниковОрганизации.ДокументОснование КАК ДокументОснование,
| УдержанияРаботниковОрганизации.ДополнительныеДанные КАК ДополнительныеДанные,
| УдержанияРаботниковОрганизации.Валюта1 КАК Валюта1,
| УдержанияРаботниковОрганизации.Валюта2 КАК Валюта2,
| УдержанияРаботниковОрганизации.Валюта3 КАК Валюта3,
| УдержанияРаботниковОрганизации.Валюта4 КАК Валюта4,
| УдержанияРаботниковОрганизации.Валюта5 КАК Валюта5,
| УдержанияРаботниковОрганизации.Валюта6 КАК Валюта6,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты1.Курс
| КОНЕЦ КАК КурсВалюты1,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты2.Курс
| КОНЕЦ КАК КурсВалюты2,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты3.Курс
| КОНЕЦ КАК КурсВалюты3,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты4.Курс
| КОНЕЦ КАК КурсВалюты4,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты5.Курс
| КОНЕЦ КАК КурсВалюты5,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА 1
| ИНАЧЕ Валюты6.Курс
| КОНЕЦ КАК КурсВалюты6,
| ВЫБОР
| КОГДА Показатели.Показатель1 ЕСТЬ НЕ NULL
| И Показатели.Показатель1 <> 0
| ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ТОГДА Показатели.Показатель1
| КОГДА УдержанияРаботниковОрганизации.Показатель1 ЕСТЬ NULL
| ИЛИ УдержанияРаботниковОрганизации.Показатель1 = 0
| И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL
| И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 1
| ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя
| ИНАЧЕ ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Показатель1 ЕСТЬ NULL
| ТОГДА 0
| КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ИЛИ УдержанияРаботниковОрганизации.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА УдержанияРаботниковОрганизации.Показатель1
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0)
| КОНЕЦ
| КОНЕЦ КАК Показатель1,
| ВЫБОР
| КОГДА Показатели.Показатель2 ЕСТЬ НЕ NULL
| И Показатели.Показатель2 <> 0
| ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ТОГДА Показатели.Показатель2
| КОГДА УдержанияРаботниковОрганизации.Показатель2 ЕСТЬ NULL
| ИЛИ УдержанияРаботниковОрганизации.Показатель2 = 0
| И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL
| И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 2
| ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя
| ИНАЧЕ ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Показатель2 ЕСТЬ NULL
| ТОГДА 0
| КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ИЛИ УдержанияРаботниковОрганизации.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА УдержанияРаботниковОрганизации.Показатель2
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель2 * ЕСТЬNULL(Валюты2.Курс / Валюты2.Кратность, 0)
| КОНЕЦ
| КОНЕЦ КАК Показатель2,
| ВЫБОР
| КОГДА Показатели.Показатель3 ЕСТЬ НЕ NULL
| И Показатели.Показатель3 <> 0
| ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ТОГДА Показатели.Показатель3
| КОГДА УдержанияРаботниковОрганизации.Показатель3 ЕСТЬ NULL
| ИЛИ УдержанияРаботниковОрганизации.Показатель3 = 0
| И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL
| И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 3
| ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя
| ИНАЧЕ ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Показатель3 ЕСТЬ NULL
| ТОГДА 0
| КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ИЛИ УдержанияРаботниковОрганизации.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА УдержанияРаботниковОрганизации.Показатель3
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель3 * ЕСТЬNULL(Валюты3.Курс / Валюты3.Кратность, 0)
| КОНЕЦ
| КОНЕЦ КАК Показатель3,
| ВЫБОР
| КОГДА Показатели.Показатель4 ЕСТЬ НЕ NULL
| И Показатели.Показатель4 <> 0
| ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ТОГДА Показатели.Показатель4
| КОГДА УдержанияРаботниковОрганизации.Показатель4 ЕСТЬ NULL
| ИЛИ УдержанияРаботниковОрганизации.Показатель4 = 0
| И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL
| И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 4
| ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя
| ИНАЧЕ ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Показатель4 ЕСТЬ NULL
| ТОГДА 0
| КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ИЛИ УдержанияРаботниковОрганизации.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА УдержанияРаботниковОрганизации.Показатель4
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель4 * ЕСТЬNULL(Валюты4.Курс / Валюты4.Кратность, 0)
| КОНЕЦ
| КОНЕЦ КАК Показатель4,
| ВЫБОР
| КОГДА Показатели.Показатель5 ЕСТЬ НЕ NULL
| И Показатели.Показатель5 <> 0
| ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ТОГДА Показатели.Показатель5
| КОГДА УдержанияРаботниковОрганизации.Показатель5 ЕСТЬ NULL
| ИЛИ УдержанияРаботниковОрганизации.Показатель5 = 0
| И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL
| И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 5
| ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя
| ИНАЧЕ ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Показатель5 ЕСТЬ NULL
| ТОГДА 0
| КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ИЛИ УдержанияРаботниковОрганизации.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА УдержанияРаботниковОрганизации.Показатель5
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель5 * ЕСТЬNULL(Валюты5.Курс / Валюты5.Кратность, 0)
| КОНЕЦ
| КОНЕЦ КАК Показатель5,
| ВЫБОР
| КОГДА Показатели.Показатель6 ЕСТЬ НЕ NULL
| И Показатели.Показатель6 <> 0
| ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
| ТОГДА Показатели.Показатель6
| КОГДА УдержанияРаботниковОрганизации.Показатель6 ЕСТЬ NULL
| ИЛИ УдержанияРаботниковОрганизации.Показатель6 = 0
| И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)
| И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL
| И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 6
| ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя
| ИНАЧЕ ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.Показатель6 ЕСТЬ NULL
| ТОГДА 0
| КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты)
| ИЛИ УдержанияРаботниковОрганизации.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
| ТОГДА УдержанияРаботниковОрганизации.Показатель6
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель6 * ЕСТЬNULL(Валюты6.Курс / Валюты6.Кратность, 0)
| КОНЕЦ
| КОНЕЦ КАК Показатель6,
| УдержанияРаботниковОрганизации.Физлицо.Наименование КАК ФизлицоНаименование
|ИЗ
| (ВЫБРАТЬ
| &парамНачало КАК Период,
| УдержанияРаботниковОрганизации.ВидРасчета КАК ВидРасчета,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.ДействиеЗавершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Действие
| КОНЕЦ КАК Действие,
| УдержанияРаботниковОрганизации.ДокументОснование КАК ДокументОснование,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ДокументОснование ССЫЛКА Документ.ИсполнительныйЛист
| ТОГДА ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ДокументОснование.СпособРасчетаПС = 2
| ТОГДА УдержанияРаботниковОрганизации.ДокументОснование.Тариф
| КОНЕЦ
| КОНЕЦ КАК ДополнительныеДанные,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Показатель1Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель1
| КОНЕЦ КАК Показатель1,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Показатель2Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель2
| КОНЕЦ КАК Показатель2,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Показатель3Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель3
| КОНЕЦ КАК Показатель3,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Показатель4Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель4
| КОНЕЦ КАК Показатель4,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Показатель5Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель5
| КОНЕЦ КАК Показатель5,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Показатель6Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Показатель6
| КОНЕЦ КАК Показатель6,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Валюта1Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Валюта1
| КОНЕЦ КАК Валюта1,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Валюта2Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Валюта2
| КОНЕЦ КАК Валюта2,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Валюта3Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Валюта3
| КОНЕЦ КАК Валюта3,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Валюта4Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Валюта4
| КОНЕЦ КАК Валюта4,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Валюта5Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Валюта5
| КОНЕЦ КАК Валюта5,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА УдержанияРаботниковОрганизации.Валюта6Завершения
| ИНАЧЕ УдержанияРаботниковОрганизации.Валюта6
| КОНЕЦ КАК Валюта6,
| УдержанияРаботниковОрганизации.ФизЛицо КАК Физлицо
| ИЗ
| РегистрСведений.ПлановыеУдержанияРаботниковОрганизаций.СрезПоследних(
| &парамНачало,
| Организация = &парамГоловнаяОрганизация
| И ФизЛицо В
| (ВЫБРАТЬ
| СписокРаботников.ФизЛицо
| ИЗ
| ВТСписокРаботников КАК СписокРаботников)) КАК УдержанияРаботниковОрганизации
| ГДЕ
| УдержанияРаботниковОрганизации.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| УдержанияРаботниковОрганизации.Период,
| УдержанияРаботниковОрганизации.ВидРасчета,
| УдержанияРаботниковОрганизации.Действие,
| УдержанияРаботниковОрганизации.ДокументОснование,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ДокументОснование ССЫЛКА Документ.ИсполнительныйЛист
| ТОГДА ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ДокументОснование.СпособРасчетаПС = 2
| ТОГДА УдержанияРаботниковОрганизации.ДокументОснование.Тариф
| КОНЕЦ
| КОНЕЦ,
| УдержанияРаботниковОрганизации.Показатель1,
| УдержанияРаботниковОрганизации.Показатель2,
| УдержанияРаботниковОрганизации.Показатель3,
| УдержанияРаботниковОрганизации.Показатель4,
| УдержанияРаботниковОрганизации.Показатель5,
| УдержанияРаботниковОрганизации.Показатель6,
| УдержанияРаботниковОрганизации.Валюта1,
| УдержанияРаботниковОрганизации.Валюта2,
| УдержанияРаботниковОрганизации.Валюта3,
| УдержанияРаботниковОрганизации.Валюта4,
| УдержанияРаботниковОрганизации.Валюта5,
| УдержанияРаботниковОрганизации.Валюта6,
| УдержанияРаботниковОрганизации.ФизЛицо
| ИЗ
| РегистрСведений.ПлановыеУдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК СписокРаботников
| ПО УдержанияРаботниковОрганизации.ФизЛицо = СписокРаботников.Физлицо
| ГДЕ
| УдержанияРаботниковОрганизации.Период > &парамНачало
| И УдержанияРаботниковОрганизации.Период <= &парамКонец
| И УдержанияРаботниковОрганизации.Организация = &парамГоловнаяОрганизация
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| УдержанияРаботниковОрганизации.ПериодЗавершения,
| УдержанияРаботниковОрганизации.ВидРасчета,
| УдержанияРаботниковОрганизации.ДействиеЗавершения,
| УдержанияРаботниковОрганизации.ДокументОснование,
| ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ДокументОснование ССЫЛКА Документ.ИсполнительныйЛист
| ТОГДА ВЫБОР
| КОГДА УдержанияРаботниковОрганизации.ДокументОснование.СпособРасчетаПС = 2
| ТОГДА УдержанияРаботниковОрганизации.ДокументОснование.Тариф
| КОНЕЦ
| КОНЕЦ,
| УдержанияРаботниковОрганизации.Показатель1Завершения,
| УдержанияРаботниковОрганизации.Показатель2Завершения,
| УдержанияРаботниковОрганизации.Показатель3Завершения,
| УдержанияРаботниковОрганизации.Показатель4Завершения,
| УдержанияРаботниковОрганизации.Показатель5Завершения,
| УдержанияРаботниковОрганизации.Показатель6Завершения,
| УдержанияРаботниковОрганизации.Валюта1Завершения,
| УдержанияРаботниковОрганизации.Валюта2Завершения,
| УдержанияРаботниковОрганизации.Валюта3Завершения,
| УдержанияРаботниковОрганизации.Валюта4Завершения,
| УдержанияРаботниковОрганизации.Валюта5Завершения,
| УдержанияРаботниковОрганизации.Валюта6Завершения,
| УдержанияРаботниковОрганизации.ФизЛицо
| ИЗ
| РегистрСведений.ПлановыеУдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК СписокРаботников
| ПО УдержанияРаботниковОрганизации.ФизЛицо = СписокРаботников.Физлицо
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеУдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизацииПроверка
| ПО (УдержанияРаботниковОрганизацииПроверка.Организация = УдержанияРаботниковОрганизации.Организация)
| И (УдержанияРаботниковОрганизацииПроверка.ФизЛицо = УдержанияРаботниковОрганизации.ФизЛицо)
| И (УдержанияРаботниковОрганизацииПроверка.ВидРасчета = УдержанияРаботниковОрганизации.ВидРасчета)
| И (УдержанияРаботниковОрганизацииПроверка.ДокументОснование = УдержанияРаботниковОрганизации.ДокументОснование)
| И (УдержанияРаботниковОрганизацииПроверка.Период > УдержанияРаботниковОрганизации.Период)
| И (УдержанияРаботниковОрганизацииПроверка.Период <= УдержанияРаботниковОрганизации.ПериодЗавершения)
| ГДЕ
| УдержанияРаботниковОрганизации.ПериодЗавершения >= &парамНачало
| И УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамКонец
| И УдержанияРаботниковОрганизации.Организация = &парамГоловнаяОрганизация
| И УдержанияРаботниковОрганизацииПроверка.ФизЛицо ЕСТЬ NULL ) КАК УдержанияРаботниковОрганизации
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты1
| ПО (Валюты1.Период = &парамДатаВалютногоУчета)
| И УдержанияРаботниковОрганизации.Валюта1 = Валюты1.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты2
| ПО (Валюты2.Период = &парамДатаВалютногоУчета)
| И УдержанияРаботниковОрганизации.Валюта2 = Валюты2.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты3
| ПО (Валюты3.Период = &парамДатаВалютногоУчета)
| И УдержанияРаботниковОрганизации.Валюта3 = Валюты3.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты4
| ПО (Валюты4.Период = &парамДатаВалютногоУчета)
| И УдержанияРаботниковОрганизации.Валюта4 = Валюты4.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты5
| ПО (Валюты5.Период = &парамДатаВалютногоУчета)
| И УдержанияРаботниковОрганизации.Валюта5 = Валюты5.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты6
| ПО (Валюты6.Период = &парамДатаВалютногоУчета)
| И УдержанияРаботниковОрганизации.Валюта6 = Валюты6.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПоказатели КАК Показатели
| ПО УдержанияРаботниковОрганизации.Физлицо = Показатели.Сотрудник.Физлицо
| И УдержанияРаботниковОрганизации.ВидРасчета = Показатели.ВидРасчета
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
| НеВводимыеПоказатели.Ссылка КАК Ссылка,
| НеВводимыеПоказатели.НомерСтроки КАК НомерСтроки,
| НеВводимыеПоказатели.Показатель КАК Показатель,
| НеВводимыеПоказатели.Показатель.ВозможностьИзменения КАК ПоказательВозможностьИзменения,
| СУММА(ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя) КАК ЗначениеПоказателя,
| ЗначенияВводимыхКадровыхПоказателей.Сотрудник.ФизЛицо КАК ФизЛицо,
| ЗначенияВводимыхКадровыхПоказателей.Период КАК Период
| ИЗ
| ВТНеЗапрашиваемыеПриКадровыхПеремещениях КАК НеВводимыеПоказатели
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТЗначенияВводимыхКадровыхПоказателей КАК ЗначенияВводимыхКадровыхПоказателей
| ПО НеВводимыеПоказатели.Показатель = ЗначенияВводимыхКадровыхПоказателей.Показатель
| ГДЕ
| ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя <> 0
|
| СГРУППИРОВАТЬ ПО
| НеВводимыеПоказатели.Ссылка,
| НеВводимыеПоказатели.НомерСтроки,
| НеВводимыеПоказатели.Показатель,
| НеВводимыеПоказатели.Показатель.ВозможностьИзменения,
| ЗначенияВводимыхКадровыхПоказателей.Сотрудник.ФизЛицо,
| ЗначенияВводимыхКадровыхПоказателей.Период) КАК ЗначенияВводимыхКадровыхПоказателей
| ПО УдержанияРаботниковОрганизации.Физлицо = ЗначенияВводимыхКадровыхПоказателей.ФизЛицо
| И (КОНЕЦПЕРИОДА(УдержанияРаботниковОрганизации.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(ЗначенияВводимыхКадровыхПоказателей.Период, МЕСЯЦ))
| И УдержанияРаботниковОрганизации.ВидРасчета = ЗначенияВводимыхКадровыхПоказателей.Ссылка";

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

КонецЕсли;

ТекстЗапросаУдержаний = ТекстЗапросаУдержаний + "
|
|УПОРЯДОЧИТЬ ПО
| ФизлицоНаименование,
| Физлицо,
| ДокументОснование,
| ВидРасчета,
| УдержанияРаботниковОрганизации.Период";

Запрос.Текст = ТекстЗапросаУдержаний;

УдержанияВыборка = Запрос.Выполнить().Выбрать();

ТЗУдержания = СформироватьТаблицуУдержаний(УдержанияВыборка, ОкончаниеПериодаЗаполнения, МассивВалютСНезаданнымКурсом);

Если МассивВалютСНезаданнымКурсом.Количество() > 0 Тогда
ТЗУдержания.Очистить();
КонецЕсли;

СтруктураПоиска = Новый Структура("Сторно,ФизЛицо,ВидРасчета,ДокументОснование,ДатаНачала", Ложь);
Для каждого СтрокаУдержания Из ТЗУдержания Цикл
ЗаполнитьЗначенияСвойств(СтруктураПоиска,СтрокаУдержания);
Если Удержания.НайтиСтроки(СтруктураПоиска).Количество() = 0 Тогда
ЗаполнитьЗначенияСвойств(Удержания.Добавить(),СтрокаУдержания)
КонецЕсли;
КонецЦикла;

КонецЕсли;

Если МассивВалютСНезаданнымКурсом.Количество() > 0 Тогда
МассивРасшифровки = Новый Массив;
МассивРасшифровки.Добавить("ОткрытьФормуСписка");
МассивРасшифровки.Добавить("РегистрыСведений.КурсыВалютДляРасчетовСПерсоналом");

Расшифровки = Новый Массив;
Расшифровки.Добавить(Новый Структура("Представление,Расшифровка", "Заполните курс валют" + " ", МассивРасшифровки));

Для Каждого КлючЗначение Из МассивВалютСНезаданнымКурсом Цикл
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Для расчетного периода не задан курс валюты " + КлючЗначение.Ключ,,,Перечисления.ВидыСообщений.Ошибка, Расшифровки);
КонецЦикла;

Возврат Ложь;

КонецЕсли;


// АВТОЗАПОЛНЕНИЕ ТЧ "НДФЛ"
Если ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет ИЛИ
ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ Тогда

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

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РаботникиДляРасчетаНДФЛ.Вставить(Выборка.Физлицо, 0);
КонецЦикла;
КонецЕсли;

// заполним НДФЛ
СтруктураПоиска = Новый Структура("ФизЛицо,МесяцНалоговогоПериода",,НачалоМесяца(ПериодРегистрации));
Для Каждого Элемент Из РаботникиДляРасчетаНДФЛ Цикл
СтруктураПоиска.ФизЛицо = Элемент.Ключ;
Если НДФЛ.НайтиСтроки(СтруктураПоиска).Количество() = 0 Тогда
ЗаполнитьЗначенияСвойств(НДФЛ.Добавить(),СтруктураПоиска)
КонецЕсли;
КонецЦикла;

КонецЕсли;

Возврат Истина;

КонецФункции
 
  Исправлено в релизе: 1.0.17  
 
  Код ошибки: 10064438  
  Дата публикации: 05.10.2010 17:36:49  
  Дата последнего изменения: 05.10.2010 0:00:00  
  Описание: При обновлении информационной базы на версию 1.0.15 могут искажаться движения в регистрах "Зарплата за месяц организаций" и "Взаиморасчеты с работниками организаций".
Ошибка возникает в движениях документа "Премии", если в регистрах одновременно присутствуют записи с периодом взаиморасчетов как первым, так и не первым числом месяца.
В такой ситуации из движений пропадут строки, в которых период взаиморасчетов хранился как первое число месяца.
 
  Исправлено в релизе: 1.0.17  
 
  Код ошибки: 10064093  
  Дата публикации: 24.09.2010 15:19:59  
  Дата последнего изменения: 24.09.2010 0:00:00  
  Описание: Если у сотрудника в табеле введены ночные часы и табель введен по дням, то в документе начисление зарплаты основное время сотрудника рассчитывается за минусом ночных часов.  
  Способ исправления: В общем модуле ПроведениеРасчетовПереопределяемый в тексте
запроса ОтработаноНЕПоВидуВремениДляПоказателейТекст заменить
расчет реквизита Часов:

СУММА(ВЫБОР
| КОГДА (ДругоеРабочееВремя.Сотрудник ЕСТЬ НЕ NULL )
| И (НЕ РабочееВремяРаботников.ВидИспользованияРабочегоВремени.РабочееВремя)
| ИЛИ (НЕ ДругоеРабочееВремя.ВидИспользованияРабочегоВремени В (ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы)))
| И (НЕ РабочееВремяРаботников.ВидИспользованияРабочегоВремени.РабочееВремя)

| ТОГДА 0
| ИНАЧЕ РабочееВремяРаботников.Часов
| КОНЕЦ) КАК Часов

на:

СУММА(ВЫБОР
| КОГДА (ДругоеРабочееВремя.Сотрудник ЕСТЬ НЕ NULL )
| И (НЕ РабочееВремяРаботников.ВидИспользованияРабочегоВремени.РабочееВремя)
| ИЛИ (НЕ ДругоеРабочееВремя.ВидИспользованияРабочегоВремени В (ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы)))
| И ((НЕ РабочееВремяРаботников.ВидИспользованияРабочегоВремени.РабочееВремя)
| ИЛИ (РабочееВремяРаботников.ВидИспользованияРабочегоВремени В (ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы), ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы))))
| ТОГДА 0
| ИНАЧЕ РабочееВремяРаботников.Часов
| КОНЕЦ) КАК Часов
 
  Исправлено в релизе: 1.0.17  
 
  Код ошибки: 10063090  
  Дата публикации: 24.09.2010 15:19:03  
  Дата последнего изменения: 24.09.2010 0:00:00  
  Описание: Исчисленные с доходов судей суммы взносов в ФОМС удваиваются при отражении в учете.  
  Исправлено в релизе: 1.0.17  
 
  Код ошибки: 10063890  
  Дата публикации: 22.09.2010 17:48:20  
  Дата последнего изменения: 10.11.2010 0:00:00  
  Описание: В документе "Зарплата к выплате организаций" при выплате единовременных пособий за счет ФСС или возврата НДФЛ, на выбор документа-основания не устанавливается отбор по периоду.  
  Исправлено в релизе: 1.0.18  
 
  Код ошибки: 10052049  
  Дата публикации: 08.07.2010 14:53:45  
  Дата последнего изменения: 08.07.2010 0:00:00  
  Описание: При начисленном денежном довольствии за будущий месяц, при расчете следующего месяца в документ попадают и военнослужащие, начисление которым было произведено ранее.

Пример:
В январе военнослужащим, уходящим в отпуск в феврале, ввели документ "Начисление зарплаты" с режимом начисления "Указанный период" и указали период с 01.02 по 28.02.
Начисляем ДД по всем военнослужащим в феврале за февраль - в документ попадают военнослужащие, по которым уже было начисление в январе за февраль (отпускники).
 
 
  Код ошибки: 10055099  
  Дата публикации: 01.06.2010 17:12:09  
  Дата последнего изменения: 01.06.2010 0:00:00  
  Описание: В документе "Регистрация разовых удержаний" не заполняется показатель ОВЗ в удержаниях.