Зарплата и Управление Персоналом базовая. Версия 2.5.45.3 . Информация об ошибках

 
  Код ошибки: 10098138  
  Дата публикации: 13 марта 2012 г.  
  Описание: Док. "Кадровое перемещение организаций" неправильно показывает предыдущие подразделение и должность, если данные были перенесены из конфигурации "Зарплата и Кадры".  
  Планируется исправить в релизе: 2.5.48  
 
  Код ошибки: 10102331  
  Дата публикации: 13 марта 2012 г.  
  Описание: При формировании 2-х и более справок в "Подготовка данных по НДФЛ", при переходе от одного человека к другому программа не изменяет реквизиты "Суммы дохода" и "Суммы налога".  
  Способ обхода: Активизировать строку в поле с перечнем ставок налога.  
  Планируется исправить в релизе: 2.5.48  
 
  Код ошибки: 10102695  
  Дата публикации: 13 марта 2012 г.  
  Описание: Если у сотрудника, уплачивающего алименты процентом от заработка, произведен перерасчет НДФЛ, то при исчислении алиментов ошибочно учитывается отрицательная сумма НДФЛ.  
  Планируется исправить в релизе: 2.5.48  
 
  Код ошибки: 10097345  
  Дата публикации: 28 февраля 2012 г.  
  Описание: В помощниках переноса данных из ЗиК и ЗУП не отображается номер релиза конфигурации, начиная с которого можно переносить данные.  
  Исправлено в релизе: 2.5.48  
 
  Код ошибки: 10100238  
  Дата публикации: 28 февраля 2012 г.  
  Описание: Обработка "Анализ неявок" всегда устанавливает период для расчета среднего заработка, равным 12 месяцам.  
  Планируется исправить в релизе: 2.5.48  
 
  Код ошибки: 10099469  
  Дата публикации: 28 февраля 2012 г.  
  Описание: Если документ создан путем переноса из информационной базы 1С:Предприятия 7.7, то при копировании такой документ не формирует движений.  
  Планируется исправить в релизе: 2.5.48  
 
  Код ошибки: 10100758  
  Дата публикации: 21 февраля 2012 г.  
  Описание: При переносе коэффициентов индексации заработка из ЗиК в ЗУП/ЗБУ может возникать сообщение об ошибке.  
  Планируется исправить в релизе: 2.5.48  
 
  Код ошибки: 10100717  
  Дата публикации: 21 февраля 2012 г.  
  Описание: При переносе данных из ЗиК в ЗУП/ЗБУ, если данные переносятся с 2006 года, то часть данных не загружается в программу.  
  Планируется исправить в релизе: 2.5.48  
 
  Код ошибки: 10097146  
  Дата публикации: 15 февраля 2012 г.  
  Описание: В документе "Реестр сведений в ФСС о ежемесячных пособиях по уходу" в 14 колонке печатной формы реестра выводится неверный заработок в том случае, когда заработок за один из расчетных лет превышает предельную величину.  
  Планируется исправить в релизе: 2.5.47  
 
  Код ошибки: 10099850  
  Дата публикации: 15 февраля 2012 г.  
  Описание: В документе "Реестр сведений в ФСС о пособиях при рождении ребенка" поля реквизитов справки о неполучении пособия вторым родителем являются обязательными для заполнения, что неверно.  
  Планируется исправить в релизе: 2.5.47  
 
  Код ошибки: 10099437  
  Дата публикации: 15 февраля 2012 г.  
  Описание: В форме "Показатели расчета зарплаты" индивидуальные показатели отображаются при вводе данных по подразделениям.  
  Планируется исправить в релизе: 2.5.47  
 
  Код ошибки: 10043804  
  Дата публикации: 23 декабря 2009 г.  
  Описание: В документах "Оплата сверхурочных часов", "Оплата праздничных и выходных дней" не пересчитывается в часовую тарифная ставка из произвольной формулы - всегда получается 0.  
 
  Код ошибки: 10099324  
  Дата публикации: 7 февраля 2012 г.  
  Описание: При загрузке файлов перс.учета в рабочем месте подготовки данных ПФР могут теряться некоторые сведения о стаже.  
  Планируется исправить в релизе: 2.5.46  
 
  Код ошибки: 10099279  
  Дата публикации: 7 февраля 2012 г.  
  Описание: В документе "Начисление страховых взносов" неверно определяется тариф для доходов инвалидов в организациях, применяющих тариф "Организации, применяющие УСН, занятые производством и приравненными видами деятельности".  
  Планируется исправить в релизе: 2.5.47  
 
  Код ошибки: 10098667  
  Дата публикации: 31 января 2012 г.  
  Описание: При многократной проверке комплекта документов перс.учета программой CheckXml-UFA из рабочего места подготовки данных для ПФР, может выдаваться ложное сообщение об ошибке вида: "В пакете документов для проверки должно быть не более одного файла АДВ-6-2(в текущем пакете:1) и не более одного файла РСВ-1(в текущем пакете:2)."  
  Способ исправления: Заменить процедуру ЗапуститьПроверкуВCheckUFA() модуля общей формы ФормаПроверкиCheckUFA следующим фрагментом:
Процедура ЗапуститьПроверкуВCheckUFA(ДокументОбъект)
ИмяФайлаПроверки = ПроверяемыеДокументы.Получить(ДокументОбъект);

Если ИмяФайлаПроверки = Неопределено Тогда
Возврат;
КонецЕсли;

КомандаСистемы("Check.exe "+ ИмяФайлаПроверки, ПапкаПрограммы);

МетаданныеДокумента = ДокументОбъект.Метаданные();
Если МетаданныеДокумента.Реквизиты.Найти("Год") <> Неопределено Тогда
Год = ДокументОбъект.Год
ИначеЕсли МетаданныеДокумента.Реквизиты.Найти("ОтчетныйПериод") <> Неопределено Тогда
Если ТипЗнч(ДокументОбъект.ОтчетныйПериод) = Тип("Число") Тогда
Год = ДокументОбъект.ОтчетныйПериод
Иначе
Год = Год(ДокументОбъект.ОтчетныйПериод)
КонецЕсли;
ИначеЕсли МетаданныеДокумента.Реквизиты.Найти("ПериодРегистрации") <> Неопределено Тогда
Год = Год(ДокументОбъект.ПериодРегистрации)
Иначе
Год = Год(ДокументОбъект.Дата)
КонецЕсли;

МаскаИмениФайлаПроверки = ПолучитьМаскуФайлаПротоколаПроверки(ДокументОбъект, Год);

ФайлыПротоколов = НайтиФайлы(ПапкаПрограммы, МаскаИмениФайлаПроверки);

МаксимальнаяДатаФайла = ТекущаяДата() - 3600;
ИмяФайлаПротокола = "";
Для Каждого ФайлПротокола Из ФайлыПротоколов Цикл
ДатаИзмененияФайла = ФайлПротокола.ПолучитьВремяИзменения();
Если ДатаИзмененияФайла > МаксимальнаяДатаФайла И ДатаИзмененияФайла <= ТекущаяДата() Тогда
ИмяФайлаПротокола = ФайлПротокола.ПолноеИмя;
КонецЕсли;
КонецЦикла;

Если МетаданныеДокумента.Имя = "ПередачаСЗВ4ВПФР" Тогда
КлючДокумента = "АДВ-11"
Иначе
КлючДокумента = "Пачка " + ДокументОбъект;
КонецЕсли;

Если ИмяФайлаПротокола <> "" Тогда
ФайлПротокола = Новый Файл(ИмяФайлаПротокола);

Если ФайлПротокола.Существует() Тогда
Протокол = Новый ТекстовыйДокумент;
Протокол.Прочитать(ИмяФайлаПротокола);
СписокПроверенныхФайлов.Вставить(КлючДокумента, Протокол);
УдалитьФайлы(ИмяФайлаПротокола);
КонецЕсли;
КонецЕсли;

Для каждого Значение Из ПроверяемыеДокументы Цикл
УдалитьФайлы(ПапкаПрограммы + "\" + Значение.Значение);
КонецЦикла;

КонецПроцедуры
 
  Способ обхода: Перед очередной проверкой очистить каталог установки программы CheckXml-UFA от всех XML-файлов, начинающихся с "PFR-700-Y-".  
  Планируется исправить в релизе: 2.5.46  
 
  Код ошибки: 10098315  
  Дата публикации: 31 января 2012 г.  
  Описание: В рабочем месте подготовки данных для ПФР неверно работает встроенная сверка начисленных взносов за год в целом по формам СЗВ-6-1,2 и СЗВ-6-3 по тем сотрудникам, которые в 2011-м году сменили фамилии.  
  Способ исправления: Заменить функцию ПроверитьКомплектДокументов() модуля обработки ПодготовкаДанныхПФР2010 следующим фрагментом:
Функция ПроверитьКомплектДокументов(ПачкаАДВ62, СообщатьОбУспехе = Ложь) Экспорт

ОбработкаКомментариев = глЗначениеПеременной("глОбработкаСообщений");
ДеревоСообщений = ОбработкаКомментариев.Сообщения;

ДокументОбъект = СоответствиеСсылокИОбъектов[ПачкаАДВ62];
ОтчетныйПериодАДВ62 = ДокументОбъект.ОтчетныйПериод;
ДеревоАДВ62 = Неопределено;

РСВ1 = ДокументОбъект.РасчетСтраховыхВзносов;
ПоказателиОтчета = Неопределено;

// проверка отдельных документов

// РСВ-1
ЕстьОшибкиРСВ1 = Ложь;
Если ЗначениеЗаполнено(РСВ1) Тогда

РазделПроверкиРСВ1 = ОбработкаКомментариев.ДобавитьСообщение("Проверка расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
ФормаРасчетаРСВ1 = ФормаРасчетаРСВ1(РСВ1);
РСВ1Объект = ФормаРасчетаРСВ1.мСохраненныйДок;
ЕстьОшибкиРСВ1 = Не ФормаРасчетаРСВ1.ПроверитьПоказатели();
ОтчетныйПериодРСВ1 = ПроцедурыПерсонифицированногоУчета.НачалоОтчетногоПериодаПерсучета(ФормаРасчетаРСВ1.мДатаКонцаПериодаОтчета);

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

Если РСВ1Объект.Организация = ДокументОбъект.Организация И Не ЕстьОшибкиРСВ1 Тогда
Данные = РСВ1Объект.ДанныеОтчета.Получить();
ИмяРаздела = "ПолеТабличногоДокументаТитульный";
ИмяПоля = "НомРег1";
Значение = Неопределено;
Если ТипЗнч(Данные) = Тип("Структура") И Данные.Свойство("ПоказателиОтчета",Значение) Тогда
ПоказателиОтчета = Значение;
Если ТипЗнч(ПоказателиОтчета) = Тип("Структура") И ПоказателиОтчета.Свойство(ИмяРаздела,Значение) Тогда
Если ТипЗнч(Значение) = Тип("Структура") И Значение.Свойство(ИмяПоля,Значение) Тогда
Иначе
ПоказателиОтчета = Неопределено;
КонецЕсли;
Иначе
ПоказателиОтчета = Неопределено;
КонецЕсли;
Иначе
ПоказателиОтчета = Неопределено;
КонецЕсли;
Если ПоказателиОтчета = Неопределено Тогда
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не удалось разобрать данные указанного в Описи АДВ-6-2 Расчета РСВ-1!", ЕстьОшибкиРСВ1);
Иначе
ТитульныйЛист = ПоказателиОтчета.ПолеТабличногоДокументаТитульный;
ИННизРСВ1 = "";
Для Сч = 1 По 12 Цикл
ИННизРСВ1 = ИННизРСВ1 + ТитульныйЛист["ИНН" + Сч];
КонецЦикла;
КППизРСВ1 = "";
Для Сч = 1 По 9 Цикл
КППизРСВ1 = КППизРСВ1 + ТитульныйЛист["КПП" + Сч];
КонецЦикла;
КППизРСВ1 = СтрЗаменить(КППизРСВ1, "-","");
РегНомерПФРизРСВ1 = "";
Для Сч = 1 По 14 Цикл
РегНомерПФРизРСВ1 = РегНомерПФРизРСВ1 + ТитульныйЛист["НомРег" + Сч];
КонецЦикла;

Если ОтчетныйПериодРСВ1 < ПроведениеРасчетов.ДатаСниженияТарифовСтраховыхВзносов() Тогда // за 2010 и 2011 годы

НачисленоРСВ1НаСтраховую = 0;
НачисленоРСВ1НаНакопительную = 0;

ЗадолженностьНаСтраховуюНаНачалоПериода = 0;
ЗадолженностьНаНакопительнуюНаНачалоПериода = 0;
ЗадолженностьНаСтраховуюНаКонецПериода = 0;
ЗадолженностьНаНакопительнуюНаКонецПериода = 0;

УплаченоРСВ1НаСтраховую = 0;
УплаченоРСВ1НаНакопительную = 0;

ОбъектОбложенияРСВ1 = 0;
ОблагаемаяБазаРСВ1 = 0;

Разделы = Данные.ДанныеМногостраничныхРазделов.Раздел12;
Для каждого ЛистДанных Из Разделы Цикл
ПоказателиРазделов = ЛистДанных.Данные;

НачисленоРСВ1НаСтраховую = НачисленоРСВ1НаСтраховую + ПоказателиРазделов.П000100011403;
НачисленоРСВ1НаНакопительную = НачисленоРСВ1НаНакопительную + ПоказателиРазделов.П000100011404;

ЗадолженностьНаСтраховуюНаНачалоПериода = ЗадолженностьНаСтраховуюНаНачалоПериода + ПоказателиРазделов.П000100010003 + (ПоказателиРазделов.П000100011003 - ПоказателиРазделов.П000100011403) - (ПоказателиРазделов.П000100014003 - ПоказателиРазделов.П000100014403);
ЗадолженностьНаНакопительнуюНаНачалоПериода = ЗадолженностьНаНакопительнуюНаНачалоПериода + ПоказателиРазделов.П000100010004 + (ПоказателиРазделов.П000100011004 - ПоказателиРазделов.П000100011404) - (ПоказателиРазделов.П000100014004 - ПоказателиРазделов.П000100014404);
ЗадолженностьНаСтраховуюНаКонецПериода = ЗадолженностьНаСтраховуюНаКонецПериода + ПоказателиРазделов.П000100015003;
ЗадолженностьНаНакопительнуюНаКонецПериода = ЗадолженностьНаНакопительнуюНаКонецПериода + ПоказателиРазделов.П000100015004;

УплаченоРСВ1НаСтраховую = + ПоказателиРазделов.П000100014403;
УплаченоРСВ1НаНакопительную = + ПоказателиРазделов.П000100014404;

ОбъектОбложенияРСВ1 = ОбъектОбложенияРСВ1 + ПоказателиРазделов.П000200020003 - ПоказателиРазделов.П000200021003 - ПоказателиРазделов.П000200021403 - ПоказателиРазделов.П000200021503;
ОблагаемаяБазаРСВ1 = ОблагаемаяБазаРСВ1 + ПоказателиРазделов.П000200022003 + ПоказателиРазделов.П000200022103;
КонецЦикла;

УплаченоРСВ1НаСтраховую = УплаченоРСВ1НаСтраховую - ?(ЗадолженностьНаСтраховуюНаКонецПериода < 0, -ЗадолженностьНаСтраховуюНаКонецПериода, 0) + ?(ЗадолженностьНаСтраховуюНаНачалоПериода < 0, -ЗадолженностьНаСтраховуюНаНачалоПериода,0);
УплаченоРСВ1НаНакопительную = УплаченоРСВ1НаНакопительную - ?(ЗадолженностьНаНакопительнуюНаКонецПериода < 0, -ЗадолженностьНаНакопительнуюНаКонецПериода, 0) + ?(ЗадолженностьНаНакопительнуюНаНачалоПериода < 0, -ЗадолженностьНаНакопительнуюНаНачалоПериода,0);

Раздел3 = ПоказателиОтчета.ПолеТабличногоДокументаРаздел30;
ОбъектОбложенияИнвалидовРСВ1 = Раздел3.П000300030003 - Раздел3.П000300031003 - Раздел3.П000300031403 - Раздел3.П000300031503;
ОблагаемаяБазаИнвалидовРСВ1 = Раздел3.П000300032003 + Раздел3.П000300032103;
Иначе
НачисленоРСВ1НаСтраховую = 0;
НачисленоРСВ1НаНакопительную = 0;
УплаченоРСВ1НаСтраховую = 0;
УплаченоРСВ1НаНакопительную = 0;
ОбъектОбложенияРСВ1 = 0;
ОблагаемаяБазаРСВ1 = 0;
ОбъектОбложенияИнвалидовРСВ1 = 0;
ОблагаемаяБазаИнвалидовРСВ1 = 0;
КонецЕсли;

КонецЕсли;
КонецЕсли;

КонецЕсли;

// АДВ-6-2
ЕстьОшибкиАДВ62 = Ложь;
ДокументОбъект.ПроверитьПравильностьЗаполненияДокумента(ЕстьОшибкиАДВ62);
Если Не ЕстьОшибкиАДВ62 Тогда
ЕстьОшибки = Ложь;
ДеревоАДВ62 = ПроцедурыПерсонифицированногоУчета.ПреобразоватьВДеревоXML(РегламентированнаяОтчетность.ПолучитьТекстФайла(ДокументОбъект, ЕстьОшибки));
Если ДеревоАДВ62 <> Неопределено Тогда
ДеревоАДВ62 = ДеревоАДВ62.Строки.Найти("ФайлПФР","Имя");
КонецЕсли;
Если ДеревоАДВ62 <> Неопределено Тогда
ДеревоАДВ62 = ДеревоАДВ62.Строки.Найти("ПачкаВходящихДокументов","Имя");
КонецЕсли;
Если ДеревоАДВ62 <> Неопределено Тогда
СтрокаОписи = ДеревоАДВ62.Строки.Найти("ВХОДЯЩАЯ_ОПИСЬ_ПО_СТРАХОВЫМ_ВЗНОСАМ", "Имя");
ДеревоАДВ62 = ДеревоАДВ62.Строки.Найти("ОПИСЬ_СВЕДЕНИЙ_ПЕРЕДАВАЕМЫХ_СТРАХОВАТЕЛЕМ", "Имя");
КонецЕсли;
Если ДеревоАДВ62 <> Неопределено Тогда // ДеревоАДВ62 теперь содержит только тег ОПИСЬ_СВЕДЕНИЙ_ПЕРЕДАВАЕМЫХ_СТРАХОВАТЕЛЕМ
ИнформацияОПачкеАДВ62 = ПроцедурыПерсонифицированногоУчета.ДанныеОписиАДВ_6_3(СтрокаОписи);
СтрокиИсходныхПачек = ДеревоАДВ62.Строки.НайтиСтроки(Новый Структура("Имя","СведенияОбИсходныхСведениях"));
ВсегоКатегорийАДВ62 = 0;
НачисленоАДВ62НаСтраховую = 0;
НачисленоАДВ62НаНакопительную = 0;
УплаченоАДВ62НаСтраховую = 0;
УплаченоАДВ62НаНакопительную = 0;
МассивКатегорий = Новый Массив;
Для каждого СтрокаДерева Из СтрокиИсходныхПачек Цикл
Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО КАТЕГОРИИ" Тогда
ВсегоКатегорийАДВ62 = ВсегоКатегорийАДВ62 + 1;
МассивКатегорий.Добавить(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "КодКатегории"));
КонецЕсли;
Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО СТРАХОВАТЕЛЮ" Тогда
СтрокаНаСтраховую = СтрокаДерева.Строки.Найти("СуммаВзносовНаСтраховую", "Имя");
СтрокаНаНакопительную = СтрокаДерева.Строки.Найти("СуммаВзносовНаНакопительную", "Имя");
Если СтрокаНаСтраховую <> Неопределено Тогда
НачисленоАДВ62НаСтраховую = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "Начислено"));
УплаченоАДВ62НаСтраховую = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "Уплачено"));
КонецЕсли;
Если СтрокаНаНакопительную <> Неопределено Тогда
НачисленоАДВ62НаНакопительную = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаНакопительную, "Начислено"));
УплаченоАДВ62НаНакопительную = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаНакопительную, "Уплачено"));
КонецЕсли;
КонецЕсли;
КонецЦикла;
СтрокиКорректирующихПачек = ДеревоАДВ62.Строки.НайтиСтроки(Новый Структура("Имя","СведенияОкорректирующихСведениях"));
Для каждого СтрокаДерева Из СтрокиКорректирующихПачек Цикл
Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО КАТЕГОРИИ" Тогда
КодКатегории = ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "КодКатегории");
Если МассивКатегорий.Найти(КодКатегории) = Неопределено Тогда
ВсегоКатегорийАДВ62 = ВсегоКатегорийАДВ62 + 1;
КонецЕсли;
КонецЕсли;
Если ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаДерева, "ТипСтрокиОсведениях") = "ПО СТРАХОВАТЕЛЮ" Тогда
СтрокаНаСтраховую = СтрокаДерева.Строки.Найти("СуммаВзносовНаСтраховую", "Имя");
СтрокаНаНакопительную = СтрокаДерева.Строки.Найти("СуммаВзносовНаНакопительную", "Имя");
Если СтрокаНаСтраховую <> Неопределено Тогда
ДоУплачено = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "ДоуплаченоНаСтраховую"));
УплаченоАДВ62НаСтраховую = УплаченоАДВ62НаСтраховую - ?(ДоУплачено < 0, -ДоУплачено, 0);
КонецЕсли;
Если СтрокаНаНакопительную <> Неопределено Тогда
ДоУплачено = Число(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(СтрокаНаСтраховую, "ДоуплаченоНаНакопительную"));
УплаченоАДВ62НаНакопительную = УплаченоАДВ62НаНакопительную - ?(ДоУплачено < 0, -ДоУплачено, 0);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Иначе
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не удалось разобрать сохраненный файл Описи АДВ-6-2!", ЕстьОшибкиАДВ62);
КонецЕсли;
КонецЕсли;
УдалитьПустойЗаголовок(ДеревоСообщений);

// СЗВ-6-1,2
ЕстьОшибкиСЗВ6 = Ложь;
ЕстьОшибкиРасчетаСЗВ6 = Ложь;
Для каждого ПачкаСЗВ6 Из ДокументОбъект.ПачкиДокументов Цикл
СоответствиеСсылокИОбъектов[ПачкаСЗВ6.ДокументПачка].ПроверитьПравильностьЗаполненияДокумента(ЕстьОшибкиСЗВ6);
КонецЦикла;
Если Не ПодобранПолныйКомплектПринятыхПФРДокументов() Тогда
ПропущенныеПериоды = "";
Для Каждого РасчетныйПериод Из МассивПрошлыхПериодов Цикл
Если ПачкиДокументов.Найти(РасчетныйПериод, "ОтчетныйПериод") = Неопределено Тогда
ПропущенныеПериоды = ПропущенныеПериоды + ПроцедурыПерсонифицированногоУчета.ОписаниеОтчетногоПериодаДляПоказа(РасчетныйПериод) + ", "
КонецЕсли;
КонецЦикла;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Подобраны не все переданные ранее в ПФР сведения! Отсутствуют сведения за периоды: " + Лев(ПропущенныеПериоды, СтрДлина(ПропущенныеПериоды)-2), ЕстьОшибкиРасчетаСЗВ6);
КонецЕсли;

// СЗВ-6-3
ЕстьОшибкиСЗВ63 = Ложь;
СоответствиеСсылокИОбъектовСЗВ63 = Новый Соответствие;
СоответствиеСсылокИФайловСЗВ63 = Новый Соответствие;
ВыборкаСЗВ63 = СЗВ63ЗаГод(ДокументОбъект);
Если ВыборкаСЗВ63 <> Неопределено Тогда
Пока ВыборкаСЗВ63.Следующий() Цикл

ОбъектСЗВ63 = ВыборкаСЗВ63.Ссылка.ПолучитьОбъект();
СоответствиеСсылокИОбъектовСЗВ63.Вставить(ВыборкаСЗВ63.Ссылка, ОбъектСЗВ63);

ЕстьОшибки = Ложь;
ОбъектСЗВ63.ПроверитьПравильностьЗаполненияДокумента(ЕстьОшибки);
Если ЕстьОшибки Тогда
ЕстьОшибкиСЗВ63 = Истина;
Иначе
ДеревоСЗВ63 = ПроцедурыПерсонифицированногоУчета.ПреобразоватьВДеревоXML(РегламентированнаяОтчетность.ПолучитьТекстФайла(ОбъектСЗВ63, ЕстьОшибки));
Если ДеревоСЗВ63 <> Неопределено Тогда
ДеревоСЗВ63 = ДеревоСЗВ63.Строки.Найти("ФайлПФР","Имя");
КонецЕсли;
Если ДеревоСЗВ63 <> Неопределено Тогда
ДеревоСЗВ63 = ДеревоСЗВ63.Строки.Найти("ПачкаВходящихДокументов","Имя");
КонецЕсли;
Если ДеревоСЗВ63 <> Неопределено Тогда // ДеревоСЗВ63 теперь содержит только тег ПачкаВходящихДокументов
СоответствиеСсылокИФайловСЗВ63.Вставить(ВыборкаСЗВ63.Ссылка, ДеревоСЗВ63);
Иначе
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не удалось разобрать сохраненный файл формы СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + "!", ЕстьОшибкиСЗВ63);
КонецЕсли;
КонецЕсли;
УдалитьПустойЗаголовок(ДеревоСообщений);

КонецЦикла;
КонецЕсли;

// проверка полноты комплекта

РазделПроверкиКомплекта = Неопределено;

Если Не ЗначениеЗаполнено(РСВ1) Тогда
РазделПроверкиКомплекта = ОбработкаКомментариев.ДобавитьСообщение("Проверка полноты комплекта представляемых документов", Перечисления.ВидыСообщений.Информация);
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не указан подаваемый вместе с Описью АДВ-6-2 Расчет РСВ-1!", ЕстьОшибкиРСВ1,,,,РазделПроверкиКомплекта);
КонецЕсли;

Если ПроцедурыПерсонифицированногоУчета.ОкончаниеОтчетногоПериодаПерсучета(ОтчетныйПериодАДВ62) = КонецГода(ОтчетныйПериодАДВ62) И ВыборкаСЗВ63.Количество() = 0 Тогда
Если РазделПроверкиКомплекта = Неопределено Тогда
РазделПроверкиКомплекта = ОбработкаКомментариев.ДобавитьСообщение("Проверка полноты комплекта представляемых документов", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Не подготовлены подаваемые вместе с Описью АДВ-6-2 сведения СЗВ-6-3!", ЕстьОшибкиСЗВ63,,,,РазделПроверкиКомплекта);
КонецЕсли;

// перекрестная проверка документов

ЕстьОшибкиРСВ1_СЗВ63 = Ложь;
ЕстьОшибкиАДВ62_СЗВ63 = Ложь;
ЕстьОшибкиАДВ62_РСВ1 = Ложь;

// дополнительные проверки для отчетного периода "Календарный год"
Если Не ЕстьОшибкиСЗВ63 И ПроцедурыПерсонифицированногоУчета.ОкончаниеОтчетногоПериодаПерсучета(ОтчетныйПериодАДВ62) = КонецГода(ОтчетныйПериодАДВ62) Тогда

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ПроцедурыПерсонифицированногоУчета.ПоместитьВМенеджерСоответствиеТарифаКатегории(Запрос.МенеджерВременныхТаблиц);
Запрос.Текст =
"ВЫБРАТЬ
| ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка
|ПОМЕСТИТЬ ВТФормыСЗВ_6_12
|ИЗ
| Документ.ПередачаСЗВ4вПФР.ПачкиДокументов КАК ПередачаСЗВ4вПФРПачкиДокументов
|ГДЕ
| ПередачаСЗВ4вПФРПачкиДокументов.Ссылка = &Ссылка
| И ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СведенияПринятыеПФР.КомплектДокументов КАК Опись
|ПОМЕСТИТЬ ВТПредыдущиеОписиАДВ62
|ИЗ
| РегистрСведений.СведенияПринятыеПФР КАК СведенияПринятыеПФР
|ГДЕ
| СведенияПринятыеПФР.Организация = &Организация
| И ГОД(СведенияПринятыеПФР.ОтчетныйПериодПерсучетаПФР) = &ОтчетныйГод
| И СведенияПринятыеПФР.ОтчетныйПериодПерсучетаПФР <> &ОтчетныйПериод
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка
|ПОМЕСТИТЬ ВТПредыдущиеФормыСЗВ_6_12
|ИЗ
| Документ.ПередачаСЗВ4вПФР.ПачкиДокументов КАК ПередачаСЗВ4вПФРПачкиДокументов
|ГДЕ
| ПередачаСЗВ4вПФРПачкиДокументов.Ссылка В
| (ВЫБРАТЬ
| ПредыдущиеОписиАДВ62.Опись
| ИЗ
| ВТПредыдущиеОписиАДВ62 КАК ПредыдущиеОписиАДВ62)
| И ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ <> ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ОТМЕНЯЮЩАЯ)
| И (ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ)
| ИЛИ ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.КОРРЕКТИРУЮЩАЯ)
| И ГОД(ПередачаСЗВ4вПФРПачкиДокументов.ДокументПачка.КорректируемыйПериод) = &ОтчетныйГод)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| МИНИМУМ(СоответствиеТарифаКатегории.ВидТарифаСтраховыхВзносов) КАК ВидТарифаСтраховыхВзносов,
| СоответствиеТарифаКатегории.КатегорияЗастрахованныхЛиц
|ПОМЕСТИТЬ ВТТарифПоКатегории
|ИЗ
| ВТСоответствиеТарифаКатегории КАК СоответствиеТарифаКатегории
|ГДЕ
| &ОтчетныйГод МЕЖДУ СоответствиеТарифаКатегории.ГодС И СоответствиеТарифаКатегории.ГодПо
|
|СГРУППИРОВАТЬ ПО
| СоответствиеТарифаКатегории.КатегорияЗастрахованныхЛиц
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Застрахованные.Ссылка,
| Застрахованные.ФизЛицо,
| Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц,
| Застрахованные.СтраховойНомерПФР,
| Застрахованные.Фамилия,
| Застрахованные.Имя,
| Застрахованные.Отчество
|ПОМЕСТИТЬ ВТФормыСЗВ_6_3
|ИЗ
| Документ.СведенияОНачисленномЗаработкеСЗВ63.СотрудникиОрганизации КАК Застрахованные
|ГДЕ
| Застрахованные.Ссылка.ОписьАДВ62 = &Ссылка
| И Застрахованные.Ссылка.ОтчетныйПериод = &ОтчетныйГод
| И Застрахованные.Ссылка.Организация = &Организация
| И Застрахованные.Ссылка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Застрахованные.Ссылка,
| Застрахованные.НомерСтроки,
| Застрахованные.ФизЛицо,
| Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц,
| Застрахованные.НачисленоСтраховая + Застрахованные.НачисленоНакопительная КАК НачисленоВзносов,
| Застрахованные.СтраховойНомерПФР,
| Застрахованные.Фамилия,
| Застрахованные.Имя,
| Застрахованные.Отчество
|ПОМЕСТИТЬ ВТЗастрахованныеСЗВ_6_12
|ИЗ
| Документ.СведенияОТрудовомСтажеИЗаработкеСЗВ4.РаботникиОрганизации КАК Застрахованные
|ГДЕ
| Застрахованные.Ссылка В
| (ВЫБРАТЬ
| ФормыСЗВ_6_12.ДокументПачка
| ИЗ
| ВТФормыСЗВ_6_12 КАК ФормыСЗВ_6_12)
| И (Застрахованные.НачисленоСтраховая <> 0
| ИЛИ Застрахованные.НачисленоНакопительная <> 0)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СУММА(ДанныеДокументов.НачисленоВзносов) КАК НачисленоВзносов,
| ДанныеДокументов.ФизЛицо,
| ДанныеДокументов.КатегорияЗастрахованныхЛиц
|ПОМЕСТИТЬ ВТЗастрахованныеСЗВ_6_12заГод
|ИЗ
| (ВЫБРАТЬ
| Застрахованные.НачисленоСтраховая + Застрахованные.НачисленоНакопительная КАК НачисленоВзносов,
| Застрахованные.ФизЛицо КАК ФизЛицо,
| Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц КАК КатегорияЗастрахованныхЛиц
| ИЗ
| Документ.СведенияОТрудовомСтажеИЗаработкеСЗВ4.РаботникиОрганизации КАК Застрахованные
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОТрудовомСтажеИЗаработкеСЗВ4.РаботникиОрганизации КАК КорректирующиеСведения
| ПО Застрахованные.ФизЛицо = КорректирующиеСведения.ФизЛицо
| И Застрахованные.Ссылка.КатегорияЗастрахованныхЛиц = КорректирующиеСведения.Ссылка.КатегорияЗастрахованныхЛиц
| И (КорректирующиеСведения.Ссылка В
| (ВЫБРАТЬ
| ФормыСЗВ_6_12.ДокументПачка
| ИЗ
| ВТПредыдущиеФормыСЗВ_6_12 КАК ФормыСЗВ_6_12
| ГДЕ
| ФормыСЗВ_6_12.ДокументПачка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.КОРРЕКТИРУЮЩАЯ)))
| И (ВЫБОР
| КОГДА Застрахованные.Ссылка.ТипСведенийСЗВ = ЗНАЧЕНИЕ(Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ)
| ТОГДА Застрахованные.Ссылка.ОтчетныйПериод
| ИНАЧЕ Застрахованные.Ссылка.КорректируемыйПериод
| КОНЕЦ = КорректирующиеСведения.Ссылка.КорректируемыйПериод)
| ГДЕ
| Застрахованные.Ссылка В
| (ВЫБРАТЬ
| ФормыСЗВ_6_12.ДокументПачка
| ИЗ
| ВТПредыдущиеФормыСЗВ_6_12 КАК ФормыСЗВ_6_12)
| И (Застрахованные.НачисленоСтраховая <> 0
| ИЛИ Застрахованные.НачисленоНакопительная <> 0)
| И КорректирующиеСведения.ФизЛицо ЕСТЬ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗастрахованныеПоследнегоКвартала.НачисленоВзносов,
| ЗастрахованныеПоследнегоКвартала.ФизЛицо,
| ЗастрахованныеПоследнегоКвартала.КатегорияЗастрахованныхЛиц
| ИЗ
| ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеПоследнегоКвартала) КАК ДанныеДокументов
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокументов.ФизЛицо,
| ДанныеДокументов.КатегорияЗастрахованныхЛиц
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Застрахованные.ФизЛицо,
| Застрахованные.КатегорияЗастрахованныхЛиц,
| СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.ОблагаетсяВзносами, 0)) * СтавкиТарифа.ПФР / 100 КАК ВзносовКНачислению
|ПОМЕСТИТЬ ВТВзносыПоЗаработкуСЗВ_6_3
|ИЗ
| ВТФормыСЗВ_6_3 КАК Застрахованные
| ЛЕВОЕ СОЕДИНЕНИЕ ВТТарифПоКатегории КАК ТарифПоКатегории
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТарифСтраховыхВзносов.СрезПоследних(&КонецГода, ) КАК СтавкиТарифа
| ПО ТарифПоКатегории.ВидТарифаСтраховыхВзносов = СтавкиТарифа.ВидТарифа
| ПО Застрахованные.КатегорияЗастрахованныхЛиц = ТарифПоКатегории.КатегорияЗастрахованныхЛиц
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОНачисленномЗаработкеСЗВ63.СведенияОЗаработке КАК ЗаработокПоМесяцам
| ПО Застрахованные.Ссылка = ЗаработокПоМесяцам.Ссылка
| И Застрахованные.ФизЛицо = ЗаработокПоМесяцам.ФизЛицо
| И (ЗаработокПоМесяцам.Месяц В (10, 11, 12))
|
|СГРУППИРОВАТЬ ПО
| Застрахованные.ФизЛицо,
| Застрахованные.КатегорияЗастрахованныхЛиц,
| СтавкиТарифа.ПФР
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Застрахованные.ФизЛицо,
| Застрахованные.КатегорияЗастрахованныхЛиц,
| СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.ОблагаетсяВзносами, 0)) * СтавкиТарифа.ПФР / 100 КАК ВзносовКНачислению
|ПОМЕСТИТЬ ВТВзносыПоЗаработкуСЗВ_6_3заГод
|ИЗ
| ВТФормыСЗВ_6_3 КАК Застрахованные
| ЛЕВОЕ СОЕДИНЕНИЕ ВТТарифПоКатегории КАК ТарифПоКатегории
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТарифСтраховыхВзносов.СрезПоследних(&КонецГода, ) КАК СтавкиТарифа
| ПО ТарифПоКатегории.ВидТарифаСтраховыхВзносов = СтавкиТарифа.ВидТарифа
| ПО Застрахованные.КатегорияЗастрахованныхЛиц = ТарифПоКатегории.КатегорияЗастрахованныхЛиц
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОНачисленномЗаработкеСЗВ63.СведенияОЗаработке КАК ЗаработокПоМесяцам
| ПО Застрахованные.Ссылка = ЗаработокПоМесяцам.Ссылка
| И Застрахованные.ФизЛицо = ЗаработокПоМесяцам.ФизЛицо
|
|СГРУППИРОВАТЬ ПО
| Застрахованные.ФизЛицо,
| Застрахованные.КатегорияЗастрахованныхЛиц,
| СтавкиТарифа.ПФР
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ЗастрахованныеСЗВ_6_12.ФизЛицо,
| ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц КАК КатегорияЗастрахованныхЛиц,
| ВЫБОР
| КОГДА ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению < 0
| ТОГДА Заработок.ВзносовКНачислению - ЗастрахованныеСЗВ_6_12.НачисленоВзносов
| ИНАЧЕ ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению
| КОНЕЦ КАК РасхождениеВоВзносах,
| Заработок.ВзносовКНачислению,
| ЗастрахованныеСЗВ_6_12.НачисленоВзносов,
| ЕСТЬNULL(Заработок.ФизЛицо.Наименование, ЗастрахованныеСЗВ_6_12.ФизЛицо.Наименование) КАК ФИОЗастрахованного
|ИЗ
| ВТЗастрахованныеСЗВ_6_12заГод КАК ЗастрахованныеСЗВ_6_12
| ЛЕВОЕ СОЕДИНЕНИЕ ВТВзносыПоЗаработкуСЗВ_6_3заГод КАК Заработок
| ПО ЗастрахованныеСЗВ_6_12.ФизЛицо = Заработок.ФизЛицо
| И ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц = Заработок.КатегорияЗастрахованныхЛиц
|ГДЕ
| Заработок.ФизЛицо ЕСТЬ НЕ NULL
|
|УПОРЯДОЧИТЬ ПО
| ФИОЗастрахованного,
| КатегорияЗастрахованныхЛиц
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВЫБОР
| КОГДА Застрахованные.КатегорияЗастрахованныхЛиц = ЗНАЧЕНИЕ(Перечисление.КатегорииЗастрахованныхЛицПФР.ООИ)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоДоходыИнвалидов,
| СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.ОблагаетсяВзносами, 0)) КАК ОблагаемаяБаза,
| СУММА(ЕСТЬNULL(ЗаработокПоМесяцам.Заработок, 0)) КАК Заработок,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Застрахованные.Ссылка) КАК КоличествоПачек
|ИЗ
| ВТФормыСЗВ_6_3 КАК Застрахованные
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОНачисленномЗаработкеСЗВ63.СведенияОЗаработке КАК ЗаработокПоМесяцам
| ПО Застрахованные.Ссылка = ЗаработокПоМесяцам.Ссылка
| И Застрахованные.ФизЛицо = ЗаработокПоМесяцам.ФизЛицо
|
|СГРУППИРОВАТЬ ПО
| ВЫБОР
| КОГДА Застрахованные.КатегорияЗастрахованныхЛиц = ЗНАЧЕНИЕ(Перечисление.КатегорииЗастрахованныхЛицПФР.ООИ)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ЗастрахованныеСЗВ_6_12.ФизЛицо,
| ЗастрахованныеСЗВ_6_12.Ссылка,
| ЗастрахованныеСЗВ_6_12.Ссылка.НомерПачки КАК НомерПачкиСЗВ6_12,
| ЗастрахованныеСЗВ_6_12.НомерСтроки КАК НомерСтрокиСЗВ6_12,
| ВЫБОР
| КОГДА ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению < 0
| ТОГДА Заработок.ВзносовКНачислению - ЗастрахованныеСЗВ_6_12.НачисленоВзносов
| ИНАЧЕ ЗастрахованныеСЗВ_6_12.НачисленоВзносов - Заработок.ВзносовКНачислению
| КОНЕЦ КАК РасхождениеВоВзносах,
| Заработок.ВзносовКНачислению,
| ЗастрахованныеСЗВ_6_12.НачисленоВзносов
|ИЗ
| ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеСЗВ_6_12
| ЛЕВОЕ СОЕДИНЕНИЕ ВТВзносыПоЗаработкуСЗВ_6_3 КАК Заработок
| ПО ЗастрахованныеСЗВ_6_12.ФизЛицо = Заработок.ФизЛицо
| И ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц = Заработок.КатегорияЗастрахованныхЛиц
|ГДЕ
| Заработок.ФизЛицо ЕСТЬ НЕ NULL
|
|УПОРЯДОЧИТЬ ПО
| НомерПачкиСЗВ6_12,
| НомерСтрокиСЗВ6_12
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ЗастрахованныеСЗВ_6_12.ФизЛицо,
| ЗастрахованныеСЗВ_6_12.Ссылка,
| ЗастрахованныеСЗВ_6_12.Ссылка.НомерПачки КАК НомерПачкиСЗВ6_12,
| ЗастрахованныеСЗВ_6_12.НомерСтроки КАК НомерСтрокиСЗВ6_12,
| ФормыСЗВ_6_3.Ссылка.НомерПачки КАК НомерПачкиСЗВ_6_3,
| ВЫБОР
| КОГДА ФормыСЗВ_6_3.Ссылка ЕСТЬ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ОтсуствуетФормаСЗВ63,
| ВЫБОР
| КОГДА ЗастрахованныеСЗВ_6_12.СтраховойНомерПФР <> ФормыСЗВ_6_3.СтраховойНомерПФР
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НеСовпадаетСНИЛС,
| ВЫБОР
| КОГДА ЗастрахованныеСЗВ_6_12.Имя <> ФормыСЗВ_6_3.Имя
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НеСовпадаетИмя,
| ВЫБОР
| КОГДА ЗастрахованныеСЗВ_6_12.Отчество <> ФормыСЗВ_6_3.Отчество
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НеСовпадаетОтчество,
| ВЫБОР
| КОГДА ЗастрахованныеСЗВ_6_12.Фамилия <> ФормыСЗВ_6_3.Фамилия
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НеСовпадаетФамилия,
| ЗастрахованныеСЗВ_6_12.Фамилия + "" "" + ЗастрахованныеСЗВ_6_12.Имя + "" "" + ЗастрахованныеСЗВ_6_12.Отчество КАК ФИОЗастрахованного
|ИЗ
| ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеСЗВ_6_12
| ЛЕВОЕ СОЕДИНЕНИЕ ВТФормыСЗВ_6_3 КАК ФормыСЗВ_6_3
| ПО ЗастрахованныеСЗВ_6_12.ФизЛицо = ФормыСЗВ_6_3.ФизЛицо
| И ЗастрахованныеСЗВ_6_12.КатегорияЗастрахованныхЛиц = ФормыСЗВ_6_3.КатегорияЗастрахованныхЛиц
|
|УПОРЯДОЧИТЬ ПО
| НомерПачкиСЗВ6_12,
| НомерСтрокиСЗВ6_12,
| НомерПачкиСЗВ_6_3
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ЕСТЬNULL(ЗастрахованныеСЗВ_6_12.Количество, 0) КАК КоличествоЗастрахованныхСЗВ_6_12,
| ЕСТЬNULL(ФормыСЗВ_6_3.Количество, 0) КАК КоличествоФормСЗВ_6_3
|ИЗ
| (ВЫБРАТЬ
| 1 КАК Поле) КАК СтрокаЗапроса
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| СУММА(1) КАК Количество
| ИЗ
| ВТФормыСЗВ_6_3 КАК ФормыСЗВ_6_3) КАК ФормыСЗВ_6_3
| ПО (ИСТИНА)
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| СУММА(1) КАК Количество
| ИЗ
| ВТЗастрахованныеСЗВ_6_12 КАК ЗастрахованныеСЗВ_6_12) КАК ЗастрахованныеСЗВ_6_12
| ПО (ИСТИНА)";
Запрос.УстановитьПараметр("Ссылка", ПачкаАДВ62);
Запрос.УстановитьПараметр("Организация", ДокументОбъект.Организация);
Запрос.УстановитьПараметр("ОтчетныйГод", Год(ОтчетныйПериодАДВ62));
Запрос.УстановитьПараметр("ОтчетныйПериод", ОтчетныйПериодАДВ62);
Запрос.УстановитьПараметр("КонецГода", КонецГода(ОтчетныйПериодАДВ62));
Результаты = Запрос.ВыполнитьПакет();
ВсегоРезультатов = Результаты.Количество();

// Сверка отдельных реквизитов документов персонифицированного учета «Сведений о сумме выплат и иных вознаграждений, начисляемых плательщиками страховых взносов - страхователями в пользу физического лица» (формы СЗВ-6-3, АДВ-6-4) и Расчета по начисленным и уплаченным страховым взносам (форма РСВ-1)
РазделСверкиРСВ1иСЗВ63 = Неопределено;
Если Не ЕстьОшибкиРСВ1 И ОтчетныйПериодРСВ1 = ОтчетныйПериодАДВ62 И РСВ1Объект.Организация = ДокументОбъект.Организация И ОтчетныйПериодРСВ1 < ПроведениеРасчетов.ДатаСниженияТарифовСтраховыхВзносов() Тогда

ОбъектОбложенияСЗВ63 = 0;
ОблагаемаяБазаСЗВ63 = 0;
ОбъектОбложенияИнвалидовСЗВ63 = 0;
ОблагаемаяБазаИнвалидовСЗВ63 = 0;
КоличествоПачекСЗВ63 = 0;
КоличествоПачекИнвалидовСЗВ63 = 0;
ВыборкаСверкиДоходов = Результаты[ВсегоРезультатов - 4].Выбрать();
Пока ВыборкаСверкиДоходов.Следующий() Цикл
Если ВыборкаСверкиДоходов.ЭтоДоходыИнвалидов Тогда
КоличествоПачекИнвалидовСЗВ63 = ВыборкаСверкиДоходов.КоличествоПачек;
ОбъектОбложенияИнвалидовСЗВ63 = ВыборкаСверкиДоходов.Заработок;
ОблагаемаяБазаИнвалидовСЗВ63 = ВыборкаСверкиДоходов.ОблагаемаяБаза;
Иначе
КоличествоПачекСЗВ63 = ВыборкаСверкиДоходов.КоличествоПачек;
ОбъектОбложенияСЗВ63 = ВыборкаСверкиДоходов.Заработок;
ОблагаемаяБазаСЗВ63 = ВыборкаСверкиДоходов.ОблагаемаяБаза;
КонецЕсли;
КонецЦикла;

Если ОбъектОбложенияСЗВ63 + 0.5 * КоличествоПачекСЗВ63 < ОбъектОбложенияРСВ1 Тогда
РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма заработка, указанная в формах СЗВ-6-3" + ?(ОбъектОбложенияИнвалидовСЗВ63 =0, "", " (за исключением форм по категории ООИ)") + ", меньше облагаемых взносами в ПФР сумм, указанных в разделе 2 Расчета РСВ-1!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63);
КонецЕсли;
Разность = Макс(ОблагаемаяБазаСЗВ63 - ОблагаемаяБазаРСВ1, ОблагаемаяБазаРСВ1 - ОблагаемаяБазаСЗВ63);
ДопустимоеРасхождение = Окр(КоличествоПачекСЗВ63/2);
Если Разность > ДопустимоеРасхождение Тогда
Если РазделСверкиРСВ1иСЗВ63 = Неопределено Тогда
РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбработкаКомментариев.ДобавитьСообщение("За отчетный период сформировано " + КоличествоПачекСЗВ63 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("пачка", "пачки", "пачек", КоличествоПачекСЗВ63) + " форм СЗВ-6-3. Допустимое различие показателей Расчета РСВ-1 и форм СЗВ-6-3 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иСЗВ63);
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма облагаемой базы, указанная в формах СЗВ-6-3" + ?(ОбъектОбложенияИнвалидовСЗВ63 =0, "", " (за исключением форм по категории ООИ)") + ", и сумма показателей колонки ""Всего с начала расчетного периода"" по строкам 220 и 221 раздела 2 Расчета РСВ-1 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63);
КонецЕсли;
Если ОбъектОбложенияИнвалидовСЗВ63 + 0.5 * КоличествоПачекИнвалидовСЗВ63 < ОбъектОбложенияИнвалидовРСВ1 Тогда
Если РазделСверкиРСВ1иСЗВ63 = Неопределено Тогда
РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма заработка, указанная в формах СЗВ-6-3 по категории ООИ, меньше облагаемых взносами в ПФР сумм, указанных в разделе 3 Расчета РСВ-1!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63);
КонецЕсли;
Разность = Макс(ОблагаемаяБазаИнвалидовСЗВ63 - ОблагаемаяБазаИнвалидовРСВ1, ОблагаемаяБазаИнвалидовРСВ1 - ОблагаемаяБазаИнвалидовСЗВ63);
Если Разность > 1 Тогда
Если РазделСверкиРСВ1иСЗВ63 = Неопределено Тогда
РазделСверкиРСВ1иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-3 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Общая сумма облагаемой базы, указанная в формах СЗВ-6-3 по категории ООИ, и сумма показателей колонки ""Всего с начала расчетного периода"" по строкам 320 и 321 раздела 3 Расчета РСВ-1 различаются более чем на 1 руб.!", ЕстьОшибкиРСВ1_СЗВ63,,,,РазделСверкиРСВ1иСЗВ63);
КонецЕсли;

КонецЕсли;

// Сверка «Сведений о сумме выплат и иных вознаграждений, начисляемых плательщиками страховых взносов - страхователями в пользу физического лица» (по форме СЗВ-6-3, АДВ-6-4) со сведениями персонифицированного учета о стаже и начисленным и уплаченным страховым взносам (по форме АДВ-6-2, СЗВ-6-2, СЗВ-6-1)
РазделСверкиАДВ62иСЗВ63 = Неопределено;
Если Не ЕстьОшибкиАДВ62 И Не ЕстьОшибкиСЗВ6 Тогда

Для каждого Элемент Из СоответствиеСсылокИОбъектовСЗВ63 Цикл
ОбъектСЗВ63 = Элемент.Значение;

Если ОбъектСЗВ63.Организация <> ДокументОбъект.Организация Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Пачка СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " оформлена на " + ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("другую организацию!"), ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63);
Иначе

ДеревоСЗВ63 = СоответствиеСсылокИФайловСЗВ63[Элемент.Ключ];
ДеревоСЗВ63 = ДеревоСЗВ63.Строки.Найти("ВХОДЯЩАЯ_ОПИСЬ_ПО_СУММАМ_ВЫПЛАТ", "Имя");

Если СокрЛП(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(ДеревоСЗВ63, "ИНН")) <> СокрЛП(ИнформацияОПачкеАДВ62.ИНН) Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и пачке СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " не совпадает ИНН!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиАДВ62иСЗВ63);
КонецЕсли;
Если СокрЛП(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(ДеревоСЗВ63, "КПП")) <> СокрЛП(ИнформацияОПачкеАДВ62.КПП) Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и пачке СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " не совпадает КПП!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиАДВ62иСЗВ63);
КонецЕсли;
Если СокрЛП(ПроцедурыПерсонифицированногоУчета.ИзвлечьДанное(ДеревоСЗВ63, "РегистрационныйНомер")) <> СокрЛП(ИнформацияОПачкеАДВ62.РегНомерПФР) Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и пачке СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " не совпадает регистрационный номер страхователя в ПФР!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиАДВ62иСЗВ63);
КонецЕсли;

КонецЕсли;
Если ОбъектСЗВ63.ТипСведенийСЗВ = Перечисления.ТипыСведенийСЗВ.ИСХОДНАЯ И ОбъектСЗВ63.ОтчетныйПериод <> Год(ОтчетныйПериодАДВ62) Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Исходная пачка СЗВ-6-3 № " + ОбъектСЗВ63.НомерПачки + " содержит данные за другой отчетный период!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63);
КонецЕсли;
КонецЦикла;

ВыборкаСверкиКоличества = Результаты[ВсегоРезультатов - 1].Выбрать();
ВыборкаСверкиКоличества.Следующий();
Если ВыборкаСверкиКоличества.КоличествоФормСЗВ_6_3 < ВыборкаСверкиКоличества.КоличествоЗастрахованныхСЗВ_6_12 Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Количество исходных форм СЗВ-6-3 меньше количества исходных форм СЗВ-6-1(2), содержащих ненулевые начисленные взносы!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63);
КонецЕсли;

КоличествоПредыдущихПериодовГода = 0;
ПроверяемыйГод = Год(ОтчетныйПериодАДВ62);
Для каждого ПрошлыйПериод Из МассивПрошлыхПериодов Цикл
Если Год(ПрошлыйПериод) = ПроверяемыйГод И ПрошлыйПериод < ОтчетныйПериодАДВ62 Тогда
КоличествоПредыдущихПериодовГода = КоличествоПредыдущихПериодовГода + 1;
КонецЕсли;
КонецЦикла;
КоличествоПринятыхКомплектовГода = 0;
Для каждого СтрокаТЧ Из ПачкиДокументов Цикл
Если Год(СтрокаТЧ.ОтчетныйПериод) = ПроверяемыйГод И СтрокаТЧ.ОтчетныйПериод < ОтчетныйПериодАДВ62 Тогда
КоличествоПринятыхКомплектовГода = КоличествоПринятыхКомплектовГода + 1;
КонецЕсли;
КонецЦикла;

ВыборкаСверкиЗастрахованных = Результаты[ВсегоРезультатов - 2].Выбрать();
ВыборкаСверкиВзносов = Результаты[ВсегоРезультатов - 3].Выбрать();
СтруктураПоиска = Новый Структура("Ссылка, НомерСтрокиСЗВ6_12");
Пока ВыборкаСверкиЗастрахованных.Следующий() Цикл
НачалоСообщения = "Для застрахованного " + СокрЛП(ВыборкаСверкиЗастрахованных.ФИОЗастрахованного) + ", указанного в строке " + ВыборкаСверкиЗастрахованных.НомерСтрокиСЗВ6_12 + " пачки СЗВ-6-1(2) № " + ВыборкаСверкиЗастрахованных.НомерПачкиСЗВ6_12 + ": ";
Если ВыборкаСверкиЗастрахованных.ОтсуствуетФормаСЗВ63 Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщения + "отсутствуют формы СЗВ-6-3!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63);
Иначе
НачалоСообщенияНесовпадения = НачалоСообщения + "в пачке СЗВ-6-3 № " + ВыборкаСверкиЗастрахованных.НомерПачкиСЗВ_6_3 + " не совпадает ";
Если ВыборкаСверкиЗастрахованных.НеСовпадаетСНИЛС Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "СНИЛС!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63);
КонецЕсли;
Если ВыборкаСверкиЗастрахованных.НеСовпадаетФамилия Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "фамилия!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63);
КонецЕсли;
Если ВыборкаСверкиЗастрахованных.НеСовпадаетИмя Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "имя!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63);
КонецЕсли;
Если ВыборкаСверкиЗастрахованных.НеСовпадаетОтчество Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщенияНесовпадения + "отчество!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63);
КонецЕсли;

Если СтруктураПоиска.Ссылка <> ВыборкаСверкиЗастрахованных.Ссылка И СтруктураПоиска.НомерСтрокиСЗВ6_12 <> ВыборкаСверкиЗастрахованных.НомерСтрокиСЗВ6_12 Тогда
ЗаполнитьЗначенияСвойств(СтруктураПоиска, ВыборкаСверкиЗастрахованных);
// сверка начисленных взносов за текущий отчетный период
ВыборкаСверкиВзносов.Сбросить();
Если ВыборкаСверкиВзносов.НайтиСледующий(СтруктураПоиска) Тогда
Если ВыборкаСверкиВзносов.РасхождениеВоВзносах > 0.03 Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке(НачалоСообщения + " сумма начисленных взносов, указанная в форме СЗВ-6-1,2 (" + Формат(ВыборкаСверкиВзносов.НачисленоВзносов,"ЧДЦ=2; ЧГ=0") + "), отличается от суммы взносов, исчисленной по всем формам СЗВ-6-3 (" + Формат(ВыборкаСверкиВзносов.ВзносовКНачислению,"ЧДЦ=2; ЧГ=0") + "), более чем на 3 копейки!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63);
КонецЕсли;
КонецЕсли;

КонецЕсли;

КонецЕсли;
КонецЦикла;

// сверка начисленных взносов за год в целом
ВыборкаСверкиВзносовЗаГод = Результаты[ВсегоРезультатов - 5].Выбрать();
Пока ВыборкаСверкиВзносовЗаГод.Следующий() Цикл
Если ВыборкаСверкиВзносовЗаГод.РасхождениеВоВзносах > 0.03 Тогда
Если РазделСверкиАДВ62иСЗВ63 = Неопределено Тогда
РазделСверкиАДВ62иСЗВ63 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных форм СЗВ-6-1(2) и сведений о заработке СЗВ-6-3", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Для застрахованного " + СокрЛП(ВыборкаСверкиВзносовЗаГод.ФИОЗастрахованного) + ": сумма начисленных взносов, указанная в формах СЗВ-6-1,2 текущего года по категории ЗЛ " + ВыборкаСверкиВзносовЗаГод.КатегорияЗастрахованныхЛиц + " (" + Формат(ВыборкаСверкиВзносовЗаГод.НачисленоВзносов,"ЧДЦ=2; ЧГ=0") + "), отличается от суммы взносов, исчисленной по всем формам СЗВ-6-3 этой же категории (" + Формат(ВыборкаСверкиВзносовЗаГод.ВзносовКНачислению,"ЧДЦ=2; ЧГ=0") + "), более чем на 3 копейки!", ЕстьОшибкиАДВ62_СЗВ63,,,,РазделСверкиАДВ62иСЗВ63);
КонецЕсли;
КонецЦикла;

КонецЕсли;

КонецЕсли;

// Сверка отдельных реквизитов Описи сведений персонифицированного учета (формы АДВ-6-2) и Расчета по начисленным и уплаченным страховым взносам (форма РСВ-1)
Если Не ЕстьОшибкиСЗВ6 И Не ЕстьОшибкиАДВ62 И Не ЕстьОшибкиРСВ1 Тогда

РазделСверкиРСВ1иАДВ62 = Неопределено;

Если РСВ1Объект.Организация <> ДокументОбъект.Организация Тогда
РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Расчет РСВ-1 оформлен на " + ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("другую организацию!"), ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62);
Иначе

ИННизАДВ62 = ?(СтрДлина(СокрЛП(ИнформацияОПачкеАДВ62.ИНН)) = 10,"00","") + СокрЛП(ИнформацияОПачкеАДВ62.ИНН);
Если СокрЛП(ИННизРСВ1) <> ИННизАДВ62 Тогда
Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда
РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и Расчете РСВ-1 не совпадает ИНН!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62);
КонецЕсли;
Если СокрЛП(КППизРСВ1) <> СокрЛП(ИнформацияОПачкеАДВ62.КПП) Тогда
Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда
РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и Расчете РСВ-1 не совпадает КПП!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62);
КонецЕсли;
Если СокрЛП(РегНомерПФРизРСВ1) <> СокрЛП(ИнформацияОПачкеАДВ62.РегНомерПФР) Тогда
Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда
РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("В Описи АДВ-6-2 и Расчете РСВ-1 не совпадает регистрационный номер страхователя в ПФР!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62);
КонецЕсли;

КонецЕсли;

Если ОтчетныйПериодРСВ1 <> ОтчетныйПериодАДВ62 Тогда

Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда
РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Период Расчета РСВ-1 не соответствует отчетному периоду Описи АДВ-6-2", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62);

Иначе

ДопустимоеРасхождение = Окр(ВсегоКатегорийАДВ62/2);
СообщениеОРасхожденииУжеВыводилось = Ложь;

Разность = Макс(НачисленоРСВ1НаСтраховую - НачисленоАДВ62НаСтраховую, НачисленоАДВ62НаСтраховую - НачисленоРСВ1НаСтраховую);
Если Разность > ДопустимоеРасхождение Тогда
Если Не СообщениеОРасхожденииУжеВыводилось Тогда
Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда
РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
СообщениеОРасхожденииУжеВыводилось = Истина;
ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы начисленных взносов на страховую часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62);
КонецЕсли;
Разность = Макс(НачисленоРСВ1НаНакопительную - НачисленоАДВ62НаНакопительную, НачисленоАДВ62НаНакопительную - НачисленоРСВ1НаНакопительную);
Если Разность > ДопустимоеРасхождение Тогда
Если Не СообщениеОРасхожденииУжеВыводилось Тогда
Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда
РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
СообщениеОРасхожденииУжеВыводилось = Истина;
ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы начисленных взносов на накопительную часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62);
КонецЕсли;
Разность = Макс(УплаченоРСВ1НаСтраховую - УплаченоАДВ62НаСтраховую, УплаченоАДВ62НаСтраховую - УплаченоРСВ1НаСтраховую);
Если Разность > ДопустимоеРасхождение Тогда
Если Не СообщениеОРасхожденииУжеВыводилось Тогда
Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда
РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
СообщениеОРасхожденииУжеВыводилось = Истина;
ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы уплаченных взносов на страховую часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62);
КонецЕсли;
Разность = Макс(УплаченоРСВ1НаНакопительную - УплаченоАДВ62НаНакопительную, УплаченоАДВ62НаНакопительную - УплаченоРСВ1НаНакопительную);
Если Разность > ДопустимоеРасхождение Тогда
Если Не СообщениеОРасхожденииУжеВыводилось Тогда
Если РазделСверкиРСВ1иАДВ62 = Неопределено Тогда
РазделСверкиРСВ1иАДВ62 = ОбработкаКомментариев.ДобавитьСообщение("Сверка данных Описи АДВ-6-2 и Расчета РСВ-1", Перечисления.ВидыСообщений.Информация);
КонецЕсли;
СообщениеОРасхожденииУжеВыводилось = Истина;
ОбработкаКомментариев.ДобавитьСообщение("В Описи АДВ-6-2 присутствует " + ВсегоКатегорийАДВ62 + " " + ОбщегоНазначения.ФормаМножественногоЧисла("категория", "категории", "категорий", ВсегоКатегорийАДВ62) + " застрахованных лиц. Допустимое различие показателей Расчета РСВ-1 и Описи АДВ-6-2 составляет " + ДопустимоеРасхождение + " руб.", Перечисления.ВидыСообщений.Информация,,РазделСверкиРСВ1иАДВ62);
КонецЕсли;
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Суммы уплаченных взносов на накопительную часть пенсии в Расчете РСВ-1 и Описи АДВ-6-2 различаются более чем на " + ДопустимоеРасхождение + " руб.!", ЕстьОшибкиАДВ62_РСВ1,,,,РазделСверкиРСВ1иАДВ62);
КонецЕсли;

КонецЕсли;

КонецЕсли;

ЕстьОшибки = ЕстьОшибкиРСВ1 Или ЕстьОшибкиАДВ62 Или ЕстьОшибкиСЗВ6 Или ЕстьОшибкиРасчетаСЗВ6 Или ЕстьОшибкиСЗВ63 Или ЕстьОшибкиРСВ1_СЗВ63 Или ЕстьОшибкиАДВ62_СЗВ63 Или ЕстьОшибкиАДВ62_РСВ1;

Если Не ЕстьОшибки Тогда
ОбработкаКомментариев.УдалитьСообщения();
Если СообщатьОбУспехе Тогда
ОбщегоНазначения.ВывестиИнформациюОбОшибке("Ошибок не обнаружено!");
КонецЕсли;
КонецЕсли;

Возврат ЕстьОшибки

КонецФункции
 
  Планируется исправить в релизе: 2.5.46  
 
  Код ошибки: 10098480  
  Дата публикации: 27 января 2012 г.  
  Описание: При заполнении документа "Начисление зарплаты сотрудникам" подбором состав строк табличной части может быть искажен, если у подбираемого сотрудника в выбранном периоде есть вытесняющие начисления.  
  Способ исправления: В общем модуле ЗаполнениеДокументовДополнительный
заменить процедуру СформироватьЗапросЗначенийПоказателейУправленческогоУчета
и в модуле документа НачислениеЗарплатыРаботникам
заменить функции ЗаполнитьПоказателиСтроки, Автозаполнение на приведенные ниже:
Процедура СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации = Ложь) Экспорт

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

ТекстЗапроса = ТекстЗапроса + НачислениеЗарплатыРаботникамПереопределяемый.ТекстЗапросаПоказателейВидаРасчетов();

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

Если ПоВременнойСхемеМотивации Тогда

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

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

Запрос.Текст = ТекстЗапроса;

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

КонецПроцедуры // СформироватьЗапросЗначенийПоказателейУправленческогоУчета
//Выполняет автоматическое заполнение показателей в строке
//
Процедура ЗаполнитьПоказателиСтроки(СтрокаТабличнойЧасти, ИмяТабличнойЧасти) Экспорт

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

ДатаНачала = ?(ЗначениеЗаполнено(СтрокаТабличнойЧасти.ДатаНачала), СтрокаТабличнойЧасти.ДатаНачала, ПериодРегистрации);

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

Физлицо = ?(ИмяТабличнойЧасти = "Начисления", ОбщегоНазначения.ПолучитьЗначениеРеквизита(СтрокаТабличнойЧасти.Сотрудник, "Физлицо"), СтрокаТабличнойЧасти.Физлицо);

Запрос.УстановитьПараметр("Физлицо", Физлицо);
Запрос.УстановитьПараметр("ВидРасчета", СтрокаТабличнойЧасти.ВидРасчета);

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

Запрос.Выполнить();
ЗаполнениеДокументовДополнительный.СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации);

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

Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЗаполнитьЗначенияСвойств(СтрокаТабличнойЧасти, Выборка);
КонецЕсли;
КонецПроцедуры
// Выполняет автоматическое заполнение документа по данным документа и переданным параметрам
//
// Параметры:
// нет
//
// Возвращаемое значение:
// Логическое - удалось ли выполнить автоматическое заполнение документа
//
Функция Автозаполнение(Запрос = Неопределено, МассивФизлица = Неопределено) Экспорт

Перем ВалютаУпрУчета;
Перем КурсВалютыУпрУчета;

ПроведениеРасчетовДополнительный.ПолучитьКурсВалютыУпрУчета(ПериодРегистрации, ПериодРегистрации, ВалютаУпрУчета, КурсВалютыУпрУчета, Константы.ВалютаРегламентированногоУчета.Получить());

КурсВалютыУпрУчета = КурсВалютыУпрУчета.Получить(ПериодРегистрации);

Если КурсВалютыУпрУчета = 0 Тогда

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

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

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

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

КонецЕсли;

ОтборПоОтветственным = ЗначениеЗаполнено(Ответственный)
И глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналу").РасчетЗарплатыПоОтветственным;

// Проверим ответственного - является ли он расчетчиком вообще и для заданного
// подразделения (если оно задано)
Если ОтборПоОтветственным Тогда

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

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

Если Запрос.Выполнить().Пустой() Тогда
ОбщегоНазначения.ВывестиИнформациюОбОшибке(
СтрЗаменить("Ответственный за этот документ не является расчетчиком %1 компании", "%1",
?(ЗначениеЗаполнено(Подразделение),
"для выбранного подразделения",
"ни для одного из подразделений")));
Возврат Ложь;
КонецЕсли;

КонецЕсли;

ОтборПоВТСписокРаботников = Запрос <> Неопределено;

// если временная таблица не передана, создаем имитацию
// для работоспособности последующих запросов,
// отбора по ней все равно не будет выполняться
Если Не ОтборПоВТСписокРаботников Тогда

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

Запрос.Текст =
"ВЫБРАТЬ
| NULL КАК Сотрудник,
| NULL КАК Физлицо
|ПОМЕСТИТЬ ВТСписокРаботников";

Иначе

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

КонецЕсли;

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

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

Запрос.УстановитьПараметр("ОтборПоВТСписокРаботников", ОтборПоВТСписокРаботников);
Запрос.УстановитьПараметр("ОтборПоОтветственным", ОтборПоОтветственным);
Запрос.УстановитьПараметр("ОтборПоПодразделениям", ЗначениеЗаполнено(Подразделение));

Запрос.УстановитьПараметр("Физлица", МассивФизлица);
Запрос.УстановитьПараметр("ОтборПоФизлицам", МассивФизлица <> Неопределено);

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

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

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

Если ЗаполнятьНачисления ИЛИ ЗаполнятьУдержания Тогда

ЗаполнениеДокументовДополнительный.СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации);

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

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

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

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

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

// АВТОЗАПОЛНЕНИЕ ТЧ "Начисления"
Если ЗаполнятьНачисления Тогда

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

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

// заполняем номера, чтобы идентифицировать строки при удалении вытесняемых
ТЗНачисления.Колонки.Добавить("НомерСтрокиДокумента", Новый ОписаниеТипов("Число"));
ТЗНачисления.Колонки.Добавить("НомерСтрокиНабораЗаписей", Новый ОписаниеТипов("Число"));

Для Каждого СтрокаНачисления Из ТЗНачисления Цикл
НоваяСтрока = Начисления.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаНачисления);
СтрокаНачисления.НомерСтрокиДокумента = НоваяСтрока.НомерСтроки;
КонецЦикла;

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

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

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

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

// найдем нужные строки благодаря предварительной идентификации
УдаляемыеСтрокиДокумента = Новый Массив;
Пока Выборка.Следующий() Цикл
СтрокаНачисления = ТЗНачисления.Найти(Выборка.НомерСтроки, "НомерСтрокиНабораЗаписей");
Если СтрокаНачисления <> Неопределено Тогда
УдаляемыеСтрокиДокумента.Добавить(Начисления[СтрокаНачисления.НомерСтрокиДокумента - 1]);
КонецЕсли;
КонецЦикла;

// удаляем собранные строки
Для Каждого УдаляемаяСтрока Из УдаляемыеСтрокиДокумента Цикл
Начисления.Удалить(УдаляемаяСтрока);
КонецЦикла;

// удалим проверочный набор записей
НаборЗаписейДляПроверки.Очистить();
НаборЗаписейДляПроверки.Записать();
КонецЕсли;

// АВТОЗАПОЛНЕНИЕ ТЧ "Удержания"
Если ЗаполнятьУдержания Тогда

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

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

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

КонецЕсли;

КонецЕсли;

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

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

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

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

КонецФункции
 
  Планируется исправить в релизе: 2.5.47  
 
  Код ошибки: 10098113  
  Дата публикации: 27 января 2012 г.  
  Описание: При переносе данных из ЗУП базовой или КОРП в ЗБУ возникает сообщение об ошибке.  
  Планируется исправить в релизе: 2.5.47  
 
  Код ошибки: 10096774  
  Дата публикации: 27 января 2012 г.  
  Описание: При конвертации из ЗиК в ЗУП/ЗБУ возникает сообщение об ошибке, если в ЗиК в документах "Ввод расчета сотруднику/списку сотрудников" в качестве величины указано не число, а значение из справочника "Процентные надбавки по стажу".  
  Планируется исправить в релизе: 2.5.47  
 
  Код ошибки: 10098102  
  Дата публикации: 23 января 2012 г.  
  Описание: В организациях, применяющих УСН (кроме производственных, имеющих право на льготный тариф), после превышения предельно допустимого значения базы не начисляются взносы в ПФР по ставке 10%.  
  Планируется исправить в релизе: 2.5.46  
 
  Код ошибки: 10097572  
  Дата публикации: 23 января 2012 г.  
  Описание: При заполнении документа "Начисление зарплаты" неверно учитываются периоды кадровых документов.  
  Способ исправления: В общем модуле ЗаполнениеДокументовДополнительный
заменить процедуру СформироватьЗапросЗначенийПоказателейУправленческогоУчета
и в модуле документа НачислениеЗарплатыРаботникам
заменить функции ЗаполнитьПоказателиСтроки, Автозаполнение на приведенные ниже:
Процедура СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации = Ложь) Экспорт

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

ТекстЗапроса = ТекстЗапроса + НачислениеЗарплатыРаботникамПереопределяемый.ТекстЗапросаПоказателейВидаРасчетов();

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

Если ПоВременнойСхемеМотивации Тогда

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

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

Запрос.Текст = ТекстЗапроса;

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

КонецПроцедуры // СформироватьЗапросЗначенийПоказателейУправленческогоУчета
//Выполняет автоматическое заполнение показателей в строке
//
Процедура ЗаполнитьПоказателиСтроки(СтрокаТабличнойЧасти, ИмяТабличнойЧасти) Экспорт

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

ДатаНачала = ?(ЗначениеЗаполнено(СтрокаТабличнойЧасти.ДатаНачала), СтрокаТабличнойЧасти.ДатаНачала, ПериодРегистрации);

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

Физлицо = ?(ИмяТабличнойЧасти = "Начисления", ОбщегоНазначения.ПолучитьЗначениеРеквизита(СтрокаТабличнойЧасти.Сотрудник, "Физлицо"), СтрокаТабличнойЧасти.Физлицо);

Запрос.УстановитьПараметр("Физлицо", Физлицо);
Запрос.УстановитьПараметр("ВидРасчета", СтрокаТабличнойЧасти.ВидРасчета);

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

Запрос.Выполнить();
ЗаполнениеДокументовДополнительный.СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации);

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

Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЗаполнитьЗначенияСвойств(СтрокаТабличнойЧасти, Выборка);
КонецЕсли;
КонецПроцедуры
// Выполняет автоматическое заполнение документа по данным документа и переданным параметрам
//
// Параметры:
// нет
//
// Возвращаемое значение:
// Логическое - удалось ли выполнить автоматическое заполнение документа
//
Функция Автозаполнение(Запрос = Неопределено, МассивФизлица = Неопределено) Экспорт

Перем ВалютаУпрУчета;
Перем КурсВалютыУпрУчета;

ПроведениеРасчетовДополнительный.ПолучитьКурсВалютыУпрУчета(ПериодРегистрации, ПериодРегистрации, ВалютаУпрУчета, КурсВалютыУпрУчета, Константы.ВалютаРегламентированногоУчета.Получить());

КурсВалютыУпрУчета = КурсВалютыУпрУчета.Получить(ПериодРегистрации);

Если КурсВалютыУпрУчета = 0 Тогда

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

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

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

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

КонецЕсли;

ОтборПоОтветственным = ЗначениеЗаполнено(Ответственный)
И глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналу").РасчетЗарплатыПоОтветственным;

// Проверим ответственного - является ли он расчетчиком вообще и для заданного
// подразделения (если оно задано)
Если ОтборПоОтветственным Тогда

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

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

Если Запрос.Выполнить().Пустой() Тогда
ОбщегоНазначения.ВывестиИнформациюОбОшибке(
СтрЗаменить("Ответственный за этот документ не является расчетчиком %1 компании", "%1",
?(ЗначениеЗаполнено(Подразделение),
"для выбранного подразделения",
"ни для одного из подразделений")));
Возврат Ложь;
КонецЕсли;

КонецЕсли;

ОтборПоВТСписокРаботников = Запрос <> Неопределено;

// если временная таблица не передана, создаем имитацию
// для работоспособности последующих запросов,
// отбора по ней все равно не будет выполняться
Если Не ОтборПоВТСписокРаботников Тогда

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

Запрос.Текст =
"ВЫБРАТЬ
| NULL КАК Сотрудник,
| NULL КАК Физлицо
|ПОМЕСТИТЬ ВТСписокРаботников";

Иначе

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

КонецЕсли;

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

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

Запрос.УстановитьПараметр("ОтборПоВТСписокРаботников", ОтборПоВТСписокРаботников);
Запрос.УстановитьПараметр("ОтборПоОтветственным", ОтборПоОтветственным);
Запрос.УстановитьПараметр("ОтборПоПодразделениям", ЗначениеЗаполнено(Подразделение));

Запрос.УстановитьПараметр("Физлица", МассивФизлица);
Запрос.УстановитьПараметр("ОтборПоФизлицам", МассивФизлица <> Неопределено);

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

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

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

Если ЗаполнятьНачисления ИЛИ ЗаполнятьУдержания Тогда

ЗаполнениеДокументовДополнительный.СформироватьЗапросЗначенийПоказателейУправленческогоУчета(Запрос, ПоВременнойСхемеМотивации);

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

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

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

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

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

// АВТОЗАПОЛНЕНИЕ ТЧ "Начисления"
Если ЗаполнятьНачисления Тогда

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

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

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

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

Для Каждого Строка Из ТЗНачисления Цикл
Движение = НаборЗаписейДляПроверки.Добавить();

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

// измерения
Движение.Физлицо = Строка.Физлицо;

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

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

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

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

// удалим проверочный набор записей
НаборЗаписейДляПроверки.Очистить();
НаборЗаписейДляПроверки.Записать();
КонецЕсли;

// АВТОЗАПОЛНЕНИЕ ТЧ "Удержания"
Если ЗаполнятьУдержания Тогда

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

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

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

КонецЕсли;

КонецЕсли;

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

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

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

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

КонецФункции
 
  Планируется исправить в релизе: 2.5.47  
 
  Код ошибки: 10098115  
  Дата публикации: 23 января 2012 г.  
  Описание: Если в конфигурации ЗиК в справочнике "Тарифные разряды" в разных группах присутствуют разряды с одинаковым наименованием, то при переносе в ЗУП переносится только один из них.  
  Планируется исправить в релизе: 2.5.47  
 
  Код ошибки: 10062307  
  Дата публикации: 18 января 2012 г.  
  Описание: В форме обработки «Показатели расчета зарплаты» не отображается показатель вида «Для всей компании».  
  Исправлено в релизе: 2.5.47  
 
  Код ошибки: 10097707  
  Дата публикации: 18 января 2012 г.  
  Описание: Отчет «Организационная структура» не формируется, если программа не используется для управленческого учета.  
  Планируется исправить в релизе: 2.5.47  
 
  Код ошибки: 10095334  
  Дата публикации: 13 января 2012 г.  
  Описание: При использовании даты запрета редактирования не удавалось рассчитать средний заработок в документе-исправлении "Отпуск по уходу за ребенком" текущего периода.  
  Исправлено в релизе: 2.5.47  
 
  Код ошибки: 10095325  
  Дата публикации: 13 января 2012 г.  
  Описание: Если для организации указан местный районный коэффициент (например, 1,25), а для ее обособленного подразделения - не указан (у них нет районного коэффициента), то в Унифицированной форме Т-3 для этого подразделения ошибочно заполняется районный коэффициент 25%.  
  Исправлено в релизе: 2.5.47  
 
  Код ошибки: 10095925  
  Дата публикации: 20 декабря 2011 г.  
  Описание: В документе "Регистрация разовых начислений" при подборе сотрудников в табличную часть не заполняются значения показателей по данным плановых начислений.  
  Исправлено в релизе: 2.5.47  
 
  Код ошибки: 10049063  
  Дата публикации: 20 сентября 2011 г.  
  Описание: Если сотруднику назначено плановое начисление со способом расчета "Фиксированной суммой", то в случае изменения подразделения кадровым перемещением и оформления нескольких документов "Начисление зарплаты сотрудникам организаций" с указанием подразделений в шапке документа это начисление при заполнении попадает в каждый из таких документов.  
 
  Код ошибки: 10087834  
  Дата публикации: 2 сентября 2011 г.  
  Описание: Отчет "Карточка учета страховых взносов" формируется неправильно в случае, если сотрудник принят в две организации в одной информационной базе, совокупный доход по этим организациям превысил предельную величину (463 т.р.) и в настройках отчёта не указана организация.  
  Способ обхода: В настройках отчёта указать одну из организаций.  
 
  Код ошибки: 10082109  
  Дата публикации: 8 июня 2011 г.  
  Описание: В печатную форму "Расчет при увольнении (Т-61)" в таблице расчета выплат в колонку 12 не попадают начисленные в месяце увольнения выплаты за прошлые месяцы.  
 
  Код ошибки: 10055659  
  Дата публикации: 18 мая 2011 г.  
  Описание: В том случае, когда за 1 квартал 2010 года у сотрудника имеются только отрицательные начисления, в отчете 4-ФСС неверно заполняются показатели облагаемой базы - в них ошибочно включаются эти отрицательные начисления.  
 
  Код ошибки: 10080912  
  Дата публикации: 13 мая 2011 г.  
  Описание: Если в журнале регламентированных отчетов очистить дату окончания периода, а затем снять галочку отбора Период, а затем ее опять установить, то возникает сообщение об ошибке:
{Обработка.ОбщиеОбъектыРегламентированнойОтчетности.Форма.УправлениеОтчетностью.Форма(1466)}: Ошибка при вызове метода контекста (ПредставлениеПериода)
Подсказка = "Отчеты за период " + ПредставлениеПериода(ДатаНачалаПериодаОтчета, КонецДня(ДатаКонцаПериодаОтчета), "ФП = Истина");
по причине:
Недопустимое значение параметра (параметр номер '2') (01.01.0001 23:59:59 < 01.01.2011 0:00:00)
Если закрыть журнал с включенным отбором по периоду, то открыть его в дальнейшем не удастся, т.к. будет выдаваться вышеописанное сообщение об ошибке и окно журнала не будет открываться.
 
 
  Код ошибки: 10062909  
  Дата публикации: 18 марта 2011 г.  
  Описание: Если при проведении кадрового документа-исправления будет выдано сообщение об ошибке пользователя и он не проведется, то после устранения проблемы и проведения документа возникает следующая "отложенная" проблема: при попытке отменить проведение этого документа будет выдано сообщение об ошибке.  
  Способ обхода: После неудавшейся отмены проведения необходимо снова провести документ, после чего его можно будет отменить.  
 
  Код ошибки: 10071893  
  Дата публикации: 18 января 2011 г.  
  Описание: Неверно заполняются данные о доходах для расчета пособий соц. страхования за 2009 год в том случае, когда сотруднику в 2009 году начислялась материальная помощь, не облагавшаяся ранее ЕСН целиком, - не учитывается скидка.
 
 
  Код ошибки: 10042205  
  Дата публикации: 30 ноября 2010 г.  
  Описание: При расчете б/л в 2010 году по сотруднику, работавшему ранее по основному месту работы и по внутреннему совместительству, не учитывается заработок по внутреннему совместительству, если на дату начала болезни со внутреннего совместительства сотрудник был уволен.  
 
  Код ошибки: 00094289  
  Дата публикации: 14 сентября 2007 г.  
  Описание: В форме 2-НДФЛ за прошлые годы (по 2009-й) на работника, у которого по результатам перерасчета за прошлые налоговые периода был доудержан (зачтен) налог, не заполняются пп.5.6 или 5.7 раздела 5.  
 
  Код ошибки: 10050537  
  Дата публикации: 15 октября 2010 г.  
  Описание: Оформлен первичный больничный лист, затем продолжение больничного и в нем указана дата нарушения режима, при оформлении второго продолжения больничного, в него не переносится информация о дате нарушения режима.  
 
  Код ошибки: 10064714  
  Дата публикации: 15 октября 2010 г.  
  Описание: При попытке пересчетать документ "Оплата сверхурочных часов" после повышения окладов "задним числом" при помощи обработки "Перерасчет зарплаты по предприятию" создаваемый документ не заполняется.  
 
  Код ошибки: 10029695  
  Дата публикации: 31 августа 2010 г.  
  Описание: Отчет "4-ФСС". Раздел 3, таблица 9. Заполнение колонок 7, 8, 10, 11.
При заполнении вручную скидок и надбавок к страховому тарифу неверно происходит авторасчет итоговой 11 колонки. К введенной уже с учетом скидок и надбавок ставке взноса в ФСС от несчастного случая (колонка 7), прибавляются введенные в ручную размеры скидок и надбавок и отражается в итоговой колонке 11.
 
  Способ обхода: После заполнения отчета необходимо отключить авторасчет вычисляемых ячеек (соответствующий флаг в шапке отчета) и внести правильные процентные ставки.  
 
  Код ошибки: 10058700  
  Дата публикации: 8 июля 2010 г.  
  Описание: В документе-исправлении <Начисление зарплаты> у видов расчета с произвольной формулой неверно рассчитывается показатель <Отработано времени в днях>.  
 
  Код ошибки: 10036185  
  Дата публикации: 15 октября 2009 г.  
  Описание: При использовании кассового метода учета управленческих затрат, в документе "Планируемые затраты на персонал" неверно определяется факт прошлого периода.  
 
  Код ошибки: 10036015  
  Дата публикации: 15 октября 2009 г.  
  Описание: После исправления кадрового документа в обработке "Анализ неявок", исходное кадровое событие не показывается, отчего расчетный документ, оформленный по устаревшим кадровым данным, сопоставляется с исправленным кадровым событием.  
 
  Код ошибки: 10002714  
  Дата публикации: 26 сентября 2008 г.  
  Описание: При обновлении с конфигурации с редакции 2.1. на 2.5 выдается сообщение об ошибке, когда в организации не поддерживается внутреннее совместительство и по физлицу, с которым заключен договор ГПХ на выполнение работ, зарегистрирован документ «Ввод процента деятельности ЕНВД».  
 
  Код ошибки: 10001643  
  Дата публикации: 5 августа 2008 г.  
  Описание: При отправке печатной формы документа по электронной почте в текст письма не попадают имеющиеся картинки.  
 
  Код ошибки: 10001302  
  Дата публикации: 29 июля 2008 г.  
  Описание: В отчете "Расчетная ведомость", построенном за несколько месяцев, в некоторых случаях неправильно отражаются итоги по показателям сальдо.  
 
  Код ошибки: 00103150  
  Дата публикации: 30 апреля 2008 г.  
  Описание: Если в анкету, указанную в настройках программы как резюме кандидата, добавить вопросы из предопределенной группы вопросов о контактной информации физлица, то при создании физлица по ответам на такую анкету контактная информация из опроса не будет перенесена в данные физлица.  
 
  Код ошибки: 00076008  
  Дата публикации: 17 июля 2007 г.  
  Описание: Неверно исчисляются алименты с работника, отработавшего неполный рабочий месяц из-за прогулов.