Зарплата и Управление Персоналом. Версия 2.5.31.4. Информация об ошибках |
|||||
Код ошибки: | 10077097 | ||||
Дата публикации: | 31.03.2011 18:53:00 | ||||
Дата последнего изменения: | 31.03.2011 0:00:00 | ||||
Описание: | Если в графике работы сотрудника в рабочем дне указано 0 часов, то при заполнении документа "Табель" ячейка на этот день остается пустой и табель не проводится. В ячейке должно указываться "В". | ||||
Код ошибки: | 10077613 | ||||
Дата публикации: | 31.03.2011 16:17:21 | ||||
Дата последнего изменения: | 31.03.2011 0:00:00 | ||||
Описание: | При конвертации видов расчета, в ЗУП/ЗБУ у всех видов расчета заполняется реквизит ИдентификаторЭлемента. | ||||
Код ошибки: | 10077092 | ||||
Дата публикации: | 31.03.2011 16:03:49 | ||||
Дата последнего изменения: | 31.03.2011 0:00:00 | ||||
Описание: | Если сотруднику введен кадровый документ "Неявки и болезни организаций", то в отчете Табель "Т-13" в выходные дни показывается буква "В", а должна быть "Б". | ||||
Код ошибки: | 10068921 | ||||
Дата публикации: | 31.03.2011 16:00:51 | ||||
Дата последнего изменения: | 31.03.2011 0:00:00 | ||||
Описание: | При смене у сотрудника вида расчета "Оплата по производственным нарядам" на вид расчета "Оклад по часам" или наоборот, после ввода документа "Сдельный наряд с учетом времени", в документе "Начисление зарплаты сотрудникам организации" не рассчитываются отработанные дни и суммы по виду расчета "Оклад по часам". | ||||
Код ошибки: | 10073978 | ||||
Дата публикации: | 25.03.2011 16:25:34 | ||||
Дата последнего изменения: | 25.03.2011 0:00:00 | ||||
Описание: | При конвертации данных из ЗиК не переносится дата регистрации сотрудника по месту жительства. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10073975 | ||||
Дата публикации: | 25.03.2011 15:45:50 | ||||
Дата последнего изменения: | 25.03.2011 0:00:00 | ||||
Описание: | При конвертации из ЗиК не переносится характер работы из приказа о приеме на работу. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10077337 | ||||
Дата публикации: | 25.03.2011 15:45:06 | ||||
Дата последнего изменения: | 25.03.2011 0:00:00 | ||||
Описание: | При конвертации данных из нескольких баз ЗиК, документы по отпуску замещаются, если у них совпадает номер. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10077593 | ||||
Дата публикации: | 25.03.2011 15:44:50 | ||||
Дата последнего изменения: | 25.03.2011 0:00:00 | ||||
Описание: | При отправке из конфигурации в ФНС при помощи встроенного механизма защищенного документооборота с контролирующими органами файла выгрузки 2-НДФЛ, сформированного в сторонней программе и загруженного в справочник "Электронные представления регламентированных отчетов", ошибочно инициируется документооборот по представлению налоговой или бухгалтерской отчетности вместо документооборота по представлению сведений о доходах по форме 2-НДФЛ. | ||||
Способ исправления: | В функции ОтправкаРегламентированногоОтчетаВФНС534() модуля обработки ДокументооборотСКонтролирующимиОрганами заменить строку ЦиклОбмена.Тип = Перечисления.ТипыЦикловОбмена.НалоговаяИлиБухгалтерскаяОтчетность; на следующую: ЦиклОбмена.Тип = ТипЦиклаОбмена; |
||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10076289 | ||||
Дата публикации: | 18.03.2011 16:25:26 | ||||
Дата последнего изменения: | 18.03.2011 0:00:00 | ||||
Описание: | В декабре зарегистрировали невыходы, в январе зарегистрировали больничный на эти невыходы. Если в декабре зарегистрировать документ Табель, то после регистрации больничного в отчете Табель за декабрь дни неявки обозначаются как НН, если в декабре не регистрировать документ Табель, то после регистрации больничного в отчете Табель за декабрь неявки обозначаются как Б. |
||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10076544 | ||||
Дата публикации: | 18.03.2011 16:24:48 | ||||
Дата последнего изменения: | 18.03.2011 0:00:00 | ||||
Описание: | При переносе кадровых данных из ЗиК, если по сотруднику последнее отклонение введено документом "Работа в праздники и выходные", возникает сообщение об ошибке. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10071753 | ||||
Дата публикации: | 18.03.2011 16:24:19 | ||||
Дата последнего изменения: | 18.03.2011 0:00:00 | ||||
Описание: | Регистр сведений "Плановые начисления работников организаций" не включен в подписку на событие "Перед записью регистра сведений для обмена по организации", в результате при переформировании проводок по одной из организаций в сводной базе затраты по договорам ГПХ валятся на иные счета, чем в узле (не на установленные в узле, а на "по умолчанию"). | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10076460 | ||||
Дата публикации: | 18.03.2011 16:19:18 | ||||
Дата последнего изменения: | 18.03.2011 0:00:00 | ||||
Описание: | Неверно рассчитывается средняя численность по подразделениям в месяце возврата в прежнее подразделение после временного кадрового перемещения. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10076597 | ||||
Дата публикации: | 18.03.2011 16:19:01 | ||||
Дата последнего изменения: | 18.03.2011 0:00:00 | ||||
Описание: | Если для увольняющегося сотрудника в день увольнения формировать справку 2-НДФЛ для выдачи на руки, в нее не попадает налог исчисленный/удержанный. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10070149 | ||||
Дата публикации: | 18.03.2011 16:18:46 | ||||
Дата последнего изменения: | 18.03.2011 0:00:00 | ||||
Описание: | Если сотруднику введен документ оплаты сверхурочных часов, то время сверхурочных автозаполняется в документ "Сдельный наряд", и в документе начисления зарплаты время отработанных часов отражается неверно - уменьшается на количество сверхурочных часов. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10070247 | ||||
Дата публикации: | 18.03.2011 16:18:20 | ||||
Дата последнего изменения: | 18.03.2011 0:00:00 | ||||
Описание: | Если сотруднику введены документы невыхода, то после автозаполнения сдельного наряда и начисления зарплаты, в расчете неверно показывается количество отработанных часов. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10072602 | ||||
Дата публикации: | 18.03.2011 16:18:06 | ||||
Дата последнего изменения: | 18.03.2011 0:00:00 | ||||
Описание: | При открытии формы документа "Сдельный наряд", в котором установлен порядок использования данных - по управленческому учету, устанавливается признак модифицированности. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10075838 | ||||
Дата публикации: | 18.03.2011 16:17:49 | ||||
Дата последнего изменения: | 18.03.2011 0:00:00 | ||||
Описание: | Если в текущем месяце есть исправление Больничного листа, то в документ "Начисление страховых взносов" на закладку "Пособия по соц. страхованию" не попадают сторно суммы по дням за счет работодателя. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10066075 | ||||
Дата публикации: | 18.03.2011 16:17:19 | ||||
Дата последнего изменения: | 18.03.2011 0:00:00 | ||||
Описание: | В документе "Начисление страховых взносов" для работодателя - индивидуального предпринимателя неверно начисляются взносы на страхование от несчастных случаев с оплаты труда работников-инвалидов: ошибочно применяется льготный тариф. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10062909 | ||||
Дата публикации: | 18.03.2011 16:01:37 | ||||
Дата последнего изменения: | 18.03.2011 0:00:00 | ||||
Описание: | Если при проведении кадрового документа-исправления будет выдано сообщение об ошибке пользователя и он не проведется, то после устранения проблемы и проведения документа возникает следующая "отложенная" проблема: при попытке отменить проведение этого документа будет выдано сообщение об ошибке. | ||||
Способ обхода: | После неудавшейся отмены проведения необходимо снова провести документ, после чего его можно будет отменить. | ||||
Код ошибки: | 10075592 | ||||
Дата публикации: | 11.03.2011 19:50:33 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | Для перенесенных из 7.7 кадровых документов доступен механизм исправления. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10075578 | ||||
Дата публикации: | 11.03.2011 19:50:21 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | При печати формы Т-11 из документа "Премии работникам организации", для всех проставляется один и тот же номер, даже если в документе несколько человек. В других формах Т-хх добавляется постфикс. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10076209 | ||||
Дата публикации: | 11.03.2011 19:49:49 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | При конвертации из ЗиК неправильно переносится отработанное время для сторно записей. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10074653 | ||||
Дата публикации: | 11.03.2011 19:49:26 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | В отчете "Унифицированная форма Т-13" (табель) у работника, находящегося в любом из отпусков (введенный документом "Отпуска организаций"), в выходные дни ставится "В", а не "ОТ". | ||||
Код ошибки: | 10074080 | ||||
Дата публикации: | 11.03.2011 19:49:06 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | После ввода данных по командировке сотрудника в документе "Командировки организаций", в отчете "Табель учета рабочего времени" (унифицированная форма Т-13) выходные во время командировки отмечаются буквой "В", а должны быть "К". | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10074075 | ||||
Дата публикации: | 11.03.2011 19:48:33 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | Для сотрудника, который находится в отпуске по уходу за ребенком (вид времени - ОЖ), после начисления зарплаты в отчете табель Т-13 в выходные дни начинает выводится "В", а не "ОЖ". | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10075047 | ||||
Дата публикации: | 11.03.2011 19:48:06 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | Если сотруднику ввести данные о норме времени документом "Ввод индивидуальных графиков работы", а затем выполнить начисление зарплаты согласно введенного индивидуального графика, то табель печатается все равно согласно основного графика работы сотрудника. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10069610 | ||||
Дата публикации: | 11.03.2011 19:47:42 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | При переносе в производственном календаре рабочего дня с 5.11.2010 на 13.11.2010, в печатной форме календаря прибавляется еще один рабочий день в ноябре, т.е. 22 вместо 21. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10070049 | ||||
Дата публикации: | 11.03.2011 19:47:26 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | В форме "Регламентированный производственный календарь" некорректно отображается перечень изменений за год. В случае, если изменений много, а монитор - маленький, весь перечень изменений не отображается на экране. |
||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10073870 | ||||
Дата публикации: | 11.03.2011 19:46:14 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | Сотруднику организации, работающему по обычному пятидневному графику с 8-часовым рабочим днем, на одну дату зарегистрированы: - невыход в организации (внутрисменный невыход, 4 часа, вид начисления - внутрисменный невыход за свой счет, т.е. нулевая сумма); - регистрация простоев сотрудников организаций (внутрисменный простой, 4 часа, вид простоя - по вине работодателя). В результате в отчете табель Т-13 неверно выводятся отработанные часы, т.к., помимо простоя и неявки, выводится также явка 4 часа. |
||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10075772 | ||||
Дата публикации: | 11.03.2011 19:45:21 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | Документы 2-НДФЛ ошибочно требуют адрес в РФ для резидента-иностранца при наличии адреса в стране проживания. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10075706 | ||||
Дата публикации: | 11.03.2011 19:44:59 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | В файле документа АДВ-2 для пустого места рождения ошибочно заполняется реквизит "Тип места рождения". | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10075140 | ||||
Дата публикации: | 11.03.2011 19:44:26 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | В отчете РСВ-1 за 2011 год не заполняется 3 раздел по инвалидам для упрощенной системы налогообложения. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10075085 | ||||
Дата публикации: | 11.03.2011 19:44:12 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | В документе "Справка 2-НДФЛ для передачи в ИФНС" неверно перенумеровываются справки. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10067965 | ||||
Дата публикации: | 11.03.2011 19:44:00 | ||||
Дата последнего изменения: | 11.03.2011 0:00:00 | ||||
Описание: | Не удавалось отменить исправление кадрового документа, если в исходном документе присутствовало несколько сотрудников. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10074784 | ||||
Дата публикации: | 04.03.2011 16:23:39 | ||||
Дата последнего изменения: | 04.03.2011 0:00:00 | ||||
Описание: | В некоторых случаях при расчете б/л-продолжений выдавалось сообщение "Не указаны расчетные годы!". | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10070077 | ||||
Дата публикации: | 04.03.2011 16:23:17 | ||||
Дата последнего изменения: | 04.03.2011 0:00:00 | ||||
Описание: | Не предусмотрена возможность подбора не принятых на работу сотрудников в документах "Регистрация разовых начислений" и "Регистрация разовых удержаний". | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10075410 | ||||
Дата публикации: | 04.03.2011 16:22:59 | ||||
Дата последнего изменения: | 04.03.2011 0:00:00 | ||||
Описание: | Распределение НДФЛ производится неточно - возможны ошибки округления в 1 рубль. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10070723 | ||||
Дата публикации: | 04.03.2011 16:22:35 | ||||
Дата последнего изменения: | 04.03.2011 0:00:00 | ||||
Описание: | После создания новой учетной записи электронной почты через подсказку в обработке "Набор персонала", подсказка не обновляется. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10074857 | ||||
Дата публикации: | 04.03.2011 16:22:23 | ||||
Дата последнего изменения: | 04.03.2011 0:00:00 | ||||
Описание: | При создании ВР "Отражение в учете за счет работодателя" не устанавливается флажок зачета нормы времени. | ||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10075175 | ||||
Дата публикации: | 04.03.2011 16:19:29 | ||||
Дата последнего изменения: | 04.03.2011 0:00:00 | ||||
Описание: | При добавлении значения в форме регистра "Значения показателей схем мотивации" в режиме "по центрам ответстветственности", невозможно выбрать сотрудника, не принятого в организацию. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10073376 | ||||
Дата публикации: | 01.03.2011 16:07:27 | ||||
Дата последнего изменения: | 01.03.2011 0:00:00 | ||||
Описание: | Подбор значений показателей в строке документа "Регистрация разовых начислений сотрудников организаций" происходит медленно на большом количестве сотрудников. | ||||
Способ исправления: | В общем модуле ЗаполнениеДокументовЗК заменить процедуры и функции - СформироватьЗапросЗначенийПоказателей - ПоказателиСтроки - ПоказателиНачисленияУдержания на // Процедура формирует в запрос временные таблицы, // содержащие значения показателей расчета заработной платы // Процедура СформироватьЗапросЗначенийПоказателей(Запрос) ТекстЗапроса = "ВЫБРАТЬ | ВТСписокРаботников.Физлицо, | МИНИМУМ(ВТСписокРаботников.Приоритет) КАК Приоритет |ПОМЕСТИТЬ ПриоритетыСотрудников |ИЗ | ВТСписокРаботников КАК ВТСписокРаботников | |СГРУППИРОВАТЬ ПО | ВТСписокРаботников.Физлицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | Работники.Организация, | Работники.Сотрудник КАК Сотрудник, | Работники.Физлицо КАК Физлицо, | Работники.Период КАК Период, | Работники.Подразделение, | Работники.Приоритет |ПОМЕСТИТЬ ВТДвиженияРаботников |ИЗ | ВТСписокРаботников КАК Работники | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ПериодыНачислений.Организация, | ПериодыНачислений.Сотрудник, | Работники.Физлицо, | ПериодыНачислений.Период, | Работники.Подразделение, | Работники.Приоритет |ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПериодыНачислений | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК Работники | ПО ПериодыНачислений.Организация = Работники.Организация | И ПериодыНачислений.Сотрудник = Работники.Сотрудник | И (ПериодыНачислений.Период >= &парамНачало) | И (ПериодыНачислений.Период <= &парамКонец) | И ПериодыНачислений.Период >= Работники.Период | |ИНДЕКСИРОВАТЬ ПО | Физлицо, | Период |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | КурсыВалютДляРасчетовСПерсоналом.Валюта, | КурсыВалютДляРасчетовСПерсоналом.Курс, | КурсыВалютДляРасчетовСПерсоналом.Кратность |ПОМЕСТИТЬ КурсыВалют |ИЗ | РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК КурсыВалютДляРасчетовСПерсоналом |ГДЕ | КурсыВалютДляРасчетовСПерсоналом.Период = &парамДатаВалютногоУчета | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | Константы.ВалютаРегламентированногоУчета, | 1, | 1 |ИЗ | Константы КАК Константы | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка), | 1, | 1 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВидыРасчета.Ссылка КАК ВидРасчета, | ВидыРасчета.СпособРасчета КАК СпособРасчета, | ВидыРасчета.ПроизвольнаяФормулаРасчета, | ВидыРасчета.ТребуетВводаТарифногоРазряда КАК ТребуетВводаТарифногоРазряда |ПОМЕСТИТЬ ВидыРасчета |ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ВидыРасчета | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ВидыРасчета.Ссылка, | ВидыРасчета.СпособРасчета, | ВидыРасчета.ПроизвольнаяФормулаРасчета, | ВидыРасчета.ТребуетВводаТарифногоРазряда |ИЗ | ПланВидовРасчета.ДополнительныеНачисленияОрганизаций КАК ВидыРасчета | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ВидыРасчета.Ссылка, | ВидыРасчета.СпособРасчета, | ВидыРасчета.ПроизвольнаяФормулаРасчета, | ЛОЖЬ |ИЗ | ПланВидовРасчета.УдержанияОрганизаций КАК ВидыРасчета |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВидыРасчета.ВидРасчета КАК ВидРасчета, | ВидыРасчета.СпособРасчета, | ВидыРасчета.ТребуетВводаТарифногоРазряда |ПОМЕСТИТЬ ВидыРасчетаПредопределенныйСпособРасчета |ИЗ | ВидыРасчета КАК ВидыРасчета |ГДЕ | (НЕ ВидыРасчета.ПроизвольнаяФормулаРасчета) | И (НЕ ВидыРасчета.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоДням), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоЧасам), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоЧасовойТарифнойСтавке), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.СдельныйЗаработок), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоДневнойТарифнойСтавке))) | |ИНДЕКСИРОВАТЬ ПО | ВидРасчета |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Показатели.ВидРасчета КАК ВидРасчета, | Показатели.НомерПоказателя, | Показатели.Показатель, | Показатели.ЗапрашиватьПриКадровыхПеремещениях, | Показатели.Показатель.Валюта КАК ВалютаПоказателя, | ВЫБОР | КОГДА Показатели.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.ТарифныйРазряд) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ТипТарифныйРазряд, | ВЫБОР | КОГДА Показатели.Показатель.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК Ежемесячный |ПОМЕСТИТЬ ПоказателиВидаРасчета |ИЗ | (ВЫБРАТЬ | Показатели.Ссылка КАК ВидРасчета, | Показатели.НомерСтроки КАК НомерПоказателя, | Показатели.Показатель КАК Показатель, | Показатели.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях | ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | Показатели.Ссылка, | Показатели.НомерСтроки, | Показатели.Показатель, | Показатели.ЗапрашиватьПриКадровыхПеремещениях | ИЗ | ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | Показатели.Ссылка, | Показатели.НомерСтроки, | Показатели.Показатель, | Показатели.ЗапрашиватьПриКадровыхПеремещениях | ИЗ | ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ВидыРасчета.ВидРасчета, | 1, | ВЫБОР | КОГДА ВидыРасчета.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоДням), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоЧасам)) | ТОГДА ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная) | КОГДА ВидыРасчета.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоЧасовойТарифнойСтавке), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.СдельныйЗаработок)) | ТОГДА ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая) | КОГДА ВидыРасчета.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоДневнойТарифнойСтавке) | ТОГДА ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная) | КОНЕЦ, | ВидыРасчета.ВидРасчета.ЗачетОтработанногоВремени | ИЗ | (ВЫБРАТЬ | ВидыРасчета.ВидРасчета КАК ВидРасчета, | ВидыРасчета.СпособРасчета КАК СпособРасчета | ИЗ | ВидыРасчета КАК ВидыРасчета | ГДЕ | ВидыРасчета.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоДням), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоЧасам), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоЧасовойТарифнойСтавке), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.СдельныйЗаработок), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоДневнойТарифнойСтавке))) КАК ВидыРасчета) КАК Показатели |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияПоказателейСхемМотивации.ПериодДействия КАК ПериодДействия, | ДвиженияРаботников.Сотрудник КАК Сотрудник, | ДвиженияРаботников.Физлицо КАК Физлицо, | ДвиженияРаботников.Подразделение КАК Подразделение, | ЗначенияПоказателейСхемМотивации.Показатель КАК Показатель, | ЗначенияПоказателейСхемМотивации.Значение КАК Значение, | ЗначенияПоказателейСхемМотивации.Валюта КАК Валюта |ПОМЕСТИТЬ ЗначенияЕжемесячныхПоказателей |ИЗ | ВТДвиженияРаботников КАК ДвиженияРаботников | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПоказателейСхемМотивации КАК ЗначенияПоказателейСхемМотивации | ПО (ЗначенияПоказателейСхемМотивации.Организация <> ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) | И (ЗначенияПоказателейСхемМотивации.ПериодДействия = НАЧАЛОПЕРИОДА(&парамНачало, МЕСЯЦ)) | И (ВЫБОР | КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.Индивидуальный) | ИЛИ ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя ЕСТЬ 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.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда1.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА ПоказательВидаРасчета2.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда2.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель2 | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА ПоказательВидаРасчета3.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда3.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель3 | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА ПоказательВидаРасчета4.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда4.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель4 | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА ПоказательВидаРасчета5.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда5.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель5 | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА ПоказательВидаРасчета6.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда6.Размер | ИНАЧЕ ЗаписиПлановыхНачислений.Показатель6 | КОНЕЦ КАК Показатель6, | ВЫБОР | КОГДА ПоказательВидаРасчета1.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда1.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта1 | КОНЕЦ КАК Валюта1, | ВЫБОР | КОГДА ПоказательВидаРасчета2.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда2.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта2 | КОНЕЦ КАК Валюта2, | ВЫБОР | КОГДА ПоказательВидаРасчета3.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда3.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта3 | КОНЕЦ КАК Валюта3, | ВЫБОР | КОГДА ПоказательВидаРасчета4.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда4.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта4 | КОНЕЦ КАК Валюта4, | ВЫБОР | КОГДА ПоказательВидаРасчета5.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда5.Валюта | ИНАЧЕ ЗаписиПлановыхНачислений.Валюта5 | КОНЕЦ КАК Валюта5, | ВЫБОР | КОГДА ПоказательВидаРасчета6.ТипТарифныйРазряд | ИЛИ ЕСТЬNULL(ВидыРасчета.ТребуетВводаТарифногоРазряда, ЛОЖЬ) | ТОГДА РазмерТарифнойСтавкиРазряда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, | ПлановыеНачисления.ВидРасчета КАК ВидРасчета | ИЗ | ПлановыеНачисления КАК ПлановыеНачисления | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказателиВидаРасчета | ПО ПлановыеНачисления.ВидРасчета = ПоказателиВидаРасчета.ВидРасчета | ГДЕ | ПоказателиВидаРасчета.ЗапрашиватьПриКадровыхПеремещениях | И ПоказателиВидаРасчета.Показатель.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется) | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ПлановыеУдержания.Период, | NULL, | ПлановыеУдержания.ФизЛицо, | ПоказателиВидаРасчета.НомерПоказателя, | ПлановыеУдержания.ПоказательСсылка1, | ПлановыеУдержания.ПоказательСсылка2, | ПлановыеУдержания.ПоказательСсылка3, | ПлановыеУдержания.ПоказательСсылка4, | ПлановыеУдержания.ПоказательСсылка5, | ПлановыеУдержания.ПоказательСсылка6, | ПлановыеУдержания.Показатель1, | ПлановыеУдержания.Показатель2, | ПлановыеУдержания.Показатель3, | ПлановыеУдержания.Показатель4, | ПлановыеУдержания.Показатель5, | ПлановыеУдержания.Показатель6, | ПлановыеУдержания.Валюта1, | ПлановыеУдержания.Валюта2, | ПлановыеУдержания.Валюта3, | ПлановыеУдержания.Валюта4, | ПлановыеУдержания.Валюта5, | ПлановыеУдержания.Валюта6, | ПлановыеУдержания.ВидРасчета | ИЗ | ПлановыеУдержания КАК ПлановыеУдержания | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК ПоказателиВидаРасчета | ПО ПлановыеУдержания.ВидРасчета = ПоказателиВидаРасчета.ВидРасчета | ГДЕ | ПоказателиВидаРасчета.ЗапрашиватьПриКадровыхПеремещениях | И ПоказателиВидаРасчета.Показатель.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.НеИзменяется)) КАК ПлановыеПоказатели |"; ЗаполнениеДокументовПереопределяемый.ДобавитьОбъединенияВЗапросЗначенийПоказателей(ТекстЗапроса); ТекстЗапроса = ТекстЗапроса + " |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗначенияПлановыхПоказателей.Сотрудник КАК Сотрудник, | ЗначенияПлановыхПоказателей.ФизЛицо КАК ФизЛицо, | ЗначенияПлановыхПоказателей.Показатель КАК Показатель, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЗначенияПлановыхПоказателей.ВидРасчета) КАК КоличествоЗаписейГдеЗапрашивается |ПОМЕСТИТЬ СведенияОбИсточникахЗначенийПоказателей |ИЗ | ЗначенияПлановыхПоказателей КАК ЗначенияПлановыхПоказателей | |СГРУППИРОВАТЬ ПО | ЗначенияПлановыхПоказателей.Сотрудник, | ЗначенияПлановыхПоказателей.ФизЛицо, | ЗначенияПлановыхПоказателей.Показатель |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗначенияПоказателей.ПериодДействия, | ЗначенияПоказателей.Сотрудник, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Подразделение, | ЗначенияПоказателей.Показатель, | ЗначенияПоказателей.Значение, | ВЫБОР | КОГДА ЗначенияПоказателей." + ВалютаПоказателяИмяПоляЗапроса() + " = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА ВЫБОР | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | ТОГДА ЗначенияПоказателей.Показатель.Валюта | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.СуммаПоказателя) | И ЗначенияПоказателей.Показатель.СуммируемыйПоказатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | ТОГДА ЗначенияПоказателей.Показатель.СуммируемыйПоказатель.Валюта | ИНАЧЕ ЗначенияПоказателей.Валюта | КОНЕЦ | ИНАЧЕ ЗначенияПоказателей." + ВалютаПоказателяИмяПоляЗапроса() + " | КОНЕЦ КАК Валюта, | ЗначенияПоказателей.ВидРасчета |ПОМЕСТИТЬ ЗначенияПоказателейИсходнаяВалюта |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияЕжемесячныхПоказателей.ПериодДействия КАК ПериодДействия, | ЗначенияЕжемесячныхПоказателей.Сотрудник КАК Сотрудник, | ЗначенияЕжемесячныхПоказателей.Физлицо КАК Физлицо, | ЗначенияЕжемесячныхПоказателей.Подразделение КАК Подразделение, | ЗначенияЕжемесячныхПоказателей.Показатель КАК Показатель, | ЗначенияЕжемесячныхПоказателей.Значение КАК Значение, | ЗначенияЕжемесячныхПоказателей.Валюта КАК Валюта, | NULL КАК ВидРасчета | ИЗ | ЗначенияЕжемесячныхПоказателей КАК ЗначенияЕжемесячныхПоказателей | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ЗначенияПериодическихПоказателей.Период, | ЗначенияПериодическихПоказателей.Сотрудник, | ЗначенияПериодическихПоказателей.Физлицо, | ЗначенияПериодическихПоказателей.Подразделение, | ЗначенияПериодическихПоказателей.Показатель, | ЗначенияПериодическихПоказателей.Значение, | ЗначенияПериодическихПоказателей.Валюта, | NULL | ИЗ | ЗначенияПериодическихПоказателей КАК ЗначенияПериодическихПоказателей | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ЗначенияПлановыхПоказателей.Период, | ДвиженияРаботников.Сотрудник, | ДвиженияРаботников.Физлицо, | ДвиженияРаботников.Подразделение, | ЗначенияПлановыхПоказателей.Показатель, | МАКСИМУМ(ЗначенияПлановыхПоказателей.Значение), | ЗначенияПлановыхПоказателей.Валюта, | ВЫБОР | КОГДА СведенияОбИсточникахЗначений.КоличествоЗаписейГдеЗапрашивается > 1 | ТОГДА ЗначенияПлановыхПоказателей.ВидРасчета | ИНАЧЕ NULL | КОНЕЦ | ИЗ | ВТДвиженияРаботников КАК ДвиженияРаботников | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПлановыхПоказателей КАК ЗначенияПлановыхПоказателей | ПО (ВЫБОР | КОГДА ЗначенияПлановыхПоказателей.Сотрудник ЕСТЬ NULL | ТОГДА ДвиженияРаботников.Физлицо = ЗначенияПлановыхПоказателей.ФизЛицо | ИНАЧЕ ДвиженияРаботников.Сотрудник = ЗначенияПлановыхПоказателей.Сотрудник | КОНЕЦ) | И ДвиженияРаботников.Период >= ЗначенияПлановыхПоказателей.Период | ЛЕВОЕ СОЕДИНЕНИЕ СведенияОбИсточникахЗначенийПоказателей КАК СведенияОбИсточникахЗначений | ПО (ВЫБОР | КОГДА СведенияОбИсточникахЗначений.Сотрудник ЕСТЬ NULL | ИЛИ ЗначенияПлановыхПоказателей.Сотрудник ЕСТЬ NULL | ТОГДА СведенияОбИсточникахЗначений.ФизЛицо = ЗначенияПлановыхПоказателей.ФизЛицо | ИНАЧЕ СведенияОбИсточникахЗначений.Сотрудник = ЗначенияПлановыхПоказателей.Сотрудник | КОНЕЦ) | И (СведенияОбИсточникахЗначений.Показатель = ЗначенияПлановыхПоказателей.Показатель) | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПриоритетыСотрудников КАК ПриоритетыСотрудников | ПО ДвиженияРаботников.Физлицо = ПриоритетыСотрудников.Физлицо | И ДвиженияРаботников.Приоритет = ПриоритетыСотрудников.Приоритет | | СГРУППИРОВАТЬ ПО | ЗначенияПлановыхПоказателей.Период, | ДвиженияРаботников.Сотрудник, | ДвиженияРаботников.Физлицо, | ДвиженияРаботников.Подразделение, | ЗначенияПлановыхПоказателей.Показатель, | ЗначенияПлановыхПоказателей.Валюта, | ВЫБОР | КОГДА СведенияОбИсточникахЗначений.КоличествоЗаписейГдеЗапрашивается > 1 | ТОГДА ЗначенияПлановыхПоказателей.ВидРасчета | ИНАЧЕ NULL | КОНЕЦ) КАК ЗначенияПоказателей |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗначенияПоказателей.ПериодДействия КАК ПериодДействия, | ЗначенияПоказателей.Сотрудник КАК Сотрудник, | ЗначенияПоказателей.Физлицо КАК Физлицо, | ЗначенияПоказателей.Подразделение, | ЗначенияПоказателей.Показатель КАК Показатель, | ЗначенияПоказателей.Значение КАК ИсходноеЗначение, | ВЫБОР | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | ТОГДА ЗначенияПоказателей.Значение * (КурсВалютыПоказателя.Курс / КурсВалютыПоказателя.Кратность) | ИНАЧЕ ЗначенияПоказателей.Значение | КОНЕЦ КАК Значение, | ЗначенияПоказателей.Валюта, | ВЫБОР | КОГДА ЗначенияПоказателей.Показатель.ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ВводитсяВВалюте, | КурсВалютыПоказателя.Курс / КурсВалютыПоказателя.Кратность КАК КурсВалюты, | ЗначенияПоказателей.ВидРасчета |ПОМЕСТИТЬ ЗначенияПоказателейИсходныйПериодДействия |ИЗ | ЗначенияПоказателейИсходнаяВалюта КАК ЗначенияПоказателей | ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсВалютыПоказателя | ПО ЗначенияПоказателей.Валюта = КурсВалютыПоказателя.Валюта | |ИНДЕКСИРОВАТЬ ПО | ПериодДействия, | Физлицо, | Показатель |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МАКСИМУМ(ЗначенияПоказателейИсходныйПериодДействия.ПериодДействия) КАК КрайнийПериод, | ЗначенияПоказателейИсходныйПериодДействия.Сотрудник, | ЗначенияПоказателейИсходныйПериодДействия.Физлицо, | ЗначенияПоказателейИсходныйПериодДействия.Показатель, | ЗначенияПоказателейИсходныйПериодДействия.ВидРасчета |ПОМЕСТИТЬ КрайниеДатыПоказателейСхемМотивации |ИЗ | ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателейИсходныйПериодДействия | |СГРУППИРОВАТЬ ПО | ЗначенияПоказателейИсходныйПериодДействия.Сотрудник, | ЗначенияПоказателейИсходныйПериодДействия.Физлицо, | ЗначенияПоказателейИсходныйПериодДействия.Показатель, | ЗначенияПоказателейИсходныйПериодДействия.ВидРасчета |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗначенияПоказателей.ПериодДействия, | ЗначенияПоказателей.Сотрудник, | ЗначенияПоказателей.Физлицо, | ЗначенияПоказателей.Подразделение, | ЗначенияПоказателей.Показатель, | ЗначенияПоказателей.ИсходноеЗначение, | ЗначенияПоказателей.Значение, | ЗначенияПоказателей.Валюта, | ЗначенияПоказателей.ВводитсяВВалюте, | ЗначенияПоказателей.КурсВалюты, | ЗначенияПоказателей.ВидРасчета |ПОМЕСТИТЬ ЗначенияПоказателейПроизвольнаяФормула |ИЗ | ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ КрайниеДатыПоказателейСхемМотивации КАК КрайниеДаты | ПО ЗначенияПоказателей.ПериодДействия = КрайниеДаты.КрайнийПериод | И ЗначенияПоказателей.Показатель = КрайниеДаты.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателей.ВидРасчета ЕСТЬ НЕ NULL | ИЛИ КрайниеДаты.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА ЗначенияПоказателей.ВидРасчета = КрайниеДаты.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | И (ВЫБОР | КОГДА ЗначенияПоказателей.Сотрудник ЕСТЬ NULL | ИЛИ КрайниеДаты.Сотрудник ЕСТЬ NULL | ТОГДА ЗначенияПоказателей.Физлицо = КрайниеДаты.Физлицо | ИНАЧЕ ЗначенияПоказателей.Сотрудник = КрайниеДаты.Сотрудник | КОНЕЦ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПлановыеНачисления.Период, | ПлановыеНачисления.Сотрудник, | ПлановыеНачисления.ФизЛицо, | ПлановыеНачисления.Действие, | ПлановыеНачисления.ВидРасчета, | ПлановыеНачисления.Показатель1, | ПлановыеНачисления.Показатель2, | ПлановыеНачисления.Показатель3, | ПлановыеНачисления.Показатель4, | ПлановыеНачисления.Показатель5, | ПлановыеНачисления.Показатель6, | ПлановыеНачисления.Валюта1, | ПлановыеНачисления.Валюта2, | ПлановыеНачисления.Валюта3, | ПлановыеНачисления.Валюта4, | ПлановыеНачисления.Валюта5, | ПлановыеНачисления.Валюта6, | NULL КАК ДокументОснование, | ПлановыеНачисления.СпособРасчетаПредопределен |ПОМЕСТИТЬ ЗначенияПоказателейСпособРасчетаПредопределенИсходнаяВалюта |ИЗ | ПлановыеНачисления КАК ПлановыеНачисления |ГДЕ | ПлановыеНачисления.СпособРасчетаПредопределен | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ПлановыеУдержания.Период, | NULL, | ПлановыеУдержания.ФизЛицо, | ПлановыеУдержания.Действие, | ПлановыеУдержания.ВидРасчета, | ПлановыеУдержания.Показатель1, | ПлановыеУдержания.Показатель2, | ПлановыеУдержания.Показатель3, | ПлановыеУдержания.Показатель4, | ПлановыеУдержания.Показатель5, | ПлановыеУдержания.Показатель6, | ПлановыеУдержания.Валюта1, | ПлановыеУдержания.Валюта2, | ПлановыеУдержания.Валюта3, | ПлановыеУдержания.Валюта4, | ПлановыеУдержания.Валюта5, | ПлановыеУдержания.Валюта6, | ПлановыеУдержания.ДокументОснование, | ПлановыеУдержания.СпособРасчетаПредопределен |ИЗ | ПлановыеУдержания КАК ПлановыеУдержания |ГДЕ | ПлановыеУдержания.СпособРасчетаПредопределен |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗначенияПоказателейИсхВалюта.Период, | ЗначенияПоказателейИсхВалюта.Сотрудник, | ЗначенияПоказателейИсхВалюта.ФизЛицо, | ЗначенияПоказателейИсхВалюта.ВидРасчета, | ЗначенияПоказателейИсхВалюта.Показатель1 * ВЫБОР | КОГДА ЗначенияПоказателейИсхВалюта.Валюта1 <> ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА КурсВалютыПоказателя1.Курс / КурсВалютыПоказателя1.Кратность | ИНАЧЕ 1 | КОНЕЦ КАК Показатель1, | ЗначенияПоказателейИсхВалюта.Показатель2 * ВЫБОР | КОГДА ЗначенияПоказателейИсхВалюта.Валюта2 <> ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА КурсВалютыПоказателя2.Курс / КурсВалютыПоказателя2.Кратность | ИНАЧЕ 1 | КОНЕЦ КАК Показатель2, | ЗначенияПоказателейИсхВалюта.Показатель3 * ВЫБОР | КОГДА ЗначенияПоказателейИсхВалюта.Валюта3 <> ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА КурсВалютыПоказателя3.Курс / КурсВалютыПоказателя3.Кратность | ИНАЧЕ 1 | КОНЕЦ КАК Показатель3, | ЗначенияПоказателейИсхВалюта.Показатель4 * ВЫБОР | КОГДА ЗначенияПоказателейИсхВалюта.Валюта4 <> ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА КурсВалютыПоказателя4.Курс / КурсВалютыПоказателя4.Кратность | ИНАЧЕ 1 | КОНЕЦ КАК Показатель4, | ЗначенияПоказателейИсхВалюта.Показатель5 * ВЫБОР | КОГДА ЗначенияПоказателейИсхВалюта.Валюта5 <> ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА КурсВалютыПоказателя5.Курс / КурсВалютыПоказателя5.Кратность | ИНАЧЕ 1 | КОНЕЦ КАК Показатель5, | ЗначенияПоказателейИсхВалюта.Показатель6 * ВЫБОР | КОГДА ЗначенияПоказателейИсхВалюта.Валюта6 <> ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА КурсВалютыПоказателя6.Курс / КурсВалютыПоказателя6.Кратность | ИНАЧЕ 1 | КОНЕЦ КАК Показатель6 |ПОМЕСТИТЬ ЗначенияПоказателейВидовРасчетаПредопределенныйСпособРасчета |ИЗ | ЗначенияПоказателейСпособРасчетаПредопределенИсходнаяВалюта КАК ЗначенияПоказателейИсхВалюта | ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсВалютыПоказателя1 | ПО ЗначенияПоказателейИсхВалюта.Валюта1 = КурсВалютыПоказателя1.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсВалютыПоказателя2 | ПО ЗначенияПоказателейИсхВалюта.Валюта2 = КурсВалютыПоказателя2.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсВалютыПоказателя3 | ПО ЗначенияПоказателейИсхВалюта.Валюта3 = КурсВалютыПоказателя3.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсВалютыПоказателя4 | ПО ЗначенияПоказателейИсхВалюта.Валюта4 = КурсВалютыПоказателя4.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсВалютыПоказателя5 | ПО ЗначенияПоказателейИсхВалюта.Валюта5 = КурсВалютыПоказателя5.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсВалютыПоказателя6 | ПО ЗначенияПоказателейИсхВалюта.Валюта6 = КурсВалютыПоказателя6.Валюта |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МАКСИМУМ(ЗначенияПоказателей.Период) КАК КрайнийПериод, | ЗначенияПоказателей.Сотрудник, | ЗначенияПоказателей.ФизЛицо, | ЗначенияПоказателей.ВидРасчета |ПОМЕСТИТЬ КрайниеДатыПоказателейВидовРасчета |ИЗ | ЗначенияПоказателейВидовРасчетаПредопределенныйСпособРасчета КАК ЗначенияПоказателей | |СГРУППИРОВАТЬ ПО | ЗначенияПоказателей.Сотрудник, | ЗначенияПоказателей.ФизЛицо, | ЗначенияПоказателей.ВидРасчета |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗначенияПоказателей.Период, | ЗначенияПоказателей.Сотрудник, | ЗначенияПоказателей.ФизЛицо, | ЗначенияПоказателей.ВидРасчета, | ЗначенияПоказателей.Показатель1, | ЗначенияПоказателей.Показатель2, | ЗначенияПоказателей.Показатель3, | ЗначенияПоказателей.Показатель4, | ЗначенияПоказателей.Показатель5, | ЗначенияПоказателей.Показатель6 |ПОМЕСТИТЬ ЗначенияПоказателейВидовРасчета |ИЗ | ЗначенияПоказателейВидовРасчетаПредопределенныйСпособРасчета КАК ЗначенияПоказателей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ КрайниеДатыПоказателейВидовРасчета КАК КрайниеДаты | ПО ЗначенияПоказателей.Период = КрайниеДаты.КрайнийПериод | И ЗначенияПоказателей.ВидРасчета = КрайниеДаты.ВидРасчета | И (ВЫБОР | КОГДА ЗначенияПоказателей.Сотрудник ЕСТЬ NULL | ИЛИ КрайниеДаты.Сотрудник ЕСТЬ NULL | ТОГДА ЗначенияПоказателей.ФизЛицо = КрайниеДаты.ФизЛицо | ИНАЧЕ ЗначенияПоказателей.Сотрудник = КрайниеДаты.Сотрудник | КОНЕЦ)"; Запрос.Текст = ТекстЗапроса; Запрос.Выполнить(); КонецПроцедуры // СформироватьЗапросЗначенийПоказателей // Выполняет автоматическое заполнение показателей в строке // Функция ПоказателиСтроки(СотрудникФизлицо, ВидРасчета, Подразделение = Неопределено, ГоловнаяОрганизация, ДатаНачала) Экспорт Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.УстановитьПараметр("парамНачало", ДатаНачала); Запрос.УстановитьПараметр("парамКонец", КонецДня(ДатаНачала)); Запрос.УстановитьПараметр("Организация", ГоловнаяОрганизация); Запрос.УстановитьПараметр("парамДатаВалютногоУчета", НачалоМесяца(ДатаНачала)); Запрос.УстановитьПараметр("ВидРасчета", ВидРасчета); ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | &парамНачало КАК Период, | &Организация КАК Организация, | Сотрудники.Ссылка КАК Сотрудник, | Сотрудники.Физлицо КАК Физлицо, | Сотрудники.ПодразделениеОрганизации КАК Подразделение, | ВЫБОР | КОГДА Сотрудники.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1) | ТОГДА ВЫБОР | КОГДА Сотрудники.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы) | ТОГДА 1 | ИНАЧЕ 2 | КОНЕЦ | ИНАЧЕ 3 | КОНЕЦ КАК Приоритет |ПОМЕСТИТЬ ВТСписокРаботников |ИЗ | Справочник.СотрудникиОрганизаций КАК Сотрудники |"; Если ТипЗнч(СотрудникФизлицо) = Тип("СправочникСсылка.СотрудникиОрганизаций") Тогда Запрос.УстановитьПараметр("Сотрудник", СотрудникФизлицо); ТекстЗапроса = ТекстЗапроса + " |ГДЕ | Сотрудники.Ссылка = &Сотрудник |"; ИначеЕсли ТипЗнч(СотрудникФизлицо) = Тип("СправочникСсылка.ФизическиеЛица") Тогда Запрос.УстановитьПараметр("Физлицо", СотрудникФизлицо); ТекстЗапроса = ТекстЗапроса + " |ГДЕ | Сотрудники.Физлицо = &Физлицо | И Сотрудники.Организация = &Организация |"; КонецЕсли; Запрос.Текст = ТекстЗапроса; Запрос.Выполнить(); СформироватьЗапросЗначенийПоказателей(Запрос); Запрос.Текст = "ВЫБРАТЬ | ЕСТЬNULL(ЗначенияПоказателей.Показатель1, 0) КАК Показатель1, | ЕСТЬNULL(ЗначенияПоказателей.Показатель2, 0) КАК Показатель2, | ЕСТЬNULL(ЗначенияПоказателей.Показатель3, 0) КАК Показатель3, | ЕСТЬNULL(ЗначенияПоказателей.Показатель4, 0) КАК Показатель4, | ЕСТЬNULL(ЗначенияПоказателей.Показатель5, 0) КАК Показатель5, | ЕСТЬNULL(ЗначенияПоказателей.Показатель6, 0) КАК Показатель6 |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияПоказателя1.Значение КАК Показатель1, | ЗначенияПоказателя2.Значение КАК Показатель2, | ЗначенияПоказателя3.Значение КАК Показатель3, | ЗначенияПоказателя4.Значение КАК Показатель4, | ЗначенияПоказателя5.Значение КАК Показатель5, | ЗначенияПоказателя6.Значение КАК Показатель6 | ИЗ | ПоказателиВидаРасчета КАК ПоказателиВидаРасчета | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель1 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателя1 | ПО Показатель1.Показатель = ЗначенияПоказателя1.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя1.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА Показатель1.ВидРасчета = ЗначенияПоказателя1.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель1.ВидРасчета | И (Показатель1.НомерПоказателя = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель2 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателя2 | ПО Показатель2.Показатель = ЗначенияПоказателя2.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя2.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА Показатель2.ВидРасчета = ЗначенияПоказателя2.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель2.ВидРасчета | И (Показатель2.НомерПоказателя = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель3 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателя3 | ПО Показатель3.Показатель = ЗначенияПоказателя3.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя3.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА Показатель3.ВидРасчета = ЗначенияПоказателя3.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель3.ВидРасчета | И (Показатель3.НомерПоказателя = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель4 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателя4 | ПО Показатель4.Показатель = ЗначенияПоказателя4.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя4.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА Показатель4.ВидРасчета = ЗначенияПоказателя4.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель4.ВидРасчета | И (Показатель4.НомерПоказателя = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель5 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателя5 | ПО Показатель5.Показатель = ЗначенияПоказателя5.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя5.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА Показатель5.ВидРасчета = ЗначенияПоказателя5.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель5.ВидРасчета | И (Показатель5.НомерПоказателя = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПоказателиВидаРасчета КАК Показатель6 | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейИсходныйПериодДействия КАК ЗначенияПоказателя6 | ПО Показатель6.Показатель = ЗначенияПоказателя6.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя6.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА Показатель6.ВидРасчета = ЗначенияПоказателя6.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | ПО ПоказателиВидаРасчета.ВидРасчета = Показатель6.ВидРасчета | И (Показатель6.НомерПоказателя = 6) | ГДЕ | ПоказателиВидаРасчета.ВидРасчета = &ВидРасчета | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ЗначенияПоказателей.Показатель1, | ЗначенияПоказателей.Показатель2, | ЗначенияПоказателей.Показатель3, | ЗначенияПоказателей.Показатель4, | ЗначенияПоказателей.Показатель5, | ЗначенияПоказателей.Показатель6 | ИЗ | ЗначенияПоказателейВидовРасчета КАК ЗначенияПоказателей | ГДЕ | ЗначенияПоказателей.ВидРасчета = &ВидРасчета) КАК ЗначенияПоказателей"; ПоказателиСтроки = Новый Структура( "Показатель1, |Показатель2, |Показатель3, |Показатель4, |Показатель5, |Показатель6"); РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда Для Сч = 1 По 6 Цикл ПоказателиСтроки["Показатель" + Сч] = 0; КонецЦикла; Иначе Выборка = РезультатЗапроса.Выбрать(); Выборка.Следующий(); ЗаполнитьЗначенияСвойств(ПоказателиСтроки, Выборка); КонецЕсли; Возврат ПоказателиСтроки; КонецФункции // ПоказателиСтроки // Функция получает значения показателей начисления или удержания для списка сотрудников // Функция ПоказателиНачисленияУдержания(СписокРаботников, ГоловнаяОрганизация, ВидРасчета, ДатаНачала, ВыбиратьСотрудника = Истина) МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Запрос.УстановитьПараметр("парамНачало", ДатаНачала); Запрос.УстановитьПараметр("парамКонец", КонецДня(ДатаНачала)); Запрос.УстановитьПараметр("Организация", ГоловнаяОрганизация); Запрос.УстановитьПараметр("парамДатаВалютногоУчета", НачалоМесяца(ДатаНачала)); Запрос.УстановитьПараметр("ВидРасчета", ВидРасчета); Запрос.УстановитьПараметр("СписокРаботников", СписокРаботников); Если ВыбиратьСотрудника Тогда ТекстЗапроса = "ВЫБРАТЬ | &парамНачало КАК Период, | &Организация КАК Организация, | СписокРаботников.Сотрудник, | СписокРаботников.Физлицо, | СписокРаботников.ДатаПриема, | СписокРаботников.ДатаУвольнения, | СписокРаботников.Подразделение, | 1 КАК Приоритет |ПОМЕСТИТЬ ВТСписокРаботников |ИЗ | &СписокРаботников КАК СписокРаботников |; |"; Иначе ТекстЗапроса = "ВЫБРАТЬ | СписокРаботников.Физлицо |ПОМЕСТИТЬ СписокРаботников |ИЗ | &СписокРаботников КАК СписокРаботников |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | &парамНачало КАК Период, | &Организация КАК Организация, | Сотрудники.Ссылка КАК Сотрудник, | Сотрудники.Физлицо, | Сотрудники.ДатаПриемаНаРаботу КАК ДатаПриема, | Сотрудники.ДатаУвольнения КАК ДатаУвольнения, | Сотрудники.ПодразделениеОрганизации КАК Подразделение, | ВЫБОР | КОГДА Сотрудники.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1) | ТОГДА ВЫБОР | КОГДА Сотрудники.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы) | ТОГДА 1 | ИНАЧЕ 2 | КОНЕЦ | ИНАЧЕ 3 | КОНЕЦ КАК Приоритет |ПОМЕСТИТЬ ВТСписокРаботников |ИЗ | Справочник.СотрудникиОрганизаций КАК Сотрудники |ГДЕ Физлицо В (ВЫБРАТЬ Физлицо ИЗ СписокРаботников) И Организация = &Организация |;"; КонецЕсли; Запрос.Текст = ТекстЗапроса; Запрос.Выполнить(); СформироватьЗапросЗначенийПоказателей(Запрос); Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ДвиженияРаботников.Сотрудник, | ДвиженияРаботников.Физлицо, | ДвиженияРаботников.Подразделение, | ВидыРасчета.ВидРасчета КАК ВидРасчета, | Показатель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 | ПО (ВЫБОР | КОГДА НачисленияУдержания.Сотрудник ЕСТЬ NULL | ИЛИ ЗначенияПоказателя1.Сотрудник ЕСТЬ NULL | ТОГДА НачисленияУдержания.Физлицо = ЗначенияПоказателя1.Физлицо | ИНАЧЕ НачисленияУдержания.Сотрудник = ЗначенияПоказателя1.Сотрудник | КОНЕЦ) | И НачисленияУдержания.ПоказательСсылка1 = ЗначенияПоказателя1.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя1.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА НачисленияУдержания.ВидРасчета = ЗначенияПоказателя1.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейПроизвольнаяФормула КАК ЗначенияПоказателя2 | ПО (ВЫБОР | КОГДА НачисленияУдержания.Сотрудник ЕСТЬ NULL | ИЛИ ЗначенияПоказателя2.Сотрудник ЕСТЬ NULL | ТОГДА НачисленияУдержания.Физлицо = ЗначенияПоказателя2.Физлицо | ИНАЧЕ НачисленияУдержания.Сотрудник = ЗначенияПоказателя2.Сотрудник | КОНЕЦ) | И НачисленияУдержания.ПоказательСсылка2 = ЗначенияПоказателя2.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя2.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА НачисленияУдержания.ВидРасчета = ЗначенияПоказателя2.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейПроизвольнаяФормула КАК ЗначенияПоказателя3 | ПО (ВЫБОР | КОГДА НачисленияУдержания.Сотрудник ЕСТЬ NULL | ИЛИ ЗначенияПоказателя3.Сотрудник ЕСТЬ NULL | ТОГДА НачисленияУдержания.Физлицо = ЗначенияПоказателя3.Физлицо | ИНАЧЕ НачисленияУдержания.Сотрудник = ЗначенияПоказателя3.Сотрудник | КОНЕЦ) | И НачисленияУдержания.ПоказательСсылка3 = ЗначенияПоказателя3.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя3.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА НачисленияУдержания.ВидРасчета = ЗначенияПоказателя3.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейПроизвольнаяФормула КАК ЗначенияПоказателя4 | ПО (ВЫБОР | КОГДА НачисленияУдержания.Сотрудник ЕСТЬ NULL | ИЛИ ЗначенияПоказателя4.Сотрудник ЕСТЬ NULL | ТОГДА НачисленияУдержания.Физлицо = ЗначенияПоказателя4.Физлицо | ИНАЧЕ НачисленияУдержания.Сотрудник = ЗначенияПоказателя4.Сотрудник | КОНЕЦ) | И НачисленияУдержания.ПоказательСсылка4 = ЗначенияПоказателя4.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя4.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА НачисленияУдержания.ВидРасчета = ЗначенияПоказателя4.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейПроизвольнаяФормула КАК ЗначенияПоказателя5 | ПО (ВЫБОР | КОГДА НачисленияУдержания.Сотрудник ЕСТЬ NULL | ИЛИ ЗначенияПоказателя5.Сотрудник ЕСТЬ NULL | ТОГДА НачисленияУдержания.Физлицо = ЗначенияПоказателя5.Физлицо | ИНАЧЕ НачисленияУдержания.Сотрудник = ЗначенияПоказателя5.Сотрудник | КОНЕЦ) | И НачисленияУдержания.ПоказательСсылка5 = ЗначенияПоказателя5.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя5.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА НачисленияУдержания.ВидРасчета = ЗначенияПоказателя5.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейПроизвольнаяФормула КАК ЗначенияПоказателя6 | ПО (ВЫБОР | КОГДА НачисленияУдержания.Сотрудник ЕСТЬ NULL | ИЛИ ЗначенияПоказателя6.Сотрудник ЕСТЬ NULL | ТОГДА НачисленияУдержания.Физлицо = ЗначенияПоказателя6.Физлицо | ИНАЧЕ НачисленияУдержания.Сотрудник = ЗначенияПоказателя6.Сотрудник | КОНЕЦ) | И НачисленияУдержания.ПоказательСсылка6 = ЗначенияПоказателя6.Показатель | И (ВЫБОР | КОГДА ЗначенияПоказателя6.ВидРасчета ЕСТЬ НЕ NULL | ТОГДА НачисленияУдержания.ВидРасчета = ЗначенияПоказателя6.ВидРасчета | ИНАЧЕ ИСТИНА | КОНЕЦ) |ГДЕ | НачисленияУдержания.ПроизвольнаяФормулаРасчета | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | НачисленияУдержания.Сотрудник, | НачисленияУдержания.Физлицо, | НачисленияУдержания.Подразделение, | НачисленияУдержания.ВидРасчета, | НачисленияУдержания.ПроизвольнаяФормулаРасчета, | ЗначенияПоказателей.Показатель1, | ЗначенияПоказателей.Показатель2, | ЗначенияПоказателей.Показатель3, | ЗначенияПоказателей.Показатель4, | ЗначенияПоказателей.Показатель5, | ЗначенияПоказателей.Показатель6 |ИЗ | НачисленияУдержания КАК НачисленияУдержания | ЛЕВОЕ СОЕДИНЕНИЕ ЗначенияПоказателейВидовРасчета КАК ЗначенияПоказателей | ПО (ВЫБОР | КОГДА НачисленияУдержания.Сотрудник ЕСТЬ NULL | ИЛИ ЗначенияПоказателей.Сотрудник ЕСТЬ NULL | ТОГДА НачисленияУдержания.Физлицо = ЗначенияПоказателей.ФизЛицо | ИНАЧЕ НачисленияУдержания.Сотрудник = ЗначенияПоказателей.Сотрудник | КОНЕЦ) | И НачисленияУдержания.ВидРасчета = ЗначенияПоказателей.ВидРасчета |ГДЕ | (НЕ НачисленияУдержания.ПроизвольнаяФормулаРасчета)"; Запрос.Выполнить(); Возврат МенеджерВременныхТаблиц; КонецФункции // ПоказателиНачисленияУдержания |
||||
Исправлено в релизе: | 2.5.33 | ||||
Код ошибки: | 10072566 | ||||
Дата публикации: | 01.03.2011 16:04:59 | ||||
Дата последнего изменения: | 01.03.2011 0:00:00 | ||||
Описание: | В документе "Регистрация разовых начислений сотрудников" не заполняется подразделение, если дата документа меньше, чем дата приема на работу. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10070170 | ||||
Дата публикации: | 24.02.2011 16:13:56 | ||||
Дата последнего изменения: | 24.02.2011 0:00:00 | ||||
Описание: | Работник, перешедший со штата на договор ГПХ, при заполнении документов "Зарплата к выплате" попадает как в ведомость по старому штатному подразделению, так и в ведомость по договору ГПХ. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10073778 | ||||
Дата публикации: | 24.02.2011 16:13:38 | ||||
Дата последнего изменения: | 24.02.2011 0:00:00 | ||||
Описание: | При конвертации из ЗиК в ЗУП/ЗБУ не переносятся расчеты по страховым взносам. | ||||
Планируется исправить в релизе: | 2.5.32 | ||||
Код ошибки: | 10073325 | ||||
Дата публикации: | 16.02.2011 17:05:51 | ||||
Дата последнего изменения: | 16.02.2011 0:00:00 | ||||
Описание: | При конвертации из ЗиК в ЗУП/ЗБУ неправильно переносятся взаиморасчеты по НДФЛ исчисленному, записи по которому были перерасчитаны. | ||||
Планируется исправить в релизе: | 2.5.32 | ||||
Код ошибки: | 10074171 | ||||
Дата публикации: | 16.02.2011 17:05:39 | ||||
Дата последнего изменения: | 16.02.2011 0:00:00 | ||||
Описание: | В имени файла извещения о получении результата приема отчета вместо идентификатора ИФНС-получателя ошибочно указывается идентификатор спецоператора, что может привести к тому, что от ФНС в ответ на извещение будет получено уведомление об ошибке. | ||||
Код ошибки: | 10074156 | ||||
Дата публикации: | 16.02.2011 17:05:33 | ||||
Дата последнего изменения: | 16.02.2011 0:00:00 | ||||
Описание: | При формировании 1-НДФЛ с отбором по ОКАТО выдается сообщение об ошибке. | ||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10073897 | ||||
Дата публикации: | 16.02.2011 17:03:42 | ||||
Дата последнего изменения: | 16.02.2011 0:00:00 | ||||
Описание: | При начислении взносов в ФСС от несчастных случаев не учитываются ранее рассчитанные и проведенные документы "Начисление страховых взносов в ПФР, ФОМС и ФСС" за этот же период времени и по этой же организации. | ||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10073900 | ||||
Дата публикации: | 16.02.2011 17:02:52 | ||||
Дата последнего изменения: | 16.02.2011 0:00:00 | ||||
Описание: | Невозможно создать два вида расчета для разных групп сотрудников, например, в которых запрашивается один и тот же показатель. | ||||
Планируется исправить в релизе: | 2.5.32 | ||||
Код ошибки: | 10073726 | ||||
Дата публикации: | 16.02.2011 17:02:39 | ||||
Дата последнего изменения: | 16.02.2011 0:00:00 | ||||
Описание: | В док. "Начисление по больничному листу" по производственной травме расчет производится без учета предельной величины заработка, а в отчете "Расчет среднего заработка с 2011 года" - расчет ошибочно показывается с ограничением. | ||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10073701 | ||||
Дата публикации: | 16.02.2011 17:00:25 | ||||
Дата последнего изменения: | 16.02.2011 0:00:00 | ||||
Описание: | При изменении в документе "Начисление по больничному листу" (с периодом оплаты после Января 2011) периода расчета в поле "Расчетные годы", на закладке "Расчет среднего заработка" не очищается табличная часть. |
||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10073670 | ||||
Дата публикации: | 16.02.2011 16:59:49 | ||||
Дата последнего изменения: | 16.02.2011 0:00:00 | ||||
Описание: | При автозаполнении справок 2-НДФЛ за 2010 год по обособленному подразделению, выделенному на отдельный баланс, в документ не попадают суммы предоставленных вычетов. | ||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10073533 | ||||
Дата публикации: | 16.02.2011 16:57:27 | ||||
Дата последнего изменения: | 16.02.2011 0:00:00 | ||||
Описание: | С 2011 года неверно рассчитываются взносы на НС и ПЗ для организации инвалидов по оплате труда неинвалидов. | ||||
Способ исправления: | Функцию ПолучитьДанныеРасчета() модуля документа РасчетСтраховыхВзносов заменить следующим фрагментом: Функция ПолучитьДанныеРасчета(ГоловнаяОрганизация, ОрганичениеНаСотрудников, ДанныеОДоходах, Отказ) Если Отказ Тогда Возврат Неопределено; КонецЕсли; // расчет вызван независимо от получения данных о доходах, // получим список сотрудников для расчета Если ОрганичениеНаСотрудников = Неопределено Тогда ОрганичениеНаСотрудников = ПолучитьОграничениеНаСотрудников(Отказ); Если Отказ Тогда Возврат Неопределено; КонецЕсли; КонецЕсли; Запрос = Новый Запрос(); Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.УстановитьПараметр("парамКонецМесяцаПериодаРегистрации", КонецМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("парамГоловнаяОрганизация", ГоловнаяОрганизация); Запрос.УстановитьПараметр("парамОбособленноеПодразделение", Организация); Запрос.УстановитьПараметр("парамНачалоГода", НачалоГода(ПериодРегистрации)); Запрос.УстановитьПараметр("парамКонецГода", КонецГода(ПериодРегистрации)); Запрос.УстановитьПараметр("парамГодРасчета", Год(ПериодРегистрации)); Запрос.УстановитьПараметр("парамМесяцРасчета", Месяц(ПериодРегистрации)); Запрос.УстановитьПараметр("парамПредыдущийМесяц", Месяц(ПериодРегистрации) - 1); Запрос.УстановитьПараметр("парамПериодРегистрации", НачалоМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("Регистратор", Ссылка); ПредельнаяСумма = РегистрыСведений.ПредельнаяВеличинаБазыСтраховыхВзносов.ПолучитьПоследнее(КонецМесяца(ПериодРегистрации)).Размер; Запрос.УстановитьПараметр("ПредельнаяСумма", ?(ЗначениеЗаполнено(ПредельнаяСумма),ПредельнаяСумма,0)); Ставка = РегистрыСведений.СтавкаВзносаНаСтрахованиеОтНесчастныхСлучаев.ПолучитьПоследнее(КонецМесяца(ПериодРегистрации), Новый Структура("Организация", Организация)).Ставка; Запрос.УстановитьПараметр("СтавкаВзносаФСС_НС_ПЗ", Ставка / 100); // --------------------------------------------------------------------------- // тексты запросов // Запрос.Текст = "ВЫБРАТЬ | СведенияОДоходах.ФизЛицо, | МЕСЯЦ(СведенияОДоходах.Период) КАК Месяц, | СведенияОДоходах.ОблагаетсяВзносамиНаДоплатуКПенсииШахтерам, | СведенияОДоходах.ОблагаетсяПоДополнительномуТарифу, | СведенияОДоходах.ВидДохода, | СведенияОДоходах.Результат - СведенияОДоходах.Скидка КАК ОблагаемыйДоход |ПОМЕСТИТЬ ВТДанныеДокумента |ИЗ | &ДанныеОДоходах КАК СведенияОДоходах"; Запрос.УстановитьПараметр("ДанныеОДоходах", ДанныеОДоходах); Запрос.Выполнить(); // ФизлицаДляРасчета // Если ОрганичениеНаСотрудников = Неопределено Тогда Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | СведенияОДоходах.ФизЛицо КАК ФизЛицо |ПОМЕСТИТЬ ВТСписокСотрудников |ИЗ | РегистрНакопления.СтраховыеВзносыСведенияОДоходах КАК СведенияОДоходах |ГДЕ | НАЧАЛОПЕРИОДА(СведенияОДоходах.Период, МЕСЯЦ) = &парамПериодРегистрации | И СведенияОДоходах.ОбособленноеПодразделение = &парамОбособленноеПодразделение | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | СведенияОДоходах.ФизЛицо |ИЗ | ВТДанныеДокумента КАК СведенияОДоходах | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо"; Запрос.Выполнить(); Иначе Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ТаблицаСотрудников.ФизЛицо КАК ФизЛицо |ПОМЕСТИТЬ ВТСписокСотрудников |ИЗ | &парамТаблицаСотрудников КАК ТаблицаСотрудников | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо"; Запрос.УстановитьПараметр("парамТаблицаСотрудников", ОрганичениеНаСотрудников); Запрос.Выполнить(); КонецЕсли; // Периоды // Таблица список периодов // Поля: // Период // Описание: // список периодов - первые даты месяцев с начала года по "текущий" для запроса период // // конец месяца налогового периода КонецМесяца = КонецМесяца(НачалоГода(ПериодРегистрации)); // первый месяц ПериодыТекст = "ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(КонецМесяца,"ДФ=гггг,М,д,Ч,м,с") + ") КАК Период ПОМЕСТИТЬ ВТПериоды"; // прибавим остальные месяцы Для Сч = 2 По Месяц(ПериодРегистрации) Цикл КонецМесяца = КонецМесяца(КонецМесяца+1); ПериодыТекст = ПериодыТекст +" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(КонецМесяца,"ДФ=гггг,М,д,Ч,м,с") + ")"; КонецЦикла; Запрос.Текст = ПериодыТекст; Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ | МЕСЯЦ(Периоды.Период) КАК Месяц, | ЕСТЬNULL(УчетнаяПолитикаНалоговыйУчет.ВидТарифаСтраховыхВзносов, ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ОбщийНалоговыйРежим)) КАК ВидТарифаСтраховыхВзносов |ПОМЕСТИТЬ ВТИспользуемыеТарифы |ИЗ | (ВЫБРАТЬ | Периоды.Период КАК Период, | МАКСИМУМ(УчетнаяПолитикаНалоговыйУчет.Период) КАК ПериодРегистра | ИЗ | ВТПериоды КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаНалоговыйУчет КАК УчетнаяПолитикаНалоговыйУчет | ПО Периоды.Период >= УчетнаяПолитикаНалоговыйУчет.Период | И (УчетнаяПолитикаНалоговыйУчет.Организация = &парамГоловнаяОрганизация) | | СГРУППИРОВАТЬ ПО | Периоды.Период) КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаНалоговыйУчет КАК УчетнаяПолитикаНалоговыйУчет | ПО Периоды.ПериодРегистра = УчетнаяПолитикаНалоговыйУчет.Период | И (УчетнаяПолитикаНалоговыйУчет.Организация = &парамГоловнаяОрганизация) | |ИНДЕКСИРОВАТЬ ПО | Месяц |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТарифСтраховыхВзносовСрезПоследних.ВидТарифа КАК ВидТарифа, | ТарифСтраховыхВзносовСрезПоследних.ПФР, | ТарифСтраховыхВзносовСрезПоследних.ПФРНакопительная, | ТарифСтраховыхВзносовСрезПоследних.ФСС, | ТарифСтраховыхВзносовСрезПоследних.ФФОМС, | ТарифСтраховыхВзносовСрезПоследних.ТФОМС |ПОМЕСТИТЬ ВТТарифы |ИЗ | РегистрСведений.ТарифСтраховыхВзносов.СрезПоследних(&парамКонецГода, ) КАК ТарифСтраховыхВзносовСрезПоследних | |ИНДЕКСИРОВАТЬ ПО | ВидТарифа |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МЕСЯЦ(Периоды.Период) КАК Месяц, | ГражданствоФизЛиц.ФизЛицо КАК Физлицо, | ЕСТЬNULL(ГражданствоФизЛиц.НеИмеетПравоНаПенсию, ЛОЖЬ) КАК НеИмеетПравоНаПенсию, | ЕСТЬNULL(ГражданствоФизЛиц.НеИмеетПравоНаМедицинскоеСтрахование, ЛОЖЬ) КАК НеИмеетПравоНаМедицинскоеСтрахование |ПОМЕСТИТЬ ВТДанныеОПравеНаПенсию |ИЗ | (ВЫБРАТЬ | Периоды.Период КАК Период, | ГражданствоФизЛиц.ФизЛицо КАК Физлицо, | МАКСИМУМ(ГражданствоФизЛиц.Период) КАК ПериодРегистра | ИЗ | ВТПериоды КАК Периоды | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГражданствоФизЛиц КАК ГражданствоФизЛиц | ПО Периоды.Период >= ГражданствоФизЛиц.Период | ГДЕ | ГражданствоФизЛиц.ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТСписокСотрудников КАК СписокСотрудников) | | СГРУППИРОВАТЬ ПО | ГражданствоФизЛиц.ФизЛицо, | Периоды.Период) КАК Периоды | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГражданствоФизЛиц КАК ГражданствоФизЛиц | ПО Периоды.ПериодРегистра = ГражданствоФизЛиц.Период | И Периоды.Физлицо = ГражданствоФизЛиц.ФизЛицо | И (ГражданствоФизЛиц.НеИмеетПравоНаПенсию | ИЛИ ГражданствоФизЛиц.НеИмеетПравоНаМедицинскоеСтрахование) | |ИНДЕКСИРОВАТЬ ПО | Физлицо, | Месяц |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СведенияОбИнвалидностиФизлиц.Физлицо КАК Физлицо, | СведенияОбИнвалидностиФизлиц.Период КАК Период, | СведенияОбИнвалидностиФизлиц.Инвалидность |ПОМЕСТИТЬ ВТ_СведенияОбИнвалидности |ИЗ | РегистрСведений.СведенияОбИнвалидностиФизлиц КАК СведенияОбИнвалидностиФизлиц |ГДЕ | СведенияОбИнвалидностиФизлиц.Физлицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТСписокСотрудников КАК СписокСотрудников) | |ИНДЕКСИРОВАТЬ ПО | Физлицо, | Период |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МЕСЯЦ(Периоды.Период) КАК Месяц, | СведенияОбИнвалидностиФизлиц.Физлицо КАК Физлицо |ПОМЕСТИТЬ ВТДанныеОбИнвалидности |ИЗ | (ВЫБРАТЬ | Периоды.Период КАК Период, | СведенияОбИнвалидностиФизлиц.Физлицо КАК Физлицо, | МАКСИМУМ(СведенияОбИнвалидностиФизлиц.Период) КАК ПериодРегистра | ИЗ | ВТПериоды КАК Периоды | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_СведенияОбИнвалидности КАК СведенияОбИнвалидностиФизлиц | ПО Периоды.Период >= СведенияОбИнвалидностиФизлиц.Период | | СГРУППИРОВАТЬ ПО | СведенияОбИнвалидностиФизлиц.Физлицо, | Периоды.Период) КАК Периоды | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_СведенияОбИнвалидности КАК СведенияОбИнвалидностиФизлиц | ПО (СведенияОбИнвалидностиФизлиц.Период = Периоды.ПериодРегистра) | И Периоды.Физлицо = СведенияОбИнвалидностиФизлиц.Физлицо | И (СведенияОбИнвалидностиФизлиц.Инвалидность) | |ИНДЕКСИРОВАТЬ ПО | Физлицо, | Месяц |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СведенияОДоходах.ФизЛицо КАК ФизЛицо, | МЕСЯЦ(СведенияОДоходах.Период) КАК Месяц, | СведенияОДоходах.ОблагаетсяВзносамиНаДоплатуКПенсииШахтерам, | СведенияОДоходах.ОблагаетсяПоДополнительномуТарифу, | СведенияОДоходах.ВидДохода.ВходитВБазуПФР КАК ВходитВБазуПФР, | СведенияОДоходах.ВидДохода.ВходитВБазуФСС КАК ВходитВБазуФСС, | СведенияОДоходах.ВидДохода.ВходитВБазуФОМС КАК ВходитВБазуФОМС, | СведенияОДоходах.РезультатОборот - СведенияОДоходах.СкидкаОборот КАК ОблагаемыйДоход |ПОМЕСТИТЬ ВТДоходыПоФизлицамМесяцам |ИЗ | РегистрНакопления.СтраховыеВзносыСведенияОДоходах.Обороты( | &парамНачалоГода, | &парамКонецМесяцаПериодаРегистрации, | Месяц, | Организация = &парамГоловнаяОрганизация | И Физлицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТСписокСотрудников КАК СписокСотрудников)) КАК СведенияОДоходах | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | СтраховыеВзносыСведенияОДоходах.ФизЛицо, | МЕСЯЦ(СтраховыеВзносыСведенияОДоходах.Период), | СтраховыеВзносыСведенияОДоходах.ОблагаетсяВзносамиНаДоплатуКПенсииШахтерам, | СтраховыеВзносыСведенияОДоходах.ОблагаетсяПоДополнительномуТарифу, | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуПФР, | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуФСС, | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуФОМС, | -СтраховыеВзносыСведенияОДоходах.Результат + СтраховыеВзносыСведенияОДоходах.Скидка |ИЗ | РегистрНакопления.СтраховыеВзносыСведенияОДоходах КАК СтраховыеВзносыСведенияОДоходах |ГДЕ | СтраховыеВзносыСведенияОДоходах.Регистратор = &Регистратор | И СтраховыеВзносыСведенияОДоходах.Организация = &парамГоловнаяОрганизация | И СтраховыеВзносыСведенияОДоходах.ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТСписокСотрудников КАК СписокСотрудников) | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | СтраховыеВзносыСведенияОДоходах.ФизЛицо, | СтраховыеВзносыСведенияОДоходах.Месяц, | СтраховыеВзносыСведенияОДоходах.ОблагаетсяВзносамиНаДоплатуКПенсииШахтерам, | СтраховыеВзносыСведенияОДоходах.ОблагаетсяПоДополнительномуТарифу, | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуПФР, | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуФСС, | СтраховыеВзносыСведенияОДоходах.ВидДохода.ВходитВБазуФОМС, | СтраховыеВзносыСведенияОДоходах.ОблагаемыйДоход |ИЗ | ВТДанныеДокумента КАК СтраховыеВзносыСведенияОДоходах | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо, | Месяц |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СведенияОДоходах.ФизЛицо КАК ФизЛицо |ПОМЕСТИТЬ ВТФизлицаБезОблагаемойБазы |ИЗ | ВТДоходыПоФизлицамМесяцам КАК СведенияОДоходах | |СГРУППИРОВАТЬ ПО | СведенияОДоходах.ФизЛицо | |ИМЕЮЩИЕ | СУММА(ВЫБОР | КОГДА СведенияОДоходах.ВходитВБазуПФР | ИЛИ СведенияОДоходах.ВходитВБазуФОМС | ТОГДА СведенияОДоходах.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) < 0 | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РанееИсчисленныеВзносы.ФизЛицо КАК ФизЛицо, | СУММА(РанееИсчисленныеВзносы.ФССОборот) КАК ФССОборот, | СУММА(РанееИсчисленныеВзносы.ФФОМСОборот) КАК ФФОМСОборот, | СУММА(РанееИсчисленныеВзносы.ТФОМСОборот) КАК ТФОМСОборот, | СУММА(РанееИсчисленныеВзносы.ПФРНакопительнаяОборот) КАК ПФРНакопительнаяОборот, | СУММА(РанееИсчисленныеВзносы.ПФРСтраховаяОборот) КАК ПФРСтраховаяОборот, | СУММА(РанееИсчисленныеВзносы.ПФРПоДополнительномуТарифуОборот) КАК ПФРПоДополнительномуТарифуОборот, | СУММА(РанееИсчисленныеВзносы.ПФРНаДоплатуКПенсииШахтерамОборот) КАК ПФРНаДоплатуКПенсииШахтерамОборот |ПОМЕСТИТЬ ВТРанееИсчисленныеВзносы |ИЗ | (ВЫБРАТЬ | РанееИсчисленныеВзносы.ФизЛицо КАК ФизЛицо, | МЕСЯЦ(РанееИсчисленныеВзносы.Период) КАК Месяц, | РанееИсчисленныеВзносы.ФССОборот КАК ФССОборот, | РанееИсчисленныеВзносы.ФФОМСОборот КАК ФФОМСОборот, | РанееИсчисленныеВзносы.ТФОМСОборот КАК ТФОМСОборот, | РанееИсчисленныеВзносы.ПФРНакопительнаяОборот КАК ПФРНакопительнаяОборот, | РанееИсчисленныеВзносы.ПФРСтраховаяОборот КАК ПФРСтраховаяОборот, | РанееИсчисленныеВзносы.ПФРНаДоплатуКПенсииШахтерамОборот КАК ПФРНаДоплатуКПенсииШахтерамОборот, | РанееИсчисленныеВзносы.ПФРПоДополнительномуТарифуОборот КАК ПФРПоДополнительномуТарифуОборот | ИЗ | РегистрНакопления.СтраховыеВзносыИсчисленные.Обороты( | &парамНачалоГода, | &парамКонецМесяцаПериодаРегистрации, | Месяц, | Организация = &парамГоловнаяОрганизация | И (НЕ ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТФизлицаБезОблагаемойБазы КАК СписокСотрудников)) | И ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТСписокСотрудников КАК СписокСотрудников)) КАК РанееИсчисленныеВзносы | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | СтраховыеВзносыИсчисленные.ФизЛицо, | МЕСЯЦ(СтраховыеВзносыИсчисленные.Период), | -СтраховыеВзносыИсчисленные.ФСС, | -СтраховыеВзносыИсчисленные.ФФОМС, | -СтраховыеВзносыИсчисленные.ТФОМС, | -СтраховыеВзносыИсчисленные.ПФРНакопительная, | -СтраховыеВзносыИсчисленные.ПФРСтраховая, | -СтраховыеВзносыИсчисленные.ПФРНаДоплатуКПенсииШахтерам, | -СтраховыеВзносыИсчисленные.ПФРПоДополнительномуТарифу | ИЗ | РегистрНакопления.СтраховыеВзносыИсчисленные КАК СтраховыеВзносыИсчисленные | ГДЕ | СтраховыеВзносыИсчисленные.Регистратор = &Регистратор | И СтраховыеВзносыИсчисленные.Организация = &парамГоловнаяОрганизация | И (НЕ СтраховыеВзносыИсчисленные.ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТФизлицаБезОблагаемойБазы КАК СписокСотрудников)) | И СтраховыеВзносыИсчисленные.ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТСписокСотрудников КАК СписокСотрудников)) КАК РанееИсчисленныеВзносы | |СГРУППИРОВАТЬ ПО | РанееИсчисленныеВзносы.ФизЛицо | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Основная.ФизЛицо КАК ФизЛицо, | Основная.Месяц КАК Месяц, | СУММА(ВЫБОР | КОГДА (Иностр.Физлицо ЕСТЬ NULL | ИЛИ (НЕ Иностр.НеИмеетПравоНаПенсию)) | И Основная.ВходитВБазуПФР | ТОГДА Основная.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) КАК БазаПФР, | СУММА(ВЫБОР | КОГДА (Иностр.Физлицо ЕСТЬ NULL | ИЛИ (НЕ Иностр.НеИмеетПравоНаПенсию)) | И Основная.ВходитВБазуФСС | ТОГДА Основная.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) КАК БазаФСС, | СУММА(ВЫБОР | КОГДА (Иностр.Физлицо ЕСТЬ NULL | ИЛИ (НЕ Иностр.НеИмеетПравоНаМедицинскоеСтрахование)) | И Основная.ВходитВБазуФОМС | ТОГДА Основная.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) КАК БазаФОМС, | СУММА(ВЫБОР | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL | И (Иностр.Физлицо ЕСТЬ NULL | ИЛИ (НЕ Иностр.НеИмеетПравоНаПенсию)) | И Основная.ВходитВБазуПФР | ТОГДА Основная.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) КАК БазаПФРИнвалида, | СУММА(ВЫБОР | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL | ТОГДА 0 | КОГДА (Иностр.Физлицо ЕСТЬ NULL | ИЛИ (НЕ Иностр.НеИмеетПравоНаПенсию)) | И Основная.ВходитВБазуПФР | ТОГДА Основная.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) КАК БазаПФРПоОсновномуТарифу, | СУММА(ВЫБОР | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL | И (Иностр.Физлицо ЕСТЬ NULL | ИЛИ (НЕ Иностр.НеИмеетПравоНаПенсию)) | И Основная.ВходитВБазуФСС | ТОГДА Основная.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) КАК БазаФССИнвалида, | СУММА(ВЫБОР | КОГДА (Инвалид.Физлицо ЕСТЬ НЕ NULL | ИЛИ ИспользуемыеТарифы.ВидТарифаСтраховыхВзносов = ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ОрганизацияИнвалидов)) | И Основная.ВходитВБазуФСС | ТОГДА Основная.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) КАК БазаФСС_НСИнвалида, | СУММА(ВЫБОР | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL | ТОГДА 0 | КОГДА (Иностр.Физлицо ЕСТЬ NULL | ИЛИ (НЕ Иностр.НеИмеетПравоНаПенсию)) | И Основная.ВходитВБазуФСС | ТОГДА Основная.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) КАК БазаФССПоОсновномуТарифу, | СУММА(ВЫБОР | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL | ТОГДА 0 | КОГДА ИспользуемыеТарифы.ВидТарифаСтраховыхВзносов = ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ОрганизацияИнвалидов) | ТОГДА 0 | КОГДА Основная.ВходитВБазуФСС | ТОГДА Основная.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) КАК БазаФСС_НСПоОсновномуТарифу, | СУММА(ВЫБОР | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL | И (Иностр.Физлицо ЕСТЬ NULL | ИЛИ (НЕ Иностр.НеИмеетПравоНаПенсию)) | И Основная.ВходитВБазуФОМС | ТОГДА Основная.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) КАК БазаФОМСИнвалида, | СУММА(ВЫБОР | КОГДА Инвалид.Физлицо ЕСТЬ НЕ NULL | ТОГДА 0 | КОГДА (Иностр.Физлицо ЕСТЬ NULL | ИЛИ (НЕ Иностр.НеИмеетПравоНаМедицинскоеСтрахование)) | И Основная.ВходитВБазуФОМС | ТОГДА Основная.ОблагаемыйДоход | ИНАЧЕ 0 | КОНЕЦ) КАК БазаФОМСПоОсновномуТарифу |ПОМЕСТИТЬ ВТДоходыЗастрахованныхЛиц |ИЗ | ВТДоходыПоФизлицамМесяцам КАК Основная | ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОПравеНаПенсию КАК Иностр | ПО Основная.ФизЛицо = Иностр.Физлицо | И Основная.Месяц = Иностр.Месяц | ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОбИнвалидности КАК Инвалид | ПО Основная.ФизЛицо = Инвалид.Физлицо | И Основная.Месяц = Инвалид.Месяц | ЛЕВОЕ СОЕДИНЕНИЕ ВТИспользуемыеТарифы КАК ИспользуемыеТарифы | ПО Основная.Месяц = ИспользуемыеТарифы.Месяц |ГДЕ | (НЕ Основная.ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТФизлицаБезОблагаемойБазы КАК СписокСотрудников)) | |СГРУППИРОВАТЬ ПО | Основная.ФизЛицо, | Основная.Месяц | |ИНДЕКСИРОВАТЬ ПО | Месяц, | ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МЕСЯЦ(Периоды.Период) КАК Месяц, | ДоходыЗастрахованныхЛиц.ФизЛицо КАК ФизЛицо, | СУММА(ДоходыЗастрахованныхЛиц.БазаПФР) КАК БазаПФР, | СУММА(ДоходыЗастрахованныхЛиц.БазаФСС) КАК БазаФСС, | СУММА(ДоходыЗастрахованныхЛиц.БазаФОМС) КАК БазаФОМС |ПОМЕСТИТЬ ВТНакопленнаяОблагаемаяБаза |ИЗ | ВТПериоды КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыЗастрахованныхЛиц КАК ДоходыЗастрахованныхЛиц | ПО (ДоходыЗастрахованныхЛиц.Месяц МЕЖДУ 1 И МЕСЯЦ(Периоды.Период)) | |СГРУППИРОВАТЬ ПО | ДоходыЗастрахованныхЛиц.ФизЛицо, | МЕСЯЦ(Периоды.Период) | |ИНДЕКСИРОВАТЬ ПО | Месяц, | ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | База.Месяц КАК Месяц, | База.ФизЛицо КАК ФизЛицо, | ВЫБОР | КОГДА База.БазаПФР <= &ПредельнаяСумма | ТОГДА 1 | КОГДА База.БазаПФР = ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаПФР, 0) | ТОГДА 1 | КОГДА ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаПФР, 0) >= &ПредельнаяСумма | ТОГДА 0 | ИНАЧЕ (&ПредельнаяСумма - ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаПФР, 0)) / (База.БазаПФР - ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаПФР, 0)) | КОНЕЦ КАК КоэффициентОбложенияПФР, | ВЫБОР | КОГДА База.БазаФСС <= &ПредельнаяСумма | ТОГДА 1 | КОГДА База.БазаФСС = ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаФСС, 0) | ТОГДА 1 | КОГДА ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаФСС, 0) >= &ПредельнаяСумма | ТОГДА 0 | ИНАЧЕ (&ПредельнаяСумма - ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаФСС, 0)) / (База.БазаФСС - ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаФСС, 0)) | КОНЕЦ КАК КоэффициентОбложенияФСС, | ВЫБОР | КОГДА База.БазаФОМС <= &ПредельнаяСумма | ТОГДА 1 | КОГДА База.БазаФОМС = ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаФОМС, 0) | ТОГДА 1 | КОГДА ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаФОМС, 0) >= &ПредельнаяСумма | ТОГДА 0 | ИНАЧЕ (&ПредельнаяСумма - ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаФОМС, 0)) / (База.БазаФОМС - ЕСТЬNULL(НакопленоПоПрошлыйМесяц.БазаФОМС, 0)) | КОНЕЦ КАК КоэффициентОбложенияФОМС |ПОМЕСТИТЬ ВТКоэффициентыДостиженияПредельнойСуммы |ИЗ | ВТНакопленнаяОблагаемаяБаза КАК База | ЛЕВОЕ СОЕДИНЕНИЕ ВТНакопленнаяОблагаемаяБаза КАК НакопленоПоПрошлыйМесяц | ПО (База.Месяц - 1 = НакопленоПоПрошлыйМесяц.Месяц) | И База.ФизЛицо = НакопленоПоПрошлыйМесяц.ФизЛицо | |ИНДЕКСИРОВАТЬ ПО | Месяц, | ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДоходыЗастрахованныхЛиц.ФизЛицо КАК ФизЛицо, | ДоходыЗастрахованныхЛиц.Месяц КАК Месяц, | ИспользуемыеТарифы.ВидТарифаСтраховыхВзносов, | ВЫБОР | КОГДА Коэффициенты.КоэффициентОбложенияПФР = 1 | ТОГДА ДоходыЗастрахованныхЛиц.БазаПФРИнвалида | КОГДА Коэффициенты.КоэффициентОбложенияПФР = 0 | ТОГДА 0 | КОГДА ДоходыЗастрахованныхЛиц.БазаПФРИнвалида = 0 | ТОГДА 0 | ИНАЧЕ &ПредельнаяСумма - ЕСТЬNULL(НакопленнаяОблагаемаяБазаПоПредыдущийМесяц.БазаПФР, 0) | КОНЕЦ КАК БазаПФРИнвалида, | ВЫБОР | КОГДА Коэффициенты.КоэффициентОбложенияПФР = 1 | ТОГДА ДоходыЗастрахованныхЛиц.БазаПФРПоОсновномуТарифу | КОГДА Коэффициенты.КоэффициентОбложенияПФР = 0 | ТОГДА 0 | КОГДА ДоходыЗастрахованныхЛиц.БазаПФРПоОсновномуТарифу = 0 | ТОГДА 0 | ИНАЧЕ &ПредельнаяСумма - ЕСТЬNULL(НакопленнаяОблагаемаяБазаПоПредыдущийМесяц.БазаПФР, 0) | КОНЕЦ КАК БазаПФРПоОсновномуТарифу, | ВЫБОР | КОГДА Коэффициенты.КоэффициентОбложенияФСС = 1 | ТОГДА ДоходыЗастрахованныхЛиц.БазаФССИнвалида | КОГДА Коэффициенты.КоэффициентОбложенияФСС = 0 | ТОГДА 0 | КОГДА ДоходыЗастрахованныхЛиц.БазаФССИнвалида = 0 | ТОГДА 0 | ИНАЧЕ &ПредельнаяСумма - ЕСТЬNULL(НакопленнаяОблагаемаяБазаПоПредыдущийМесяц.БазаФСС, 0) | КОНЕЦ КАК БазаФССИнвалида, | ВЫБОР | КОГДА Коэффициенты.КоэффициентОбложенияФСС = 1 | ТОГДА ДоходыЗастрахованныхЛиц.БазаФССПоОсновномуТарифу | КОГДА Коэффициенты.КоэффициентОбложенияФСС = 0 | ТОГДА 0 | КОГДА ДоходыЗастрахованныхЛиц.БазаФССПоОсновномуТарифу = 0 | ТОГДА 0 | ИНАЧЕ &ПредельнаяСумма - ЕСТЬNULL(НакопленнаяОблагаемаяБазаПоПредыдущийМесяц.БазаФСС, 0) | КОНЕЦ КАК БазаФССПоОсновномуТарифу, | ВЫБОР | КОГДА Коэффициенты.КоэффициентОбложенияФОМС = 1 | ТОГДА ДоходыЗастрахованныхЛиц.БазаФОМСИнвалида | КОГДА Коэффициенты.КоэффициентОбложенияФОМС = 0 | ТОГДА 0 | КОГДА ДоходыЗастрахованныхЛиц.БазаФОМСИнвалида = 0 | ТОГДА 0 | ИНАЧЕ &ПредельнаяСумма - ЕСТЬNULL(НакопленнаяОблагаемаяБазаПоПредыдущийМесяц.БазаФОМС, 0) | КОНЕЦ КАК БазаФОМСИнвалида, | ВЫБОР | КОГДА Коэффициенты.КоэффициентОбложенияФОМС = 1 | ТОГДА ДоходыЗастрахованныхЛиц.БазаФОМСПоОсновномуТарифу | КОГДА Коэффициенты.КоэффициентОбложенияФОМС = 0 | ТОГДА 0 | КОГДА ДоходыЗастрахованныхЛиц.БазаФОМСПоОсновномуТарифу = 0 | ТОГДА 0 | ИНАЧЕ &ПредельнаяСумма - ЕСТЬNULL(НакопленнаяОблагаемаяБазаПоПредыдущийМесяц.БазаФОМС, 0) | КОНЕЦ КАК БазаФОМСПоОсновномуТарифу |ПОМЕСТИТЬ ВТОграниченнаяОблагаемаяБаза |ИЗ | ВТДоходыЗастрахованныхЛиц КАК ДоходыЗастрахованныхЛиц | ЛЕВОЕ СОЕДИНЕНИЕ ВТКоэффициентыДостиженияПредельнойСуммы КАК Коэффициенты | ПО ДоходыЗастрахованныхЛиц.ФизЛицо = Коэффициенты.ФизЛицо | И ДоходыЗастрахованныхЛиц.Месяц = Коэффициенты.Месяц | ЛЕВОЕ СОЕДИНЕНИЕ ВТНакопленнаяОблагаемаяБаза КАК НакопленнаяОблагаемаяБазаПоПредыдущийМесяц | ПО ДоходыЗастрахованныхЛиц.ФизЛицо = НакопленнаяОблагаемаяБазаПоПредыдущийМесяц.ФизЛицо | И (ДоходыЗастрахованныхЛиц.Месяц - 1 = НакопленнаяОблагаемаяБазаПоПредыдущийМесяц.Месяц) | ЛЕВОЕ СОЕДИНЕНИЕ ВТИспользуемыеТарифы КАК ИспользуемыеТарифы | ПО ДоходыЗастрахованныхЛиц.Месяц = ИспользуемыеТарифы.Месяц | |ИНДЕКСИРОВАТЬ ПО | Месяц, | ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОграниченнаяОблагаемаяБаза.ФизЛицо КАК ФизЛицо, | ОграниченнаяОблагаемаяБаза.ВидТарифаСтраховыхВзносов, | ВЫБОР | КОГДА ГОД(ОграниченнаяОблагаемаяБаза.ФизЛицо.ДатаРождения) < 1967 | ТОГДА 0 | ИНАЧЕ ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаПФРПоОсновномуТарифу) * ОсновнойТариф.ПФРНакопительная / 100 КАК ЧИСЛО(15, 2)) | КОНЕЦ КАК РезультатПФРНакопительная, | ВЫБОР | КОГДА ГОД(ОграниченнаяОблагаемаяБаза.ФизЛицо.ДатаРождения) < 1967 | ТОГДА ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаПФРПоОсновномуТарифу) * ОсновнойТариф.ПФР / 100 КАК ЧИСЛО(15, 2)) | ИНАЧЕ ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаПФРПоОсновномуТарифу) * (ОсновнойТариф.ПФР - ОсновнойТариф.ПФРНакопительная) / 100 КАК ЧИСЛО(15, 2)) | КОНЕЦ КАК РезультатПФРСтраховая, | ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаФССПоОсновномуТарифу) * ОсновнойТариф.ФСС / 100 КАК ЧИСЛО(15, 2)) КАК РезультатФСС, | ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаФОМСПоОсновномуТарифу) * ОсновнойТариф.ФФОМС / 100 КАК ЧИСЛО(15, 2)) КАК РезультатФФОМС, | ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаФОМСПоОсновномуТарифу) * ОсновнойТариф.ТФОМС / 100 КАК ЧИСЛО(15, 2)) КАК РезультатТФОМС |ПОМЕСТИТЬ ВТИсчисленоПоОсновномуТарифу |ИЗ | ВТОграниченнаяОблагаемаяБаза КАК ОграниченнаяОблагаемаяБаза | ЛЕВОЕ СОЕДИНЕНИЕ ВТТарифы КАК ОсновнойТариф | ПО ОграниченнаяОблагаемаяБаза.ВидТарифаСтраховыхВзносов = ОсновнойТариф.ВидТарифа | |СГРУППИРОВАТЬ ПО | ОсновнойТариф.ПФРНакопительная, | ОсновнойТариф.ПФР, | ОсновнойТариф.ФСС, | ОсновнойТариф.ФФОМС, | ОсновнойТариф.ТФОМС, | ОграниченнаяОблагаемаяБаза.ВидТарифаСтраховыхВзносов, | ОграниченнаяОблагаемаяБаза.ФизЛицо, | ОграниченнаяОблагаемаяБаза.ФизЛицо.ДатаРождения | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОграниченнаяОблагаемаяБаза.ФизЛицо КАК ФизЛицо, | ВЫБОР | КОГДА ГОД(ОграниченнаяОблагаемаяБаза.ФизЛицо.ДатаРождения) < 1967 | ТОГДА 0 | ИНАЧЕ ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаПФРИнвалида) * ТарифИнвалида.ПФРНакопительная / 100 КАК ЧИСЛО(15, 2)) | КОНЕЦ КАК РезультатПФРНакопительнаяИнвалида, | ВЫБОР | КОГДА ГОД(ОграниченнаяОблагаемаяБаза.ФизЛицо.ДатаРождения) < 1967 | ТОГДА ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаПФРИнвалида) * ТарифИнвалида.ПФР / 100 КАК ЧИСЛО(15, 2)) | ИНАЧЕ ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаПФРИнвалида) * (ТарифИнвалида.ПФР - ТарифИнвалида.ПФРНакопительная) / 100 КАК ЧИСЛО(15, 2)) | КОНЕЦ КАК РезультатПФРСтраховаяИнвалида, | ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаФССИнвалида) * ТарифИнвалида.ФСС / 100 КАК ЧИСЛО(15, 2)) КАК РезультатФССИнвалида, | ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаФОМСИнвалида) * ТарифИнвалида.ФФОМС / 100 КАК ЧИСЛО(15, 2)) КАК РезультатФФОМСИнвалида, | ВЫРАЗИТЬ(СУММА(ОграниченнаяОблагаемаяБаза.БазаФОМСИнвалида) * ТарифИнвалида.ТФОМС / 100 КАК ЧИСЛО(15, 2)) КАК РезультатТФОМСИнвалида |ПОМЕСТИТЬ ВТИсчисленоПоЛьготномуТарифу |ИЗ | ВТОграниченнаяОблагаемаяБаза КАК ОграниченнаяОблагаемаяБаза | ЛЕВОЕ СОЕДИНЕНИЕ ВТТарифы КАК ТарифИнвалида | ПО (ТарифИнвалида.ВидТарифа = ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ОрганизацияИнвалидов)) | |СГРУППИРОВАТЬ ПО | ТарифИнвалида.ПФРНакопительная, | ТарифИнвалида.ПФР, | ТарифИнвалида.ФСС, | ТарифИнвалида.ФФОМС, | ТарифИнвалида.ТФОМС, | ОграниченнаяОблагаемаяБаза.ФизЛицо, | ОграниченнаяОблагаемаяБаза.ФизЛицо.ДатаРождения | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВЫРАЗИТЬ(СУММА(ДоходыФизлиц.ОблагаемыйДоход) * 0.14 КАК ЧИСЛО(15, 2)) КАК РезультатПоДополнительномуТарифу, | ДоходыФизлиц.ФизЛицо КАК ФизЛицо |ПОМЕСТИТЬ ВТВзносыПоДополнительномуТарифу |ИЗ | ВТДоходыПоФизлицамМесяцам КАК ДоходыФизлиц |ГДЕ | ДоходыФизлиц.ОблагаетсяПоДополнительномуТарифу | И ДоходыФизлиц.ВходитВБазуПФР | И (НЕ ДоходыФизлиц.ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТФизлицаБезОблагаемойБазы КАК СписокСотрудников)) | |СГРУППИРОВАТЬ ПО | ДоходыФизлиц.ФизЛицо | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВЫРАЗИТЬ(СУММА(ДоходыФизлиц.ОблагаемыйДоход) * 0.067 КАК ЧИСЛО(15, 2)) КАК РезультатПоДополнительномуТарифу, | ДоходыФизлиц.ФизЛицо КАК ФизЛицо |ПОМЕСТИТЬ ВТВзносыДляШахтеров |ИЗ | ВТДоходыПоФизлицамМесяцам КАК ДоходыФизлиц |ГДЕ | ДоходыФизлиц.ОблагаетсяВзносамиНаДоплатуКПенсииШахтерам | И ДоходыФизлиц.ВходитВБазуПФР | И (НЕ ДоходыФизлиц.ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТФизлицаБезОблагаемойБазы КАК СписокСотрудников)) | |СГРУППИРОВАТЬ ПО | ДоходыФизлиц.ФизЛицо | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Начислено.ФизЛицо КАК ФизЛицо, | (ВЫРАЗИТЬ(Начислено.БазаФСС_НСПоОсновномуТарифу * &СтавкаВзносаФСС_НС_ПЗ КАК ЧИСЛО(15, 2))) + (ВЫРАЗИТЬ(Начислено.БазаФСС_НСИнвалида * &СтавкаВзносаФСС_НС_ПЗ * 0.6 КАК ЧИСЛО(15, 2))) КАК Взносов |ПОМЕСТИТЬ ВТВзносыФССНесчастныеСлучаи |ИЗ | ВТДоходыЗастрахованныхЛиц КАК Начислено |ГДЕ | Начислено.Месяц = &парамМесяцРасчета |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВсегоИсчислено.ФизЛицо КАК ФизЛицо, | ВсегоИсчислено.Порядок, | СУММА(ВсегоИсчислено.РезультатПФРНакопительная) КАК РезультатПФРНакопительная, | СУММА(ВсегоИсчислено.РезультатПФРСтраховая) КАК РезультатПФРСтраховая, | СУММА(ВсегоИсчислено.РезультатФСС) КАК РезультатФСС, | СУММА(ВсегоИсчислено.РезультатФФОМС) КАК РезультатФФОМС, | СУММА(ВсегоИсчислено.РезультатТФОМС) КАК РезультатТФОМС, | СУММА(ВсегоИсчислено.РезультатПоДополнительномуТарифу) КАК РезультатПоДополнительномуТарифу, | СУММА(ВсегоИсчислено.РезультатФССНесчастныеСлучаи) КАК РезультатФССНесчастныеСлучаи, | СУММА(ВсегоИсчислено.РезультатДляШахтеров) КАК РезультатДляШахтеров |ПОМЕСТИТЬ ВТСуммыВзносовНарастающимИтогом |ИЗ | (ВЫБРАТЬ | ИсчисленоПоОсновномуТарифу.ФизЛицо КАК ФизЛицо, | ИсчисленоПоОсновномуТарифу.ФизЛицо.Наименование КАК Порядок, | ИсчисленоПоОсновномуТарифу.РезультатПФРНакопительная КАК РезультатПФРНакопительная, | ИсчисленоПоОсновномуТарифу.РезультатПФРСтраховая КАК РезультатПФРСтраховая, | ИсчисленоПоОсновномуТарифу.РезультатФСС КАК РезультатФСС, | ИсчисленоПоОсновномуТарифу.РезультатФФОМС КАК РезультатФФОМС, | ИсчисленоПоОсновномуТарифу.РезультатТФОМС КАК РезультатТФОМС, | 0 КАК РезультатПоДополнительномуТарифу, | 0 КАК РезультатФССНесчастныеСлучаи, | 0 КАК РезультатДляШахтеров | ИЗ | ВТИсчисленоПоОсновномуТарифу КАК ИсчисленоПоОсновномуТарифу | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ИсчисленоПоЛьготномуТарифу.ФизЛицо, | ИсчисленоПоЛьготномуТарифу.ФизЛицо.Наименование, | ИсчисленоПоЛьготномуТарифу.РезультатПФРНакопительнаяИнвалида, | ИсчисленоПоЛьготномуТарифу.РезультатПФРСтраховаяИнвалида, | ИсчисленоПоЛьготномуТарифу.РезультатФССИнвалида, | ИсчисленоПоЛьготномуТарифу.РезультатФФОМСИнвалида, | ИсчисленоПоЛьготномуТарифу.РезультатТФОМСИнвалида, | 0, | 0, | 0 | ИЗ | ВТИсчисленоПоЛьготномуТарифу КАК ИсчисленоПоЛьготномуТарифу | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ВзносыПоДополнительномуТарифу.ФизЛицо, | ВзносыПоДополнительномуТарифу.ФизЛицо.Наименование, | 0, | 0, | 0, | 0, | 0, | ВзносыПоДополнительномуТарифу.РезультатПоДополнительномуТарифу, | 0, | 0 | ИЗ | ВТВзносыПоДополнительномуТарифу КАК ВзносыПоДополнительномуТарифу | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ВзносыПоДополнительномуТарифу.ФизЛицо, | ВзносыПоДополнительномуТарифу.ФизЛицо.Наименование, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | ВзносыПоДополнительномуТарифу.РезультатПоДополнительномуТарифу | ИЗ | ВТВзносыДляШахтеров КАК ВзносыПоДополнительномуТарифу | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ВзносыФС_НС_ПЗ.ФизЛицо, | ВзносыФС_НС_ПЗ.ФизЛицо.Наименование, | 0, | 0, | 0, | 0, | 0, | 0, | ВзносыФС_НС_ПЗ.Взносов, | 0 | ИЗ | ВТВзносыФССНесчастныеСлучаи КАК ВзносыФС_НС_ПЗ) КАК ВсегоИсчислено | |СГРУППИРОВАТЬ ПО | ВсегоИсчислено.ФизЛицо, | ВсегоИсчислено.Порядок | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СуммыНарастающимИтогом.ФизЛицо КАК ФизЛицо, | СуммыНарастающимИтогом.Порядок КАК Порядок, | СуммыНарастающимИтогом.РезультатФСС - ЕСТЬNULL(ИсчисленныеВзносы.ФССОборот, 0) КАК ФСС, | СуммыНарастающимИтогом.РезультатФФОМС - ЕСТЬNULL(ИсчисленныеВзносы.ФФОМСОборот, 0) КАК ФФОМС, | СуммыНарастающимИтогом.РезультатТФОМС - ЕСТЬNULL(ИсчисленныеВзносы.ТФОМСОборот, 0) КАК ТФОМС, | СуммыНарастающимИтогом.РезультатПФРНакопительная - ЕСТЬNULL(ИсчисленныеВзносы.ПФРНакопительнаяОборот, 0) КАК ПФРНакопительная, | СуммыНарастающимИтогом.РезультатПФРСтраховая - ЕСТЬNULL(ИсчисленныеВзносы.ПФРСтраховаяОборот, 0) КАК ПФРСтраховая, | СуммыНарастающимИтогом.РезультатПоДополнительномуТарифу - ЕСТЬNULL(ИсчисленныеВзносы.ПФРПоДополнительномуТарифуОборот, 0) КАК ПФРПоДополнительномуТарифу, | СуммыНарастающимИтогом.РезультатФССНесчастныеСлучаи КАК ФССНесчастныеСлучаи, | СуммыНарастающимИтогом.РезультатДляШахтеров - ЕСТЬNULL(ИсчисленныеВзносы.ПФРНаДоплатуКПенсииШахтерамОборот, 0) КАК ПФРНаДоплатуКПенсииШахтерам |ПОМЕСТИТЬ ВТВзносыЗаМесяц |ИЗ | ВТСуммыВзносовНарастающимИтогом КАК СуммыНарастающимИтогом | ЛЕВОЕ СОЕДИНЕНИЕ ВТРанееИсчисленныеВзносы КАК ИсчисленныеВзносы | ПО СуммыНарастающимИтогом.ФизЛицо = ИсчисленныеВзносы.ФизЛицо | |ИНДЕКСИРОВАТЬ ПО | Порядок |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Взносы.ФизЛицо, | Взносы.ФСС, | Взносы.ФФОМС, | Взносы.ТФОМС, | Взносы.ПФРНакопительная, | Взносы.ПФРСтраховая, | Взносы.ПФРПоДополнительномуТарифу, | Взносы.ФССНесчастныеСлучаи, | Взносы.ПФРНаДоплатуКПенсииШахтерам |ИЗ | ВТВзносыЗаМесяц КАК Взносы |ГДЕ | (Взносы.ФСС <> 0 | ИЛИ Взносы.ФФОМС <> 0 | ИЛИ Взносы.ТФОМС <> 0 | ИЛИ Взносы.ПФРНакопительная <> 0 | ИЛИ Взносы.ПФРСтраховая <> 0 | ИЛИ Взносы.ПФРПоДополнительномуТарифу <> 0 | ИЛИ Взносы.ПФРНаДоплатуКПенсииШахтерам <> 0 | ИЛИ Взносы.ФССНесчастныеСлучаи <> 0) | |УПОРЯДОЧИТЬ ПО | Взносы.Порядок"; Запрос.Текст = СтрЗаменить(Запрос.Текст,"РегистрСведений.УчетнаяПолитикаНалоговыйУчет", ЗаполнениеРегламентированнойОтчетностиПереопределяемый.ИмяУчетнойПолитики()); Возврат Запрос.Выполнить().Выгрузить(); КонецФункции // ПолучитьДанныеРасчета |
||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10073399 | ||||
Дата публикации: | 16.02.2011 16:57:09 | ||||
Дата последнего изменения: | 16.02.2011 0:00:00 | ||||
Описание: | Если в текущем месяце зарегистрировано исправление больничного листа, то при расчете страховых взносов выдается сообщение об ошибке. | ||||
Способ исправления: | Заменить процедуры ОбработатьДанныеУчета2011() и ПолучитьДанныеУчета2011() о.м. РасчетСтраховыхВзносовДополнительный следующими фрагментами: Процедура ОбработатьДанныеУчета2011(ДокументОбъект, ВыборкаПоШапкеДокумента,РезультатДанныеУчета, Успешно, НаборЗаписей, ТаблицаОшибок) // признак основных начислений ЭтоОсновныеНачисления = (ТипЗнч(НаборЗаписей) = Тип("РегистрРасчетаНаборЗаписей.ЕСНОсновныеНачисления")); мДлинаСуток = 86400; // в секундах ПособияСоциальномуСтрахованию = ДокументОбъект.ПособияПоСоциальномуСтрахованию; ПособияПоУходуЗаРебенкомДоПолутораЛет = ДокументОбъект.ПособияПоУходуЗаРебенкомДоПолутораЛет; РаспределятьПоБазовымНачислениям = Справочники.ДоходыПоСтраховымВзносам.РаспределятьПоБазовымНачислениям; // структура поиска для позиционирования в ДанныеУчетаВспомогательные // при необходимости суммирования "базовых" ресурсов СтруктураПоиска = Новый Структура("Регистратор,НомерСтроки"); // структура поиска в таблице ошибок мТаблицаОшибок СтруктураПоискаОшибок = Новый Структура("Регистратор,НомерСтроки,КодОшибки"); // основная выборка - по ней ведем обход и вводим записи движений ДанныеУчета = РезультатДанныеУчета.Выбрать(); // вспомогательная выборка - по ней ведем суммирование базовых результатов ДанныеУчетаВспомогательные = РезультатДанныеУчета.Выбрать(); ПродолжатьОбработку = ДанныеУчета.Следующий(); Пока ПродолжатьОбработку Цикл СтрокаДанных = СоздатьСтрокуДвижений(ВыборкаПоШапкеДокумента, ДанныеУчета, НаборЗаписей, ЭтоОсновныеНачисления); Если ДанныеУчета.Сторно Тогда // необходимо обойти все данные относящиеся к одной строке основного регистра и // выполнить распределение, нормируя на долю ЕстьДанныеУчетаСторно = Истина; // текущий ключ поиска ТекущийРегистратор = ДанныеУчета.Регистратор; ТекущийНомерСтроки = ДанныеУчета.НомерСтроки; // позиционируемся во вспомогательной выборке по запросу для суммирования "базовых" данных СтруктураПоиска.Регистратор = ТекущийРегистратор; СтруктураПоиска.НомерСтроки = ТекущийНомерСтроки; Если ДанныеУчетаВспомогательные.Регистратор <> ТекущийРегистратор ИЛИ ДанныеУчетаВспомогательные.НомерСтроки <> ТекущийНомерСтроки Тогда // ищем следующую строку во спомогательной выборке если она не является искомой ДанныеУчетаВспомогательные.НайтиСледующий(СтруктураПоиска); КонецЕсли; СуммаПоСтроке = 0; // суммируем базовые ресурсы по текущей строке набора записей Пока ДанныеУчетаВспомогательные.Регистратор = ТекущийРегистратор И ДанныеУчетаВспомогательные.НомерСтроки = ТекущийНомерСтроки Цикл Если ДанныеУчетаВспомогательные.РезультатСторно = NULL Тогда //нет данных отражения в учете сторно-записи Успешно = Ложь; ЕстьДанныеУчетаСторно = Ложь; ЗарегистрироватьОшибкуОбработкиДанныхУчета(ТаблицаОшибок, ДанныеУчетаВспомогательные, ЭтоОсновныеНачисления, СтруктураПоискаОшибок, 1); Иначе СуммаПоСтроке = СуммаПоСтроке + ДанныеУчетаВспомогательные.РезультатСторно; КонецЕсли; Если Не ДанныеУчетаВспомогательные.Следующий() Тогда Прервать; КонецЕсли; КонецЦикла; // суммарная доля, которую уже "разбросали" на строки с одинаковым регистратором и номером строки СуммарнаяДоля = 0; СуммарнаяДоляДоп = 0; // полный результат ПолныйРезультат = ДанныеУчета.Результат; ПолныйРезультатДоп = ДанныеУчета.ДополнительныйРезультат; // обходим строки и вычисляем долю результата по базовым записям ПерваяИзГруппыСтрок = Истина; Пока ДанныеУчета.Регистратор = ТекущийРегистратор И ДанныеУчета.НомерСтроки = ТекущийНомерСтроки Цикл // если это не первая из группы "базовых" строк по одной строке основного регистра // то создаем очередную строку движений Если Не ПерваяИзГруппыСтрок Тогда СтрокаДанных = СоздатьСтрокуДвижений(ВыборкаПоШапкеДокумента, ДанныеУчета, НаборЗаписей, ЭтоОсновныеНачисления); Иначе ПерваяИзГруппыСтрок = Ложь; КонецЕсли; Если СуммаПоСтроке = 0 Тогда Доля = 0; ДоляДоп = 0; Иначе Если ДанныеУчета.РезультатСторно = NULL Тогда Доля = 0; ДоляДоп = 0; Иначе Доля = Окр(ПолныйРезультат * ДанныеУчета.РезультатСторно / СуммаПоСтроке,2); ДоляДоп = Окр(ПолныйРезультатДоп * ДанныеУчета.РезультатСторно / СуммаПоСтроке,2); КонецЕсли; КонецЕсли; СтрокаДанных.Результат = ?(ПолныйРезультат > 0,Мин(Доля,ПолныйРезультат - СуммарнаяДоля),Макс(Доля,ПолныйРезультат - СуммарнаяДоля)); ДополнительныйРезультат = ?(ПолныйРезультатДоп > 0,Мин(ДоляДоп, ПолныйРезультатДоп - СуммарнаяДоляДоп),Макс(ДоляДоп,ПолныйРезультатДоп - СуммарнаяДоляДоп)); СуммарнаяДоля = СуммарнаяДоля + СтрокаДанных.Результат; СуммарнаяДоляДоп = СуммарнаяДоляДоп + ДополнительныйРезультат; Если ДанныеУчета.ЭтоПособияФСС Тогда Если ЕстьДанныеУчетаСторно Тогда СтрокаДанных.ПериодДействияНачало = ДанныеУчета.ПериодДействияНачалоСторно; СтрокаДанных.ПериодДействияКонец = ДанныеУчета.ПериодДействияКонецСторно; КонецЕсли; Если ДанныеУчета.ВидПособияСоциальногоСтрахования = Перечисления.ВидыПособийСоциальногоСтрахования.ПоУходуЗаРебенкомДоПолутораЛет Тогда СтрокаУчетаПособий = ДокументОбъект.ПособияПоУходуЗаРебенкомДоПолутораЛет.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,СтрокаДанных); ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,ДанныеУчета,"ВыплатаЗаСчетФедеральногоБюджета"); СтрокаУчетаПособий.ПособиеПоУходуЗаПервымРебенком = СтрокаДанных.Результат * ДанныеУчета.ДоляПособияНаПервогоРебенка; СтрокаУчетаПособий.ПособиеПоУходуЗаВторымРебенком = СтрокаДанных.Результат - СтрокаУчетаПособий.ПособиеПоУходуЗаПервымРебенком; СтрокаУчетаПособий.ПособиеПоУходуЗаПервымРебенкомСверхНорм = ДополнительныйРезультат * ДанныеУчета.ДоляПособияНаПервогоРебенка; СтрокаУчетаПособий.ПособиеПоУходуЗаВторымРебенкомСверхНорм = ДополнительныйРезультат - СтрокаУчетаПособий.ПособиеПоУходуЗаПервымРебенкомСверхНорм; ИначеЕсли ЗначениеЗаполнено(ДанныеУчета.ВидПособияСоциальногоСтрахования) Тогда СтрокаУчетаПособий = ПособияСоциальномуСтрахованию.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,ДанныеУчета); СтрокаУчетаПособий.ПериодДействияНачало = СтрокаДанных.ПериодДействияНачало; СтрокаУчетаПособий.ПериодДействияКонец = СтрокаДанных.ПериодДействияКонец; СтрокаУчетаПособий.СуммаВсего = СтрокаДанных.Результат; СтрокаУчетаПособий.СуммаСверхНорм = ДополнительныйРезультат; СтрокаУчетаПособий.ДатаСтраховогоСлучая = ДанныеУчета.ДатаНачалаСобытия; Если ЕстьДанныеУчетаСторно Тогда Если ДанныеУчета.КодДоходаЕСН = Справочники.ДоходыПоСтраховымВзносам.НеОблагаетсяЦеликом Тогда СтрокаУчетаПособий.СпособФинансированияПособий = Перечисления.СпособыФинансированияПособийСоцстрахования.ЗаСчетРаботодателя; Иначе СтрокаУчетаПособий.СпособФинансированияПособий = Перечисления.СпособыФинансированияПособийСоцстрахования.ЗаСчетФСС; КонецЕсли; СтрокаУчетаПособий.ОплаченныеДни = -1 * ДанныеУчета.ВсегоДнейНетрудоспособностиСторно; Если ДанныеУчета.ВариантОбработкиЗаписиПриОтраженииВРеглУчете = Перечисления.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйОбщееЗаболевание и ДанныеУчета.КодДоходаЕСН = Справочники.ДоходыПоСтраховымВзносам.НеОблагаетсяЦеликом Тогда СтрокаУчетаПособий.СуммаСверхНорм = 0; СтрокаУчетаПособий.ВыплатаЗаСчетФедеральногоБюджета = Перечисления.ВыплатыПособийЗаСчетФедеральногоБюджета.ПустаяСсылка(); КонецЕсли; КонецЕсли; КонецЕсли; ИначеЕсли ДанныеУчета.ЭтоЕдиновременноеПособиеФСС Тогда СтрокаУчетаПособий = ПособияСоциальномуСтрахованию.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,ДанныеУчета); СтрокаУчетаПособий.СпособФинансированияПособий = Перечисления.СпособыФинансированияПособийСоцстрахования.ЗаСчетФСС; СтрокаУчетаПособий.СуммаВсего = СтрокаДанных.Результат; СтрокаУчетаПособий.ДатаСтраховогоСлучая = ДанныеУчета.ДатаНачалаСобытия; КонецЕсли; Если Не ДанныеУчета.Следующий() Тогда ПродолжатьОбработку = Ложь; Прервать; КонецЕсли; КонецЦикла; // ошибки округления складываются на последнюю запись из группы базовых записей СтрокаДанных.Результат = СтрокаДанных.Результат + ПолныйРезультат - СуммарнаяДоля; ИначеЕсли ДанныеУчета.ЭтоЕдиновременноеПособиеФСС Тогда СтрокаУчетаПособий = ПособияСоциальномуСтрахованию.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,ДанныеУчета); СтрокаУчетаПособий.СпособФинансированияПособий = Перечисления.СпособыФинансированияПособийСоцстрахования.ЗаСчетФСС; СтрокаУчетаПособий.СуммаВсего = СтрокаДанных.Результат; СтрокаУчетаПособий.ДатаСтраховогоСлучая = ДанныеУчета.ДатаНачалаСобытия; Если Не ЗначениеЗаполнено(ДанныеУчета.КодДоходаЕСН) Тогда // у вида расчета не заполнен реквизит КодДоходаЕСН Успешно = Ложь; ЗарегистрироватьОшибкуОбработкиДанныхУчета(ТаблицаОшибок, ДанныеУчета, ЭтоОсновныеНачисления, СтруктураПоискаОшибок, 6); КонецЕсли; Если Не ДанныеУчета.Следующий() Тогда ПродолжатьОбработку = Ложь; КонецЕсли; ИначеЕсли ДанныеУчета.ЭтоПособияФСС Тогда // текущий ключ поиска ТекущийРегистратор = ДанныеУчета.Регистратор; ТекущийНомерСтроки = ДанныеУчета.НомерСтроки; Если ДанныеУчета.ВариантОбработкиЗаписиПриОтраженииВРеглУчете = Перечисления.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйТравмаНаПроизводстве Тогда СтрокаДанных.КодДоходаЕСН = Справочники.ДоходыПоСтраховымВзносам.НеОблагаетсяЦеликом; СтрокаУчетаПособий = ПособияСоциальномуСтрахованию.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,ДанныеУчета); СтрокаУчетаПособий.СпособФинансированияПособий = Перечисления.СпособыФинансированияПособийСоцстрахования.ЗаСчетФСС; СтрокаУчетаПособий.СуммаВсего = СтрокаДанных.Результат; СтрокаУчетаПособий.ОплаченныеДни = ?(ДанныеУчета.ВидПособияСоциальногоСтрахования = Перечисления.ВидыПособийСоциальногоСтрахования.ДополнительныйОтпускПослеНесчастныхСлучаев,ДанныеУчета.НормаДней,ДанныеУчета.ВсегоДнейНетрудоспособности); СтрокаУчетаПособий.ДатаСтраховогоСлучая = ДанныеУчета.ДатаНачалаСобытия; ИначеЕсли ДанныеУчета.ВидПособияСоциальногоСтрахования = Перечисления.ВидыПособийСоциальногоСтрахования.ПоУходуЗаРебенкомДоПолутораЛет Тогда СтрокаДанных.КодДоходаЕСН = Справочники.ДоходыПоСтраховымВзносам.ПособияЗаСчетФСС; СтрокаУчетаПособий = ПособияПоУходуЗаРебенкомДоПолутораЛет.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,СтрокаДанных); ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,ДанныеУчета,"ВыплатаЗаСчетФедеральногоБюджета"); СтрокаУчетаПособий.ПособиеПоУходуЗаПервымРебенком = СтрокаДанных.Результат * ДанныеУчета.ДоляПособияНаПервогоРебенка; СтрокаУчетаПособий.ПособиеПоУходуЗаВторымРебенком = СтрокаДанных.Результат - СтрокаУчетаПособий.ПособиеПоУходуЗаПервымРебенком; СтрокаУчетаПособий.ПособиеПоУходуЗаПервымРебенкомСверхНорм = ДанныеУчета.ДополнительныйРезультат * ДанныеУчета.ДоляПособияНаПервогоРебенка; СтрокаУчетаПособий.ПособиеПоУходуЗаВторымРебенкомСверхНорм = ДанныеУчета.ДополнительныйРезультат - СтрокаУчетаПособий.ПособиеПоУходуЗаПервымРебенкомСверхНорм; Иначе СтрокаДанных.КодДоходаЕСН = Справочники.ДоходыПоСтраховымВзносам.ПособияЗаСчетФСС; СтрокаУчетаПособий = ПособияСоциальномуСтрахованию.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,ДанныеУчета); СтрокаУчетаПособий.СпособФинансированияПособий = Перечисления.СпособыФинансированияПособийСоцстрахования.ЗаСчетФСС; СтрокаУчетаПособий.СуммаВсего = СтрокаДанных.Результат; СтрокаУчетаПособий.СуммаСверхНорм = ДанныеУчета.ДополнительныйРезультат; СтрокаУчетаПособий.ОплаченныеДни = ДанныеУчета.ВсегоДнейНетрудоспособности; СтрокаУчетаПособий.ДатаСтраховогоСлучая = ДанныеУчета.ДатаНачалаСобытия; КонецЕсли; Пока ДанныеУчета.Регистратор = ТекущийРегистратор И ДанныеУчета.НомерСтроки = ТекущийНомерСтроки Цикл Если Не ДанныеУчета.Следующий() Тогда ПродолжатьОбработку = Ложь; Прервать; КонецЕсли; КонецЦикла; ИначеЕсли ДанныеУчета.ВариантОбработкиЗаписиПриОтраженииВРеглУчете = Перечисления.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйЗаСчетРаботодателя Тогда ТекущийРегистратор = ДанныеУчета.Регистратор; ТекущийНомерСтроки = ДанныеУчета.НомерСтроки; СтрокаУчетаПособий = ПособияСоциальномуСтрахованию.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,ДанныеУчета); СтрокаУчетаПособий.СпособФинансированияПособий = Перечисления.СпособыФинансированияПособийСоцстрахования.ЗаСчетРаботодателя; СтрокаУчетаПособий.СуммаВсего = ДанныеУчета.Результат; СтрокаУчетаПособий.СуммаСверхНорм = 0; СтрокаУчетаПособий.ВыплатаЗаСчетФедеральногоБюджета = Перечисления.ВыплатыПособийЗаСчетФедеральногоБюджета.ПустаяСсылка(); СтрокаУчетаПособий.ВидПособияСоциальногоСтрахования = Перечисления.ВидыПособийСоциальногоСтрахования.Нетрудоспособность; СтрокаУчетаПособий.ОплаченныеДни = ДанныеУчета.ВсегоДнейНетрудоспособности; СтрокаУчетаПособий.ДатаСтраховогоСлучая = ДанныеУчета.ДатаНачалаСобытия; Пока ДанныеУчета.Регистратор = ТекущийРегистратор И ДанныеУчета.НомерСтроки = ТекущийНомерСтроки Цикл Если Не ДанныеУчета.Следующий() Тогда ПродолжатьОбработку = Ложь; Прервать; КонецЕсли; КонецЦикла; ИначеЕсли ДанныеУчета.КодДоходаЕСН = РаспределятьПоБазовымНачислениям ИЛИ ДанныеУчета.СтратегияОтраженияВУчете = Перечисления.СтратегииОтраженияВРеглУчетеНачислений.КакБазовыеНачисления Тогда // тут обрабатываем начисления, которые необходимо отразить в учете как базовые начисления // вычисляем результат нормируя его на базу для строк базы относящихся // к одной строке основного регистра // текущий ключ поиска ТекущийРегистратор = ДанныеУчета.Регистратор; ТекущийНомерСтроки = ДанныеУчета.НомерСтроки; // позиционируемся во вспомогательной выборке по запросу для суммирования "базовых" данных СтруктураПоиска.Регистратор = ТекущийРегистратор; СтруктураПоиска.НомерСтроки = ТекущийНомерСтроки; Если ДанныеУчетаВспомогательные.Регистратор <> ТекущийРегистратор ИЛИ ДанныеУчетаВспомогательные.НомерСтроки <> ТекущийНомерСтроки Тогда // ищем следующую строку во спомогательной выборке если она не является искомой ДанныеУчетаВспомогательные.НайтиСледующий(СтруктураПоиска); КонецЕсли; СуммаПоСтроке = 0; // по этим переменным будем уточнять расшифровку ошибки НуженКодЕСН = Ложь; НеЗаданКодЕСН = Ложь; // суммируем базовые ресурсы по текущей строке набора записей Пока ДанныеУчетаВспомогательные.Регистратор = ТекущийРегистратор И ДанныеУчетаВспомогательные.НомерСтроки = ТекущийНомерСтроки Цикл Если ДанныеУчетаВспомогательные.РезультатБаза = NULL Тогда // ошибки нет в том случае, когда код ЕСН задан явно // собственно проверку и регистрацию ошибки произведем позже Иначе СуммаПоСтроке = СуммаПоСтроке + ДанныеУчетаВспомогательные.РезультатБаза; КонецЕсли; Если ДанныеУчетаВспомогательные.КодДоходаЕСН = РаспределятьПоБазовымНачислениям и ДанныеУчетаВспомогательные.КодДоходаЕСНРазрез = NULL Тогда НуженКодЕСН = Истина; ИначеЕсли Не ЗначениеЗаполнено(ДанныеУчетаВспомогательные.КодДоходаЕСН) Тогда // у в.р. не задан код ЕСН НеЗаданКодЕСН = Истина; КонецЕсли; Если Не ДанныеУчетаВспомогательные.Следующий() Тогда Прервать; КонецЕсли; КонецЦикла; Если НуженКодЕСН или НеЗаданКодЕСН Тогда //есть ошибка, определим код ошибки и зарегистрируем ее КодОшибки = ?(НуженКодЕСН, 4, ?(НеЗаданКодЕСН,6,0)); Успешно = Ложь; ЗарегистрироватьОшибкуОбработкиДанныхУчета(ТаблицаОшибок, ДанныеУчета, ЭтоОсновныеНачисления, СтруктураПоискаОшибок, КодОшибки); КонецЕсли; // суммарная доля, которую уже "разбросали" на строки с одинаковым регистратором и номером строки СуммарнаяДоля = 0; // полный результат ПолныйРезультат = ДанныеУчета.Результат; // обходим строки и вычисляем долю результата по базовым записям ПерваяИзГруппыСтрок = Истина; Пока ДанныеУчета.Регистратор = ТекущийРегистратор И ДанныеУчета.НомерСтроки = ТекущийНомерСтроки Цикл // если это не первая из группы "базовых" строк по одной строке основного регистра // то создаем очередную строку движений Если Не ПерваяИзГруппыСтрок Тогда СтрокаДанных = СоздатьСтрокуДвижений(ВыборкаПоШапкеДокумента, ДанныеУчета, НаборЗаписей, ЭтоОсновныеНачисления); Иначе ПерваяИзГруппыСтрок = Ложь; КонецЕсли; Если СуммаПоСтроке = 0 Тогда Доля = 0; Иначе Если ДанныеУчета.РезультатБаза = NULL Тогда Доля = 0; Иначе Доля = Окр(ПолныйРезультат * ДанныеУчета.РезультатБаза / СуммаПоСтроке,2); КонецЕсли; КонецЕсли; // вид дохода заполним данными базы Если ДанныеУчета.КодДоходаЕСН = РаспределятьПоБазовымНачислениям и ДанныеУчета.КодДоходаЕСНРазрез = NULL Тогда НуженКодЕСН = Истина; // делаем пустым код дохода ЕСН СтрокаДанных.КодДоходаЕСН = Справочники.ДоходыПоСтраховымВзносам.ПустаяСсылка(); ИначеЕсли Не ЗначениеЗаполнено(ДанныеУчета.КодДоходаЕСН) Тогда // у в.р. не задан код ЕСН НеЗаданКодЕСН = Истина; Иначе СтрокаДанных.КодДоходаЕСН = ?(ДанныеУчета.КодДоходаЕСН = РаспределятьПоБазовымНачислениям, ДанныеУчета.КодДоходаЕСНРазрез, ДанныеУчета.КодДоходаЕСН); КонецЕсли; СтрокаДанных.Результат = Доля; СуммарнаяДоля = СуммарнаяДоля + Доля; Если Не ДанныеУчета.Следующий() Тогда ПродолжатьОбработку = Ложь; Прервать; КонецЕсли; КонецЦикла; // ошибки округления скаладываются на последнюю запись из группы базовых записей СтрокаДанных.Результат = СтрокаДанных.Результат + (ПолныйРезультат - СуммарнаяДоля); Иначе Если Не ЗначениеЗаполнено(ДанныеУчета.КодДоходаЕСН) Тогда // у вида расчета не заполнен реквизит КодДоходаЕСН Успешно = Ложь; ЗарегистрироватьОшибкуОбработкиДанныхУчета(ТаблицаОшибок, ДанныеУчета, ЭтоОсновныеНачисления, СтруктураПоискаОшибок, 6); КонецЕсли; Если Не ДанныеУчета.Следующий() Тогда ПродолжатьОбработку = Ложь; КонецЕсли; КонецЕсли; КонецЦикла; // при записи не затираем уже введенные движения НаборЗаписей.Записать(Ложь);// выполняем дозапись (набор записей чистится автоматически) КонецПроцедуры //ОбработатьДанныеУчета2011 // получение первичных данных для расчета ЕСН // первичные в данном случае, это те, для которых учет ЕСН <> РаспределятьПоБазовымНачислениям, // или те которые определяют свой ЕСН-учет по базовым начисленияи и при этом базируются на прошлом периоде, // или те у которых категория начисления = "Первичное" // // Параметры: // Основные - булево, если Истина, то получаем данные по основным начислениям иначе - по доп. // // Возвращаемое значение: // Результат запроса // Функция ПолучитьДанныеУчета2011(ВыборкаПоШапкеДокумента, СписокНачислений, ОрганичениеНаСотрудников, ЭтоОсновныеНачисления, ЭтоПервичныеНачисления) Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.УстановитьПараметр("парамНеОтбиратьСотрудников", ОрганичениеНаСотрудников = Неопределено); Измерения = Новый Массив(1); Измерения[0] = "Сотрудник"; Разрезы = Новый Массив(1); Разрезы[0] = "КодДоходаЕСН"; Запрос.УстановитьПараметр("парамИзмерения", Измерения); Запрос.УстановитьПараметр("парамРазрезыЕСН", Разрезы); Запрос.УстановитьПараметр("парамСписокНачислений", СписокНачислений); Запрос.УстановитьПараметр("парамПериодРегистрации", ВыборкаПоШапкеДокумента.ПериодРегистрации); Запрос.УстановитьПараметр("парамОрганизация", ВыборкаПоШапкеДокумента.ОбособленноеПодразделение); Запрос.УстановитьПараметр("парамГоловнаяОрганизация", ВыборкаПоШапкеДокумента.Организация); // для учета особенностей расчета среднего заработка ОсновнойЗаработок = Новый Массив(5); ОсновнойЗаработок[0] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработку; ОсновнойЗаработок[1] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуБЛ; ОсновнойЗаработок[2] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуПособий; ОсновнойЗаработок[3] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые; ОсновнойЗаработок[4] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуПособийС2010; ПоФиксПремиям = Новый Массив(3); ПоФиксПремиям[0] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиям; ПоФиксПремиям[1] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямБЛ; ПоФиксПремиям[2] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямПособий; ПоПремиям = Новый Массив(6); ПоПремиям[0] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиям; ПоПремиям[1] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиямБЛ; ПоПремиям[2] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиямПособий; ПоПремиям[3] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиямИндексируемые; ПоПремиям[4] = ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремииИндексируемые; ПоПремиям[5] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиямПособийС2010; ФиксГодовыеПремии = Новый Массив(5); ФиксГодовыеПремии[0] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремии; ФиксГодовыеПремии[1] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремииБЛ; ФиксГодовыеПремии[2] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремииПособий; ФиксГодовыеПремии[3] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямНеИндексируемые; ФиксГодовыеПремии[4] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремииНеИндексируемые; Запрос.УстановитьПараметр("парамОсновнойЗаработок", ОсновнойЗаработок); Запрос.УстановитьПараметр("парамОсновнойЗаработокНеиндексируемый", ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуНеИндексируемые); Запрос.УстановитьПараметр("парамПоПремиям", ПоПремиям); Запрос.УстановитьПараметр("парамПоФиксПремиям", ПоФиксПремиям); Запрос.УстановитьПараметр("парамПоФиксПремиямНеИндексируемые", ФиксГодовыеПремии); МассивПоСреднемуЗаработку = Новый Массив; МассивПоСреднемуЗаработку.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработку); МассивПоСреднемуЗаработку.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоКалендарнымДням); МассивПоСреднемуЗаработку.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоШестидневке); МассивПоСреднемуЗаработку.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуФСС); МассивПоСреднемуЗаработку.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ПособиеПоУходуЗаРебенкомДо1_5Лет); МассивПоСреднемуЗаработку.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ДоплатаДоСреднегоЗаработка); МассивПоСреднемуЗаработку.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ДоплатаДоСреднегоЗаработкаФСС); Запрос.УстановитьПараметр("парамПоСреднемуЗаработку", МассивПоСреднемуЗаработку); МассивАвторскихДоходов = Новый Массив; МассивАвторскихДоходов.Добавить(Справочники.ДоходыПоСтраховымВзносам.АвторскиеАудиовизуальныеПроизведения); МассивАвторскихДоходов.Добавить(Справочники.ДоходыПоСтраховымВзносам.АвторскиеГрафическиеПроизведения); МассивАвторскихДоходов.Добавить(Справочники.ДоходыПоСтраховымВзносам.АвторскиеДругиеМузыкальныеПроизведения); МассивАвторскихДоходов.Добавить(Справочники.ДоходыПоСтраховымВзносам.АвторскиеИсполнениеПроизведений); МассивАвторскихДоходов.Добавить(Справочники.ДоходыПоСтраховымВзносам.АвторскиеЛитературныеПроизведения); МассивАвторскихДоходов.Добавить(Справочники.ДоходыПоСтраховымВзносам.АвторскиеМузыкальноСценическиеПроизведение); МассивАвторскихДоходов.Добавить(Справочники.ДоходыПоСтраховымВзносам.АвторскиеНаучныеТруды); МассивАвторскихДоходов.Добавить(Справочники.ДоходыПоСтраховымВзносам.АвторскиеОткрытия); МассивАвторскихДоходов.Добавить(Справочники.ДоходыПоСтраховымВзносам.АвторскиеСкульптуры); Запрос.УстановитьПараметр("ДоходыАвторские", МассивАвторскихДоходов); // ФизлицаДляРасчета // Если ОрганичениеНаСотрудников = Неопределено Тогда Запрос.Текст = "ВЫБРАТЬ | НЕОПРЕДЕЛЕНО КАК Сотрудник |ПОМЕСТИТЬ ВТСписокСотрудников"; Запрос.Выполнить(); Иначе Запрос.Текст = "ВЫБРАТЬ | ТаблицаСотрудников.Сотрудник КАК Сотрудник |ПОМЕСТИТЬ ВТСписокСотрудников |ИЗ | &парамТаблицаСотрудников КАК ТаблицаСотрудников"; Запрос.УстановитьПараметр("парамТаблицаСотрудников", ОрганичениеНаСотрудников); Запрос.Выполнить(); КонецЕсли; ВписатьВЗапросСоответствиеКодовЕСНиСтраховыхВзносов(Запрос); Если ЭтоОсновныеНачисления Тогда Если Не ЭтоПервичныеНачисления Тогда //соберем базу для зависимых начислений БазаТекст = "ВЫБРАТЬ | База.Регистратор КАК Регистратор, | База.НомерСтроки КАК НомерСтроки, | База.КодДоходаЕСНРазрез, | СУММА(База.РезультатБаза) КАК РезультатБаза |ПОМЕСТИТЬ База |ИЗ | (ВЫБРАТЬ | ОсновныеНачисленияБазаЕСНОсновныеНачисления.Регистратор КАК Регистратор, | ОсновныеНачисленияБазаЕСНОсновныеНачисления.НомерСтроки КАК НомерСтроки, | ОсновныеНачисленияБазаЕСНОсновныеНачисления.КодДоходаЕСНРазрез КАК КодДоходаЕСНРазрез, | ОсновныеНачисленияБазаЕСНОсновныеНачисления.РезультатБаза КАК РезультатБаза | ИЗ | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.БазаЕСНОсновныеНачисления( | &парамИзмерения, | &парамИзмерения, | &парамРазрезыЕСН, | Организация = &парамГоловнаяОрганизация | И ПериодРегистрации = &парамПериодРегистрации | И (НЕ ВидРасчета.СпособРасчета В (&парамПоСреднемуЗаработку)) | И (&парамНеОтбиратьСотрудников | ИЛИ Сотрудник В | (ВЫБРАТЬ | ВТСписокСотрудников.Сотрудник | ИЗ | ВТСписокСотрудников КАК ВТСписокСотрудников)) | И (НЕ Сторно) | И ВариантОбработкиЗаписиПриОтраженииВРеглУчете = ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.ПустаяСсылка) | И ВидРасчета.КодДоходаСтраховыеВзносы = ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.РаспределятьПоБазовымНачислениям) | И Результат <> 0 | И ВидРасчета В (&парамСписокНачислений)) КАК ОсновныеНачисленияБазаЕСНОсновныеНачисления | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ОсновныеНачисленияБазаЕСНДополнительныеНачисления.Регистратор, | ОсновныеНачисленияБазаЕСНДополнительныеНачисления.НомерСтроки, | ОсновныеНачисленияБазаЕСНДополнительныеНачисления.КодДоходаЕСНРазрез, | ОсновныеНачисленияБазаЕСНДополнительныеНачисления.РезультатБаза | ИЗ | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.БазаЕСНДополнительныеНачисления( | &парамИзмерения, | &парамИзмерения, | &парамРазрезыЕСН, | Организация = &парамГоловнаяОрганизация | И ПериодРегистрации = &парамПериодРегистрации | И (НЕ ВидРасчета.СпособРасчета В (&парамПоСреднемуЗаработку)) | И (&парамНеОтбиратьСотрудников | ИЛИ Сотрудник В | (ВЫБРАТЬ | ВТСписокСотрудников.Сотрудник | ИЗ | ВТСписокСотрудников КАК ВТСписокСотрудников)) | И (НЕ Сторно) | И ВидРасчета.КодДоходаСтраховыеВзносы = ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.РаспределятьПоБазовымНачислениям) | И ВидРасчета.СтратегияОтраженияВУчете = ЗНАЧЕНИЕ(Перечисление.СтратегииОтраженияВРеглУчетеНачислений.КакБазовыеНачисления) | И Результат <> 0 | И ВидРасчета В (&парамСписокНачислений)) КАК ОсновныеНачисленияБазаЕСНДополнительныеНачисления) КАК База | |СГРУППИРОВАТЬ ПО | База.Регистратор, | База.КодДоходаЕСНРазрез, | База.НомерСтроки | |ИНДЕКСИРОВАТЬ ПО | Регистратор, | НомерСтроки"; Иначе // для первичных начислений не собираем базу БазаТекст = "ВЫБРАТЬ | НЕОПРЕДЕЛЕНО КАК Регистратор, | НЕОПРЕДЕЛЕНО КАК НомерСтроки, | НЕОПРЕДЕЛЕНО КАК КодДоходаЕСНРазрез, | 0 КАК РезультатБаза |ПОМЕСТИТЬ База"; КонецЕсли; Запрос.Текст = БазаТекст; //временная таблица - База Запрос.Выполнить(); /////////////////////////////////////////////////////////////////////////////////// // ПОЛУЧЕНИЕ БАЗЫ СРЕДНЕГО ЗАРАБОТКА для прочих начислений ПолучатьБазу = Ложь; // ВТ_ПрочиеНачисления // Запрос.Текст = "ВЫБРАТЬ | ОсновныеНачисления.Сотрудник, | ОсновныеНачисления.Регистратор, | ОсновныеНачисления.НомерСтроки, | ОсновныеНачисления.ДатаНачалаСобытия, | ОсновныеНачисления.ПериодРасчетаСреднегоЗаработкаНачало, | ОсновныеНачисления.ПериодРасчетаСреднегоЗаработкаОкончание, | ВЫБОР | КОГДА ОсновныеНачисления.ВидРасчета.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ДоплатаДоСреднегоЗаработкаФСС) | ТОГДА ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуФСС) | ИНАЧЕ ОсновныеНачисления.ВидРасчета.СпособРасчета | КОНЕЦ КАК СпособРасчета |ПОМЕСТИТЬ ВТ_ПрочиеНачисления |ИЗ | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления |ГДЕ | ОсновныеНачисления.ВидРасчета.СпособРасчета В(&парамПоСреднемуЗаработку) | И (&парамНеОтбиратьСотрудников | ИЛИ ОсновныеНачисления.Сотрудник В | (ВЫБРАТЬ | ВТСписокСотрудников.Сотрудник | ИЗ | ВТСписокСотрудников КАК ВТСписокСотрудников)) | И (НЕ ОсновныеНачисления.Сторно) | И ОсновныеНачисления.ОбособленноеПодразделение = &парамОрганизация | И ОсновныеНачисления.ПериодРегистрации = &парамПериодРегистрации | И ОсновныеНачисления.ВариантОбработкиЗаписиПриОтраженииВРеглУчете = ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.ПустаяСсылка) | И ОсновныеНачисления.ВидРасчета.СтратегияОтраженияВУчете = ЗНАЧЕНИЕ(Перечисление.СтратегииОтраженияВРеглУчетеНачислений.КакБазовыеНачисления) | И ОсновныеНачисления.Результат <> 0 | И ОсновныеНачисления.ВидРасчета В(&парамСписокНачислений)"; Запрос.Выполнить(); // ВТ_СотрудникиПериодыПрочиеНачисления // условия для виртуальной таблицы Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ОсновныеНачисления.Сотрудник КАК Сотрудник, | ОсновныеНачисления.ДатаНачалаСобытия КАК ДатаНачалаСобытия |ПОМЕСТИТЬ ВТ_СотрудникиПериодыПрочиеНачисления |ИЗ | ВТ_ПрочиеНачисления КАК ОсновныеНачисления | |ИНДЕКСИРОВАТЬ ПО | Сотрудник, | ДатаНачалаСобытия"; Результат = Запрос.Выполнить().Выгрузить(); ПолучатьБазу = Результат[0].Количество > 0; Если ПолучатьБазу Тогда БазаСреднегоЗаработкаПрочиеНачисленияТекст = "ВЫБРАТЬ | БазаСреднегоЗаработка.Регистратор КАК Регистратор, | БазаСреднегоЗаработка.НомерСтроки КАК НомерСтроки, | БазаСреднегоЗаработка.КодДоходаЕСНРазрез, | СУММА(БазаСреднегоЗаработка.РезультатБаза) КАК РезультатБаза |ПОМЕСТИТЬ ВТ_БазаСреднегоЗаработка |ИЗ | (ВЫБРАТЬ | ОсновныеНачисления.Регистратор КАК Регистратор, | ОсновныеНачисления.НомерСтроки КАК НомерСтроки, | ВЫБОР | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамОсновнойЗаработок) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамОсновнойЗаработокНеиндексируемый) | ТОГДА БазаСреднегоЗаработка.РезультатБаза | КОГДА БазаСреднегоЗаработка.ЧислоМесяцев = 0 | ТОГДА 0 | ИНАЧЕ ВЫБОР | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоПремиям) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоФиксПремиям) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ * ВЫБОР | КОГДА БазаСреднегоЗаработка.НормаПоПятидневке = 0 | ТОГДА 0 | ИНАЧЕ БазаСреднегоЗаработка.ОтработаноПоПятидневке / БазаСреднегоЗаработка.НормаПоПятидневке | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоФиксПремиямНеИндексируемые) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.НормаПоПятидневке = 0 | ТОГДА 0 | ИНАЧЕ БазаСреднегоЗаработка.ОтработаноПоПятидневке / БазаСреднегоЗаработка.НормаПоПятидневке | КОНЕЦ | ИНАЧЕ БазаСреднегоЗаработка.РезультатБаза | КОНЕЦ * ВЫБОР | КОГДА БазаСреднегоЗаработка.ЧислоМесяцев > БазаСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка | ТОГДА БазаСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка / БазаСреднегоЗаработка.ЧислоМесяцев | ИНАЧЕ 1 | КОНЕЦ | КОНЕЦ КАК РезультатБаза, | БазаСреднегоЗаработка.КодДоходаЕСНРазрез КАК КодДоходаЕСНРазрез | ИЗ | ВТ_ПрочиеНачисления КАК ОсновныеНачисления | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.РасчетСреднегоЗаработка.БазаЕСНОсновныеНачисления( | &парамИзмерения, | &парамИзмерения, | &парамРазрезыЕСН, | Организация = &парамГоловнаяОрганизация | И Результат <> 0 | И ПериодРегистрации = &парамПериодРегистрации | И (Сотрудник, ДатаНачалаСобытия) В | (ВЫБРАТЬ | Список.Сотрудник, | Список.ДатаНачалаСобытия | ИЗ | ВТ_СотрудникиПериодыПрочиеНачисления КАК Список)) КАК БазаСреднегоЗаработка | ПО ОсновныеНачисления.СпособРасчета = БазаСреднегоЗаработка.СпособРасчета | И ОсновныеНачисления.ДатаНачалаСобытия = БазаСреднегоЗаработка.ДатаНачалаСобытия | И ОсновныеНачисления.ПериодРасчетаСреднегоЗаработкаНачало = БазаСреднегоЗаработка.ДатаНачалаРасчетногоПериода | И ОсновныеНачисления.ПериодРасчетаСреднегоЗаработкаОкончание = БазаСреднегоЗаработка.ДатаОкончанияРасчетногоПериода | И ОсновныеНачисления.Сотрудник = БазаСреднегоЗаработка.Сотрудник | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ОсновныеНачисления.Регистратор, | ОсновныеНачисления.НомерСтроки, | ВЫБОР | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамОсновнойЗаработок) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамОсновнойЗаработокНеиндексируемый) | ТОГДА БазаСреднегоЗаработка.РезультатБаза | КОГДА БазаСреднегоЗаработка.ЧислоМесяцев = 0 | ТОГДА 0 | ИНАЧЕ ВЫБОР | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоПремиям) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоФиксПремиям) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ * ВЫБОР | КОГДА БазаСреднегоЗаработка.НормаПоПятидневке = 0 | ТОГДА 0 | ИНАЧЕ БазаСреднегоЗаработка.ОтработаноПоПятидневке / БазаСреднегоЗаработка.НормаПоПятидневке | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоФиксПремиямНеИндексируемые) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.НормаПоПятидневке = 0 | ТОГДА 0 | ИНАЧЕ БазаСреднегоЗаработка.ОтработаноПоПятидневке / БазаСреднегоЗаработка.НормаПоПятидневке | КОНЕЦ | ИНАЧЕ БазаСреднегоЗаработка.РезультатБаза | КОНЕЦ * ВЫБОР | КОГДА БазаСреднегоЗаработка.ЧислоМесяцев > БазаСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка | ТОГДА БазаСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка / БазаСреднегоЗаработка.ЧислоМесяцев | ИНАЧЕ 1 | КОНЕЦ | КОНЕЦ, | БазаСреднегоЗаработка.КодДоходаЕСНРазрез | ИЗ | ВТ_ПрочиеНачисления КАК ОсновныеНачисления | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.РасчетСреднегоЗаработка.БазаЕСНДополнительныеНачисления( | &парамИзмерения, | &парамИзмерения, | &парамРазрезыЕСН, | Организация = &парамГоловнаяОрганизация | И Результат <> 0 | И ПериодРегистрации = &парамПериодРегистрации | И (Сотрудник, ДатаНачалаСобытия) В | (ВЫБРАТЬ | Список.Сотрудник, | Список.ДатаНачалаСобытия | ИЗ | ВТ_СотрудникиПериодыПрочиеНачисления КАК Список)) КАК БазаСреднегоЗаработка | ПО ОсновныеНачисления.СпособРасчета = БазаСреднегоЗаработка.СпособРасчета | И ОсновныеНачисления.ДатаНачалаСобытия = БазаСреднегоЗаработка.ДатаНачалаСобытия | И ОсновныеНачисления.ПериодРасчетаСреднегоЗаработкаНачало = БазаСреднегоЗаработка.ДатаНачалаРасчетногоПериода | И ОсновныеНачисления.ПериодРасчетаСреднегоЗаработкаОкончание = БазаСреднегоЗаработка.ДатаОкончанияРасчетногоПериода | И ОсновныеНачисления.Сотрудник = БазаСреднегоЗаработка.Сотрудник) КАК БазаСреднегоЗаработка | |СГРУППИРОВАТЬ ПО | БазаСреднегоЗаработка.Регистратор, | БазаСреднегоЗаработка.НомерСтроки, | БазаСреднегоЗаработка.КодДоходаЕСНРазрез | |ИНДЕКСИРОВАТЬ ПО | Регистратор, | НомерСтроки"; Иначе БазаСреднегоЗаработкаПрочиеНачисленияТекст = "ВЫБРАТЬ | НЕОПРЕДЕЛЕНО КАК Регистратор, | 0 КАК НомерСтроки, | НЕОПРЕДЕЛЕНО КАК КодДоходаЕСНРазрез, | 0 КАК РезультатБаза |ПОМЕСТИТЬ ВТ_БазаСреднегоЗаработка"; КонецЕсли; Запрос.Текст = БазаСреднегоЗаработкаПрочиеНачисленияТекст; //временная таблица - ВТ_БазаСреднегоЗаработка Запрос.Выполнить(); // Закончили получение базы среднего заработка для прочих начислений /////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////// //получим отражение в учете сторно записей //временная таблица - ВТ_ОтражениеВУчетеСторно Запрос.Текст = ПолучитьТекстЗапросаОтражениеСторноЗаписей(); Запрос.Выполнить(); //получили отражение в учете сторно записей /////////////////////////////////////////////////////////////////////////////////// ТекстЗапроса = "ВЫБРАТЬ | ОсновныеНачисления.Регистратор КАК Регистратор, | ОсновныеНачисления.НомерСтроки КАК НомерСтроки, | ОсновныеНачисления.Сотрудник КАК Сотрудник, | ОсновныеНачисления.ФизЛицо КАК ФизЛицо, | ВЫБОР | КОГДА ОсновныеНачисления.Сторно | ТОГДА ОтражениеВУчетеСторно.КодДоходаЕСН | ИНАЧЕ ОсновныеНачисления.ВидРасчета.КодДоходаСтраховыеВзносы | КОНЕЦ КАК КодДоходаЕСН, | ОтражениеВУчетеСторно.Результат КАК РезультатСторно, | ОтражениеВУчетеСторно.ПериодДействияНачало КАК ПериодДействияНачалоСторно, | ОтражениеВУчетеСторно.ПериодДействияКонец КАК ПериодДействияКонецСторно, | ОсновныеНачисления.ВидРасчета КАК ВидРасчета, | ОсновныеНачисления.Организация КАК Организация, | ОсновныеНачисления.Результат КАК Результат, | ОсновныеНачисления.ДополнительныйРезультат, | ОсновныеНачисления.ПериодДействия КАК ПериодДействия, | ОсновныеНачисления.ПериодДействияНачало КАК ПериодДействияНачало, | ОсновныеНачисления.ПериодДействияКонец КАК ПериодДействияКонец, | ОсновныеНачисления.ГрафикРаботы КАК ГрафикРаботы, | ОсновныеНачисления.ВидУчетаВремени КАК ВидУчетаВремени, | ОсновныеНачисления.Сторно КАК Сторно, | ВЫБОР | КОГДА ОсновныеНачисления.ВариантОбработкиЗаписиПриОтраженииВРеглУчете В (ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйТравмаНаПроизводстве), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйТравмаНаПроизводствеНовыйСтраховойСлучай)) | ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйТравмаНаПроизводстве) | КОГДА ОсновныеНачисления.ВариантОбработкиЗаписиПриОтраженииВРеглУчете В (ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.ОтпускПоБеременностиИРодамПоУходуЗаРебенком), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.ОтпускПоБеременностиИРодамПоУходуЗаРебенкомНовыйСтраховойСлучай)) | ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.ОтпускПоБеременностиИРодамПоУходуЗаРебенком) | КОГДА ОсновныеНачисления.ВариантОбработкиЗаписиПриОтраженииВРеглУчете В (ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйОбщееЗаболевание), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйОбщееЗаболеваниеНовыйСтраховойСлучай)) | ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйОбщееЗаболевание) | КОГДА ОсновныеНачисления.ВариантОбработкиЗаписиПриОтраженииВРеглУчете В (ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйПрочий), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйПрочийНовыйСтраховойСлучай)) | ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйПрочий) | КОГДА ОсновныеНачисления.ВариантОбработкиЗаписиПриОтраженииВРеглУчете В (ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйЗаСчетРаботодателя), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйЗаСчетРаботодателяНовыйСтраховойСлучай)) | ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйЗаСчетРаботодателя) | ИНАЧЕ ОсновныеНачисления.ВариантОбработкиЗаписиПриОтраженииВРеглУчете | КОНЕЦ КАК ВариантОбработкиЗаписиПриОтраженииВРеглУчете, | ОсновныеНачисления.ВидРасчета.СтратегияОтраженияВУчете КАК СтратегияОтраженияВУчете, | ОсновныеНачисления.ВидРасчета.ВидПособияСоциальногоСтрахования КАК ВидПособияСоциальногоСтрахования, | ОсновныеНачисления.Показатель1 КАК СреднийДневнойЗаработок, | ОсновныеНачисления.НормаДней КАК НормаДней, | ВЫБОР | КОГДА ОсновныеНачисления.ВариантОбработкиЗаписиПриОтраженииВРеглУчете В (ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйТравмаНаПроизводствеНовыйСтраховойСлучай), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.ОтпускПоБеременностиИРодамПоУходуЗаРебенкомНовыйСтраховойСлучай), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйОбщееЗаболеваниеНовыйСтраховойСлучай), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйПрочийНовыйСтраховойСлучай), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйЗаСчетРаботодателяНовыйСтраховойСлучай)) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК УчитыватьКакНовыйСтраховойСлучай, | ОсновныеНачисления.ДатаНачалаСобытия КАК ДатаНачалаСобытия, | ОсновныеНачисления.Сотрудник.Наименование КАК СотрудникНаименование |ПОМЕСТИТЬ ДанныеУчета |ИЗ | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ЕСНОсновныеНачисления КАК ЕСНОсновныеНачисления | ПО ОсновныеНачисления.Сотрудник = ЕСНОсновныеНачисления.Сотрудник | И (ЕСНОсновныеНачисления.ВидРасчета = ОсновныеНачисления.ВидРасчета) | И (ЕСНОсновныеНачисления.ПериодРегистрации = &парамПериодРегистрации) | И (ЕСНОсновныеНачисления.ПериодДействияНачало >= ОсновныеНачисления.ПериодДействияНачало) | И (ЕСНОсновныеНачисления.ПериодДействияКонец <= ОсновныеНачисления.ПериодДействияКонец) | И (ЕСНОсновныеНачисления.ДокументОснование = ОсновныеНачисления.Регистратор) | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОтражениеВУчетеСторно КАК ОтражениеВУчетеСторно | ПО ОсновныеНачисления.Регистратор = ОтражениеВУчетеСторно.Регистратор | И ОсновныеНачисления.НомерСтроки = ОтражениеВУчетеСторно.НомерСтроки |ГДЕ | ЕСНОсновныеНачисления.Сотрудник ЕСТЬ NULL | И ОсновныеНачисления.ОбособленноеПодразделение = &парамОрганизация | И ОсновныеНачисления.ВидРасчета В(&парамСписокНачислений) | И ОсновныеНачисления.Результат <> 0 | И (&парамНеОтбиратьСотрудников | ИЛИ ОсновныеНачисления.Сотрудник В | (ВЫБРАТЬ | ВТСписокСотрудников.Сотрудник | ИЗ | ВТСписокСотрудников КАК ВТСписокСотрудников)) | И ОсновныеНачисления.ВариантОбработкиЗаписиПриОтраженииВРеглУчете <> ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.НеОбрабатывать) | И ОсновныеНачисления.ПериодРегистрации = &парамПериодРегистрации | |ИНДЕКСИРОВАТЬ ПО | Регистратор, | НомерСтроки |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ФизическиеЛица.Ссылка КАК Физлицо, | ВЫБОР | КОГДА ФизическиеЛица.ЛьготаПриНачисленииПособий = ЗНАЧЕНИЕ(Перечисление.ВидыЛьготПриНачисленииБольничных.Маяк) | ТОГДА ЗНАЧЕНИЕ(Перечисление.ВыплатыПособийЗаСчетФедеральногоБюджета.Маяк) | КОГДА ФизическиеЛица.ЛьготаПриНачисленииПособий = ЗНАЧЕНИЕ(Перечисление.ВидыЛьготПриНачисленииБольничных.ПодразделенияОсобогоРиска) | ТОГДА ЗНАЧЕНИЕ(Перечисление.ВыплатыПособийЗаСчетФедеральногоБюджета.ПодразделенияОсобогоРиска) | КОГДА ФизическиеЛица.ЛьготаПриНачисленииПособий = ЗНАЧЕНИЕ(Перечисление.ВидыЛьготПриНачисленииБольничных.Семипалатинск) | ТОГДА ЗНАЧЕНИЕ(Перечисление.ВыплатыПособийЗаСчетФедеральногоБюджета.Семипалатинск) | КОГДА ФизическиеЛица.ЛьготаПриНачисленииПособий = ЗНАЧЕНИЕ(Перечисление.ВидыЛьготПриНачисленииБольничных.Чернобыль) | ТОГДА ЗНАЧЕНИЕ(Перечисление.ВыплатыПособийЗаСчетФедеральногоБюджета.Чернобыль) | КОГДА ФизическиеЛицаСтажи.НомерСтроки ЕСТЬ НЕ NULL | ТОГДА ЗНАЧЕНИЕ(Перечисление.ВыплатыПособийЗаСчетФедеральногоБюджета.ЗачетНестраховыхПериодов) | ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВыплатыПособийЗаСчетФедеральногоБюджета.ПустаяСсылка) | КОНЕЦ КАК ВыплатаЗаСчетФедеральногоБюджета |ПОМЕСТИТЬ ВТЛьготыФизлиц |ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.Стажи КАК ФизическиеЛицаСтажи | ПО ФизическиеЛица.Ссылка = ФизическиеЛицаСтажи.Ссылка | И (ФизическиеЛицаСтажи.ВидСтажа = ЗНАЧЕНИЕ(Справочник.ВидыСтажа.РасширенныйСтраховойСтажДляБЛ)) |ГДЕ | ФизическиеЛица.Ссылка В | (ВЫБРАТЬ | ДанныеУчета.ФизЛицо | ИЗ | ДанныеУчета КАК ДанныеУчета) | |ИНДЕКСИРОВАТЬ ПО | Физлицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОсновныеНачисления.Регистратор КАК Регистратор, | ОсновныеНачисления.НомерСтроки КАК НомерСтроки, | ОсновныеНачисления.ПериодДействия, | ОсновныеНачисления.ПериодДействияНачало, | ОсновныеНачисления.ПериодДействияКонец, | ОсновныеНачисления.Показатель1, | ОсновныеНачисления.Показатель2, | ОсновныеНачисления.Показатель3, | ОсновныеНачисления.Сторно, | ОсновныеНачисления.Результат, | ВЫБОР | КОГДА ОсновныеНачисления.ПодразделениеОрганизации.КодПоОКАТО <> """" | ТОГДА ВЫБОР | КОГДА ОсновныеНачисления.ПодразделениеОрганизации.РайонныйКоэффициентРФ > 1 | ТОГДА ОсновныеНачисления.ПодразделениеОрганизации.РайонныйКоэффициентРФ | ИНАЧЕ 1 | КОНЕЦ | КОГДА ОсновныеНачисления.ОбособленноеПодразделение.РайонныйКоэффициентРФ > 1 | ТОГДА ОсновныеНачисления.ОбособленноеПодразделение.РайонныйКоэффициентРФ | ИНАЧЕ 1 | КОНЕЦ КАК РайонныйКоэффициентРФ, | ОсновныеНачисления.ПодразделениеОрганизации.КодПоОКАТО КАК КодПоОКАТОПодразделения, | ВЫРАЗИТЬ(ОсновныеНачисления.Показатель1 * 0.4 * 30.4 КАК ЧИСЛО(15, 2)) КАК МесячноеПособие |ПОМЕСТИТЬ ВТЗаписиПособийПоУходу |ИЗ | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления |ГДЕ | ОсновныеНачисления.ПериодРегистрации = &парамПериодРегистрации | И ОсновныеНачисления.ОбособленноеПодразделение = &парамОрганизация | И ОсновныеНачисления.ВидРасчета.ВидПособияСоциальногоСтрахования = ЗНАЧЕНИЕ(Перечисление.ВидыПособийСоциальногоСтрахования.ПоУходуЗаРебенкомДоПолутораЛет) | И (&парамНеОтбиратьСотрудников | ИЛИ ОсновныеНачисления.Сотрудник В | (ВЫБРАТЬ | ВТСписокСотрудников.Сотрудник | ИЗ | ВТСписокСотрудников КАК ВТСписокСотрудников)) | |ИНДЕКСИРОВАТЬ ПО | Регистратор, | НомерСтроки |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОсновныеНачисления.Регистратор КАК Регистратор, | ОсновныеНачисления.НомерСтроки КАК НомерСтроки, | ВЫБОР | КОГДА ОсновныеНачисления.Результат = 0 | ТОГДА 0 | КОГДА ОсновныеНачисления.Показатель2 = 0 | ТОГДА 0 | КОГДА ОсновныеНачисления.Показатель3 = 0 | ТОГДА 0 | КОГДА ОсновныеНачисления.Показатель2 = ОсновныеНачисления.Показатель3 | ТОГДА 1 | ИНАЧЕ ВЫБОР | КОГДА ОсновныеНачисления.МесячноеПособие > (ВЫРАЗИТЬ(МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет.Размер * 0.4 / 12 КАК ЧИСЛО(15, 2))) | ТОГДА ВЫРАЗИТЬ(МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет.Размер * 0.4 / 12 КАК ЧИСЛО(15, 2)) | КОГДА ОсновныеНачисления.МесячноеПособие < (ВЫРАЗИТЬ(МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет.Размер * ОсновныеНачисления.РайонныйКоэффициентРФ КАК ЧИСЛО(15, 2))) | ТОГДА ВЫРАЗИТЬ(МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет.Размер * ОсновныеНачисления.РайонныйКоэффициентРФ КАК ЧИСЛО(15, 2)) | ИНАЧЕ ОсновныеНачисления.МесячноеПособие | КОНЕЦ * ВЫБОР | КОГДА ОсновныеНачисления.ПериодДействияНачало = ОсновныеНачисления.ПериодДействия | И ОсновныеНачисления.ПериодДействияКонец = КОНЕЦПЕРИОДА(ОсновныеНачисления.ПериодДействия, МЕСЯЦ) | ТОГДА 1 | ИНАЧЕ РАЗНОСТЬДАТ(ОсновныеНачисления.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(ОсновныеНачисления.ПериодДействияКонец, СЕКУНДА, 1), ДЕНЬ) / РАЗНОСТЬДАТ(ОсновныеНачисления.ПериодДействия, ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ОсновныеНачисления.ПериодДействия, МЕСЯЦ), СЕКУНДА, 1), ДЕНЬ) | КОНЕЦ * ВЫБОР | КОГДА ОсновныеНачисления.Сторно | ТОГДА -1 | ИНАЧЕ 1 | КОНЕЦ / ОсновныеНачисления.Результат | КОНЕЦ КАК ДоляПособияНаПервогоРебенка |ПОМЕСТИТЬ РасчетПособийПоУходуЗаПервымРебенком |ИЗ | ВТЗаписиПособийПоУходу КАК ОсновныеНачисления | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ЗаписиПособийПоУходу.Регистратор КАК Регистратор, | ЗаписиПособийПоУходу.НомерСтроки КАК НомерСтроки, | ГосударственныеПособия.ВидПособия КАК ВидПособия, | МАКСИМУМ(ГосударственныеПособия.Период) КАК ДатаИзмененияРазмераПособия | ИЗ | ВТЗаписиПособийПоУходу КАК ЗаписиПособийПоУходу | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГосударственныеПособия КАК ГосударственныеПособия | ПО ЗаписиПособийПоУходу.ПериодДействия >= ГосударственныеПособия.Период | ГДЕ | ГосударственныеПособия.ВидПособия = ЗНАЧЕНИЕ(Перечисление.РазмерыГосударственныхПособий.МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет) | | СГРУППИРОВАТЬ ПО | ЗаписиПособийПоУходу.Регистратор, | ЗаписиПособийПоУходу.НомерСтроки, | ГосударственныеПособия.ВидПособия) КАК ДатыИзРегистраМинимум | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГосударственныеПособия КАК МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет | ПО ДатыИзРегистраМинимум.ВидПособия = МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет.ВидПособия | И ДатыИзРегистраМинимум.ДатаИзмененияРазмераПособия = МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет.Период | ПО ОсновныеНачисления.Регистратор = ДатыИзРегистраМинимум.Регистратор | И ОсновныеНачисления.НомерСтроки = ДатыИзРегистраМинимум.НомерСтроки | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ЗаписиПособийПоУходу.Регистратор КАК Регистратор, | ЗаписиПособийПоУходу.НомерСтроки КАК НомерСтроки, | МАКСИМУМ(ГосударственныеПособия.Период) КАК ДатаИзмененияРазмераПособия | ИЗ | ВТЗаписиПособийПоУходу КАК ЗаписиПособийПоУходу | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредельнаяВеличинаБазыСтраховыхВзносов КАК ГосударственныеПособия | ПО ЗаписиПособийПоУходу.ПериодДействия >= ГосударственныеПособия.Период | | СГРУППИРОВАТЬ ПО | ЗаписиПособийПоУходу.Регистратор, | ЗаписиПособийПоУходу.НомерСтроки) КАК ДатыИзРегистраМаксимум | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредельнаяВеличинаБазыСтраховыхВзносов КАК МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет | ПО ДатыИзРегистраМаксимум.ДатаИзмененияРазмераПособия = МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет.Период | ПО ОсновныеНачисления.Регистратор = ДатыИзРегистраМаксимум.Регистратор | И ОсновныеНачисления.НомерСтроки = ДатыИзРегистраМаксимум.НомерСтроки | |ИНДЕКСИРОВАТЬ ПО | Регистратор, | НомерСтроки |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДанныеУчета.Регистратор КАК Регистратор, | ДанныеУчета.Регистратор КАК ДокументОснование, | ДанныеУчета.НомерСтроки КАК НомерСтроки, | ДанныеУчета.Сотрудник, | ДанныеУчета.СотрудникНаименование КАК СотрудникНаименование, | ДанныеУчета.ФизЛицо КАК Физлицо, | ДанныеУчета.КодДоходаЕСН, | ДанныеУчета.РезультатСторно КАК РезультатСторно, | ДанныеУчета.ВидРасчета, | ДанныеУчета.Результат КАК Результат, | ДанныеУчета.ДополнительныйРезультат, | ДанныеУчета.ПериодДействияНачало, | ДанныеУчета.ПериодДействияКонец, | ДанныеУчета.ГрафикРаботы, | ДанныеУчета.Сторно, | ДанныеУчета.ВариантОбработкиЗаписиПриОтраженииВРеглУчете, | ДанныеУчета.СтратегияОтраженияВУчете, | ДанныеУчета.ВидУчетаВремени, | СоответствиеКодов.ВидПоСтраховымВзносам КАК КодДоходаЕСНРазрез, | ВЫБОР | КОГДА База.РезультатБаза ЕСТЬ НЕ NULL | ТОГДА База.РезультатБаза | ИНАЧЕ БазаСреднегоЗаработка.РезультатБаза | КОНЕЦ КАК РезультатБаза, | РАЗНОСТЬДАТ(ДанныеУчета.ПериодДействияНачало, НАЧАЛОПЕРИОДА(ДанныеУчета.ПериодДействияКонец, ДЕНЬ), ДЕНЬ) + 1 КАК ВсегоДнейНетрудоспособности, | РАЗНОСТЬДАТ(ДанныеУчета.ПериодДействияНачалоСторно, НАЧАЛОПЕРИОДА(ДанныеУчета.ПериодДействияКонецСторно, ДЕНЬ), ДЕНЬ) + 1 КАК ВсегоДнейНетрудоспособностиСторно, | ДанныеУчета.НормаДней, | ДанныеУчета.ВидПособияСоциальногоСтрахования, | ЕСТЬNULL(ДанныеУчета.СреднийДневнойЗаработок, 0) КАК СреднийДневнойЗаработок, | ЕСТЬNULL(РасчетПособийПоУходуЗаПервымРебенком.ДоляПособияНаПервогоРебенка, 0) КАК ДоляПособияНаПервогоРебенка, | ДанныеУчета.ДатаНачалаСобытия, | ДанныеУчета.УчитыватьКакНовыйСтраховойСлучай, | 0 КАК Скидка, | ДанныеУчета.ПериодДействияНачалоСторно КАК ПериодДействияНачалоСторно, | ДанныеУчета.ПериодДействияКонецСторно КАК ПериодДействияКонецСторно, | ЛОЖЬ КАК ЭтоЕдиновременноеПособиеФСС, | ВЫБОР | КОГДА ДанныеУчета.ВариантОбработкиЗаписиПриОтраженииВРеглУчете В (ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйТравмаНаПроизводстве), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.ОтпускПоБеременностиИРодамПоУходуЗаРебенком), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйОбщееЗаболевание), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйПрочий)) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЭтоПособияФСС, | ВЫБОР | КОГДА ДанныеУчета.ВариантОбработкиЗаписиПриОтраженииВРеглУчете В (ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйТравмаНаПроизводстве), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.ОтпускПоБеременностиИРодамПоУходуЗаРебенком), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйОбщееЗаболевание), ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.БольничныйПрочий)) | И ДанныеУчета.ДополнительныйРезультат <> 0 | ТОГДА ЛьготыФизлиц.ВыплатаЗаСчетФедеральногоБюджета | ИНАЧЕ НЕОПРЕДЕЛЕНО | КОНЕЦ КАК ВыплатаЗаСчетФедеральногоБюджета |ИЗ | ДанныеУчета КАК ДанныеУчета | ЛЕВОЕ СОЕДИНЕНИЕ База КАК База | ПО ДанныеУчета.Регистратор = База.Регистратор | И ДанныеУчета.НомерСтроки = База.НомерСтроки | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_БазаСреднегоЗаработка КАК БазаСреднегоЗаработка | ПО ДанныеУчета.Регистратор = БазаСреднегоЗаработка.Регистратор | И ДанныеУчета.НомерСтроки = БазаСреднегоЗаработка.НомерСтроки | ЛЕВОЕ СОЕДИНЕНИЕ ВТСоответствиеКодовЕСНиСтраховыхВзносов КАК СоответствиеКодов | ПО (ЕСТЬNULL(База.КодДоходаЕСНРазрез, БазаСреднегоЗаработка.КодДоходаЕСНРазрез) = СоответствиеКодов.КодДоходаЕСН) | ЛЕВОЕ СОЕДИНЕНИЕ РасчетПособийПоУходуЗаПервымРебенком КАК РасчетПособийПоУходуЗаПервымРебенком | ПО ДанныеУчета.Регистратор = РасчетПособийПоУходуЗаПервымРебенком.Регистратор | И ДанныеУчета.НомерСтроки = РасчетПособийПоУходуЗаПервымРебенком.НомерСтроки | ЛЕВОЕ СОЕДИНЕНИЕ ВТЛьготыФизлиц КАК ЛьготыФизлиц | ПО ДанныеУчета.ФизЛицо = ЛьготыФизлиц.Физлицо | |УПОРЯДОЧИТЬ ПО | СотрудникНаименование, | Регистратор, | НомерСтроки, | КодДоходаЕСНРазрез |АВТОУПОРЯДОЧИВАНИЕ"; Иначе // обработка дополнительных начислений Если Не ЭтоПервичныеНачисления Тогда //соберем базу для зависимых начислений БазаТекст = "ВЫБРАТЬ | База.Регистратор КАК Регистратор, | База.НомерСтроки КАК НомерСтроки, | База.КодДоходаЕСНРазрез, | СУММА(База.РезультатБаза) КАК РезультатБаза |ПОМЕСТИТЬ База |ИЗ | (ВЫБРАТЬ | ДополнительныеНачисленияБазаЕСНОсновныеНачисления.Регистратор КАК Регистратор, | ДополнительныеНачисленияБазаЕСНОсновныеНачисления.НомерСтроки КАК НомерСтроки, | ДополнительныеНачисленияБазаЕСНОсновныеНачисления.КодДоходаЕСНРазрез КАК КодДоходаЕСНРазрез, | ДополнительныеНачисленияБазаЕСНОсновныеНачисления.РезультатБаза КАК РезультатБаза | ИЗ | РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций.БазаЕСНОсновныеНачисления( | &парамИзмерения, | &парамИзмерения, | &парамРазрезыЕСН, | Организация = &парамГоловнаяОрганизация | И НАЧАЛОПЕРИОДА(ПериодРегистрации, МЕСЯЦ) = &парамПериодРегистрации | И (&парамНеОтбиратьСотрудников | ИЛИ Сотрудник В | (ВЫБРАТЬ | ВТСписокСотрудников.Сотрудник | ИЗ | ВТСписокСотрудников КАК ВТСписокСотрудников)) | И (НЕ Сторно) | И ВидРасчета В (&парамСписокНачислений) | И (НЕ ВидРасчета.СпособРасчета В (&парамПоСреднемуЗаработку)) | И ВидРасчета.КодДоходаСтраховыеВзносы = ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.РаспределятьПоБазовымНачислениям)) КАК ДополнительныеНачисленияБазаЕСНОсновныеНачисления | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ДополнительныеНачисленияБазаЕСНДополнительныеНачисления.Регистратор, | ДополнительныеНачисленияБазаЕСНДополнительныеНачисления.НомерСтроки, | ДополнительныеНачисленияБазаЕСНДополнительныеНачисления.КодДоходаЕСНРазрез, | ДополнительныеНачисленияБазаЕСНДополнительныеНачисления.РезультатБаза | ИЗ | РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций.БазаЕСНДополнительныеНачисления( | &парамИзмерения, | &парамИзмерения, | &парамРазрезыЕСН, | Организация = &парамГоловнаяОрганизация | И НАЧАЛОПЕРИОДА(ПериодРегистрации, МЕСЯЦ) = &парамПериодРегистрации | И (&парамНеОтбиратьСотрудников | ИЛИ Сотрудник В | (ВЫБРАТЬ | ВТСписокСотрудников.Сотрудник | ИЗ | ВТСписокСотрудников КАК ВТСписокСотрудников)) | И (НЕ Сторно) | И ВидРасчета В (&парамСписокНачислений) | И (НЕ ВидРасчета.СпособРасчета В (&парамПоСреднемуЗаработку)) | И ВидРасчета.КодДоходаСтраховыеВзносы = ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.РаспределятьПоБазовымНачислениям)) КАК ДополнительныеНачисленияБазаЕСНДополнительныеНачисления) КАК База | |СГРУППИРОВАТЬ ПО | База.Регистратор, | База.КодДоходаЕСНРазрез, | База.НомерСтроки | |ИНДЕКСИРОВАТЬ ПО | Регистратор, | НомерСтроки"; Иначе // для первичных начислений не собираем базу БазаТекст = "ВЫБРАТЬ | НЕОПРЕДЕЛЕНО КАК Регистратор, | 0 КАК НомерСтроки, | ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.ПустаяСсылка) КАК КодДоходаЕСНРазрез, | 0 КАК РезультатБаза |ПОМЕСТИТЬ База"; КонецЕсли; Запрос.Текст = БазаТекст; //временная таблица - База Запрос.Выполнить(); /////////////////////////////////////////////////////////////////////////////////// // ПОЛУЧЕНИЕ БАЗЫ СРЕДНЕГО ЗАРАБОТКА для прочих начислений ПолучатьБазу = Ложь; // ВТ_ПрочиеНачисления // Запрос.Текст = "ВЫБРАТЬ | ДополнительныеНачисления.Сотрудник, | ДополнительныеНачисления.Регистратор, | ДополнительныеНачисления.НомерСтроки, | ДополнительныеНачисления.ДатаНачалаСобытия, | ДополнительныеНачисления.ПериодРасчетаСреднегоЗаработкаНачало, | ДополнительныеНачисления.ПериодРасчетаСреднегоЗаработкаОкончание, | ДополнительныеНачисления.ВидРасчета.СпособРасчета КАК СпособРасчета |ПОМЕСТИТЬ ВТ_ПрочиеНачисления |ИЗ | РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисления |ГДЕ | ДополнительныеНачисления.ВидРасчета.СтратегияОтраженияВУчете = ЗНАЧЕНИЕ(Перечисление.СтратегииОтраженияВРеглУчетеНачислений.КакБазовыеНачисления) | И НАЧАЛОПЕРИОДА(ДополнительныеНачисления.ПериодРегистрации, МЕСЯЦ) = &парамПериодРегистрации | И (&парамНеОтбиратьСотрудников | ИЛИ ДополнительныеНачисления.Сотрудник В | (ВЫБРАТЬ | ВТСписокСотрудников.Сотрудник | ИЗ | ВТСписокСотрудников КАК ВТСписокСотрудников)) | И ДополнительныеНачисления.ОбособленноеПодразделение = &парамОрганизация | И ДополнительныеНачисления.ВидРасчета.СпособРасчета В(&парамПоСреднемуЗаработку) | И ДополнительныеНачисления.ВидРасчета В(&парамСписокНачислений) | И ДополнительныеНачисления.Результат <> 0 | И (НЕ ДополнительныеНачисления.Сторно)"; Запрос.Выполнить(); // ВТ_СотрудникиПериодыПрочиеНачисления // условия для виртуальной таблицы Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ДополнительныеНачисления.Сотрудник КАК Сотрудник, | ДополнительныеНачисления.ДатаНачалаСобытия КАК ДатаНачалаСобытия |ПОМЕСТИТЬ ВТ_СотрудникиПериодыПрочиеНачисления |ИЗ | ВТ_ПрочиеНачисления КАК ДополнительныеНачисления | |ИНДЕКСИРОВАТЬ ПО | Сотрудник, | ДатаНачалаСобытия"; Результат = Запрос.Выполнить().Выгрузить(); ПолучатьБазу = Результат[0].Количество > 0; Если ПолучатьБазу Тогда БазаСреднегоЗаработкаТекст = "ВЫБРАТЬ | БазаСреднегоЗаработка.Регистратор КАК Регистратор, | БазаСреднегоЗаработка.НомерСтроки КАК НомерСтроки, | БазаСреднегоЗаработка.КодДоходаЕСНРазрез, | СУММА(БазаСреднегоЗаработка.РезультатБаза) КАК РезультатБаза |ПОМЕСТИТЬ ВТ_БазаСреднегоЗаработка |ИЗ | (ВЫБРАТЬ | ДополнительныеНачисления.Регистратор КАК Регистратор, | ДополнительныеНачисления.НомерСтроки КАК НомерСтроки, | ВЫБОР | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамОсновнойЗаработок) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамОсновнойЗаработокНеиндексируемый) | ТОГДА БазаСреднегоЗаработка.РезультатБаза | КОГДА БазаСреднегоЗаработка.ЧислоМесяцев = 0 | ТОГДА 0 | ИНАЧЕ ВЫБОР | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоПремиям) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоФиксПремиям) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ * ВЫБОР | КОГДА БазаСреднегоЗаработка.НормаПоПятидневке = 0 | ТОГДА 0 | ИНАЧЕ БазаСреднегоЗаработка.ОтработаноПоПятидневке / БазаСреднегоЗаработка.НормаПоПятидневке | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоФиксПремиямНеИндексируемые) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.НормаПоПятидневке = 0 | ТОГДА 0 | ИНАЧЕ БазаСреднегоЗаработка.ОтработаноПоПятидневке / БазаСреднегоЗаработка.НормаПоПятидневке | КОНЕЦ | ИНАЧЕ БазаСреднегоЗаработка.РезультатБаза | КОНЕЦ * ВЫБОР | КОГДА БазаСреднегоЗаработка.ЧислоМесяцев > БазаСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка | ТОГДА БазаСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка / БазаСреднегоЗаработка.ЧислоМесяцев | ИНАЧЕ 1 | КОНЕЦ | КОНЕЦ КАК РезультатБаза, | БазаСреднегоЗаработка.КодДоходаЕСНРазрез КАК КодДоходаЕСНРазрез | ИЗ | ВТ_ПрочиеНачисления КАК ДополнительныеНачисления | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.РасчетСреднегоЗаработка.БазаЕСНОсновныеНачисления( | &парамИзмерения, | &парамИзмерения, | &парамРазрезыЕСН, | Организация = &парамГоловнаяОрганизация | И Результат <> 0 | И ПериодРегистрации = &парамПериодРегистрации | И (Сотрудник, ДатаНачалаСобытия) В | (ВЫБРАТЬ | Список.Сотрудник, | Список.ДатаНачалаСобытия | ИЗ | ВТ_СотрудникиПериодыПрочиеНачисления КАК Список)) КАК БазаСреднегоЗаработка | ПО ДополнительныеНачисления.СпособРасчета = БазаСреднегоЗаработка.СпособРасчета | И ДополнительныеНачисления.ДатаНачалаСобытия = БазаСреднегоЗаработка.ДатаНачалаСобытия | И ДополнительныеНачисления.ПериодРасчетаСреднегоЗаработкаНачало = БазаСреднегоЗаработка.ДатаНачалаРасчетногоПериода | И ДополнительныеНачисления.ПериодРасчетаСреднегоЗаработкаОкончание = БазаСреднегоЗаработка.ДатаОкончанияРасчетногоПериода | И ДополнительныеНачисления.Сотрудник = БазаСреднегоЗаработка.Сотрудник | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ДополнительныеНачисления.Регистратор, | ДополнительныеНачисления.НомерСтроки, | ВЫБОР | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамОсновнойЗаработок) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамОсновнойЗаработокНеиндексируемый) | ТОГДА БазаСреднегоЗаработка.РезультатБаза | КОГДА БазаСреднегоЗаработка.ЧислоМесяцев = 0 | ТОГДА 0 | ИНАЧЕ ВЫБОР | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоПремиям) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоФиксПремиям) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.КоэффициентИндексации < 1 | ТОГДА 1 | ИНАЧЕ БазаСреднегоЗаработка.КоэффициентИндексации | КОНЕЦ * ВЫБОР | КОГДА БазаСреднегоЗаработка.НормаПоПятидневке = 0 | ТОГДА 0 | ИНАЧЕ БазаСреднегоЗаработка.ОтработаноПоПятидневке / БазаСреднегоЗаработка.НормаПоПятидневке | КОНЕЦ | КОГДА БазаСреднегоЗаработка.ВидРасчета В (&парамПоФиксПремиямНеИндексируемые) | ТОГДА БазаСреднегоЗаработка.РезультатБаза * ВЫБОР | КОГДА БазаСреднегоЗаработка.НормаПоПятидневке = 0 | ТОГДА 0 | ИНАЧЕ БазаСреднегоЗаработка.ОтработаноПоПятидневке / БазаСреднегоЗаработка.НормаПоПятидневке | КОНЕЦ | ИНАЧЕ БазаСреднегоЗаработка.РезультатБаза | КОНЕЦ * ВЫБОР | КОГДА БазаСреднегоЗаработка.ЧислоМесяцев > БазаСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка | ТОГДА БазаСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка / БазаСреднегоЗаработка.ЧислоМесяцев | ИНАЧЕ 1 | КОНЕЦ | КОНЕЦ, | БазаСреднегоЗаработка.КодДоходаЕСНРазрез | ИЗ | ВТ_ПрочиеНачисления КАК ДополнительныеНачисления | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.РасчетСреднегоЗаработка.БазаЕСНДополнительныеНачисления( | &парамИзмерения, | &парамИзмерения, | &парамРазрезыЕСН, | Организация = &парамГоловнаяОрганизация | И Результат <> 0 | И ПериодРегистрации = &парамПериодРегистрации | И (Сотрудник, ДатаНачалаСобытия) В | (ВЫБРАТЬ | Список.Сотрудник, | Список.ДатаНачалаСобытия | ИЗ | ВТ_СотрудникиПериодыПрочиеНачисления КАК Список)) КАК БазаСреднегоЗаработка | ПО ДополнительныеНачисления.ДатаНачалаСобытия = БазаСреднегоЗаработка.ДатаНачалаСобытия | И ДополнительныеНачисления.Сотрудник = БазаСреднегоЗаработка.Сотрудник) КАК БазаСреднегоЗаработка | |СГРУППИРОВАТЬ ПО | БазаСреднегоЗаработка.Регистратор, | БазаСреднегоЗаработка.НомерСтроки, | БазаСреднегоЗаработка.КодДоходаЕСНРазрез | |ИНДЕКСИРОВАТЬ ПО | Регистратор, | НомерСтроки"; Иначе БазаСреднегоЗаработкаТекст = "ВЫБРАТЬ | НЕОПРЕДЕЛЕНО КАК Регистратор, | 0 КАК НомерСтроки, | НЕОПРЕДЕЛЕНО КАК КодДоходаЕСНРазрез, | 0 КАК РезультатБаза |ПОМЕСТИТЬ ВТ_БазаСреднегоЗаработка"; КонецЕсли; Запрос.Текст = БазаСреднегоЗаработкаТекст; //временная таблица - ВТ_БазаСреднегоЗаработка Запрос.Выполнить(); // Закончили получение базы среднего заработка для прочих начислений /////////////////////////////////////////////////////////////////////////////////// ОтражениеВУчетеСторноТекст = "ВЫБРАТЬ | ДополнительныеНачисления.Регистратор КАК Регистратор, | ДополнительныеНачисления.НомерСтроки КАК НомерСтроки, | ДополнительныеНачисления.Сотрудник КАК Сотрудник, | ДополнительныеНачисления.ВидРасчета КАК ВидРасчета, | ДополнительныеНачисления.СторнируемыйДокумент КАК СторнируемыйДокумент |ПОМЕСТИТЬ ВТ_ДополнительныеНачисленияСторно |ИЗ | РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисления |ГДЕ | ДополнительныеНачисления.ОбособленноеПодразделение = &парамОрганизация | И НАЧАЛОПЕРИОДА(ДополнительныеНачисления.ПериодРегистрации, МЕСЯЦ) = &парамПериодРегистрации | И (&парамНеОтбиратьСотрудников | ИЛИ ДополнительныеНачисления.Сотрудник В | (ВЫБРАТЬ | ВТСписокСотрудников.Сотрудник | ИЗ | ВТСписокСотрудников КАК ВТСписокСотрудников)) | И ДополнительныеНачисления.Результат <> 0 | И ДополнительныеНачисления.Сторно | |ИНДЕКСИРОВАТЬ ПО | СторнируемыйДокумент"; Запрос.Текст = ОтражениеВУчетеСторноТекст; //временная таблица - ВТ_ДополнительныеНачисленияСторно Результат = Запрос.Выполнить().Выгрузить(); КоличествоСторноЗаписей = Результат[0].Количество; Если КоличествоСторноЗаписей <> 0 Тогда Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ДополнительныеНачисленияСторно.Регистратор КАК Регистратор, | ДополнительныеНачисленияСторно.НомерСтроки КАК НомерСтроки, | ДополнительныеНачисленияСторно.Сотрудник КАК Сотрудник, | ДополнительныеНачисленияСторно.ВидРасчета КАК ВидРасчета, | ДополнительныеНачисленияСторно.СторнируемыйДокумент КАК СторнируемыйДокумент, | НАЧАЛОПЕРИОДА(ДополнительныеНачисления.ПериодРегистрации, МЕСЯЦ) КАК ПериодРегистрации |ПОМЕСТИТЬ ВТ_СторноСотрудники |ИЗ | ВТ_ДополнительныеНачисленияСторно КАК ДополнительныеНачисленияСторно | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисления | ПО ДополнительныеНачисленияСторно.СторнируемыйДокумент = ДополнительныеНачисления.Регистратор |ГДЕ | ДополнительныеНачисления.ОбособленноеПодразделение = &парамОрганизация | |ИНДЕКСИРОВАТЬ ПО | Сотрудник, | ВидРасчета, | ПериодРегистрации, | СторнируемыйДокумент"; //временная таблица - ВТ_СторноСотрудники Запрос.Выполнить(); ОтражениеВУчетеСторноТекст = "ВЫБРАТЬ | ДополнительныеНачисления.Регистратор КАК Регистратор, | ДополнительныеНачисления.НомерСтроки КАК НомерСтроки, | ЕСНДополнительныеНачисления.КодДоходаЕСН, | ЕСНДополнительныеНачисления.Результат |ПОМЕСТИТЬ ВТ_ОтражениеВУчетеСторно |ИЗ | ВТ_СторноСотрудники КАК ДополнительныеНачисления | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | НАЧАЛОПЕРИОДА(ЕСНДополнительныеНачисления.ПериодРегистрации, МЕСЯЦ) КАК ПериодРегистрации, | ЕСНДополнительныеНачисления.ВидРасчета КАК ВидРасчета, | ЕСНДополнительныеНачисления.Сотрудник КАК Сотрудник, | ЕСНДополнительныеНачисления.Результат КАК Результат, | СоответствиеКодов.ВидПоСтраховымВзносам КАК КодДоходаЕСН, | ЕСНДополнительныеНачисления.ДокументОснование КАК ДокументОснование | ИЗ | РегистрРасчета.ЕСНДополнительныеНачисления КАК ЕСНДополнительныеНачисления | ЛЕВОЕ СОЕДИНЕНИЕ ВТСоответствиеКодовЕСНиСтраховыхВзносов КАК СоответствиеКодов | ПО ЕСНДополнительныеНачисления.КодДоходаЕСН = СоответствиеКодов.КодДоходаЕСН | ГДЕ | (ЕСНДополнительныеНачисления.ПериодРегистрации, ЕСНДополнительныеНачисления.Сотрудник, ЕСНДополнительныеНачисления.ВидРасчета) В | (ВЫБРАТЬ | Начисления.ПериодРегистрации, | Начисления.Сотрудник, | Начисления.ВидРасчета | ИЗ | ВТ_СторноСотрудники КАК Начисления)) КАК ЕСНДополнительныеНачисления | ПО ДополнительныеНачисления.ВидРасчета = ЕСНДополнительныеНачисления.ВидРасчета | И ДополнительныеНачисления.Сотрудник = ЕСНДополнительныеНачисления.Сотрудник | И ДополнительныеНачисления.СторнируемыйДокумент = ЕСНДополнительныеНачисления.ДокументОснование | И ДополнительныеНачисления.ПериодРегистрации = ЕСНДополнительныеНачисления.ПериодРегистрации | |ИНДЕКСИРОВАТЬ ПО | Регистратор, | НомерСтроки"; Иначе ОтражениеВУчетеСторноТекст = "ВЫБРАТЬ | НЕОПРЕДЕЛЕНО КАК Регистратор, | НЕОПРЕДЕЛЕНО КАК НомерСтроки, | НЕОПРЕДЕЛЕНО КАК КодДоходаЕСН, | 0 КАК Результат |ПОМЕСТИТЬ ВТ_ОтражениеВУчетеСторно"; КонецЕсли; Запрос.Текст = ОтражениеВУчетеСторноТекст; //временная таблица - ВТ_ОтражениеВУчетеСторно Запрос.Выполнить(); ТекстЗапроса = "ВЫБРАТЬ | ДополнительныеНачисления.Регистратор КАК Регистратор, | ДополнительныеНачисления.НомерСтроки КАК НомерСтроки, | ДополнительныеНачисления.Сотрудник КАК Сотрудник, | ДополнительныеНачисления.ФизЛицо КАК ФизЛицо, | ВЫБОР | КОГДА ДополнительныеНачисления.Сторно | ТОГДА ОтражениеВУчетеСторно.КодДоходаЕСН | ИНАЧЕ ДополнительныеНачисления.ВидРасчета.КодДоходаСтраховыеВзносы | КОНЕЦ КАК КодДоходаЕСН, | ОтражениеВУчетеСторно.Результат КАК РезультатСторно, | ДополнительныеНачисления.ВидРасчета КАК ВидРасчета, | ДополнительныеНачисления.Организация КАК Организация, | ДополнительныеНачисления.Результат КАК Результат, | ДополнительныеНачисления.ВидРасчета.КатегорияРасчета КАК КатегорияРасчета, | ДополнительныеНачисления.ВидРасчета.СтратегияОтраженияВУчете КАК СтратегияОтраженияВУчете, | ДополнительныеНачисления.ВидРасчета.ВидПособияСоциальногоСтрахования КАК ВидПособияСоциальногоСтрахования, | ДополнительныеНачисления.Сторно КАК Сторно, | ДополнительныеНачисления.ДатаНачалаСобытия КАК ДатаНачалаСобытия, | ДополнительныеНачисления.ПериодРегистрации КАК ПериодРегистрации, | ВЫБОР | КОГДА ДополнительныеНачисления.ДокументОснование.ВидДоговора ЕСТЬ NULL | ТОГДА ДополнительныеНачисления.СкидкаПриНалогообложении | КОГДА ДополнительныеНачисления.ДокументОснование.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.Авторский) | ТОГДА ВЫБОР | КОГДА ДополнительныеНачисления.ДокументОснование.ВидАвторскогоДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыАвторскогоДоговора.АвторскогоЗаказа) | ТОГДА ДополнительныеНачисления.СкидкаПриНалогообложении | КОГДА ДополнительныеНачисления.ДокументОснование.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код405) | ТОГДА ДополнительныеНачисления.Результат | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ 0 | КОНЕЦ КАК Скидка, | ВЫБОР | КОГДА ДополнительныеНачисления.ДокументОснование.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.Авторский) | И ДополнительныеНачисления.ДокументОснование.ВидАвторскогоДоговора <> ЗНАЧЕНИЕ(Перечисление.ВидыАвторскогоДоговора.АвторскогоЗаказа) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК СкидкаНеРассчитана, | ВЫБОР | КОГДА ДополнительныеНачисления.ВидРасчета.ВидПособияСоциальногоСтрахования В (ЗНАЧЕНИЕ(Перечисление.ВидыПособийСоциальногоСтрахования.ПриПостановкеНаУчетВРанниеСрокиБеременности), ЗНАЧЕНИЕ(Перечисление.ВидыПособийСоциальногоСтрахования.ПриРожденииРебенка), ЗНАЧЕНИЕ(Перечисление.ВидыПособийСоциальногоСтрахования.ПриУсыновленииРебенка), ЗНАЧЕНИЕ(Перечисление.ВидыПособийСоциальногоСтрахования.ВСвязиСоСмертью)) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЭтоЕдиновременноеПособиеФСС, | ДополнительныеНачисления.Сотрудник.Наименование КАК СотрудникНаименование |ПОМЕСТИТЬ ВТДанныеУчета |ИЗ | РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисления | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ЕСНДополнительныеНачисления КАК ЕСНДополнительныеНачисления | ПО ДополнительныеНачисления.Сотрудник = ЕСНДополнительныеНачисления.Сотрудник | И (ЕСНДополнительныеНачисления.ВидРасчета = ДополнительныеНачисления.ВидРасчета) | И (ЕСНДополнительныеНачисления.ПериодРегистрации = &парамПериодРегистрации) | И (ЕСНДополнительныеНачисления.ДокументОснование = ДополнительныеНачисления.Регистратор) | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОтражениеВУчетеСторно КАК ОтражениеВУчетеСторно | ПО ДополнительныеНачисления.Регистратор = ОтражениеВУчетеСторно.Регистратор | И ДополнительныеНачисления.НомерСтроки = ОтражениеВУчетеСторно.НомерСтроки |ГДЕ | ЕСНДополнительныеНачисления.Сотрудник ЕСТЬ NULL | И ДополнительныеНачисления.ОбособленноеПодразделение = &парамОрганизация | И (&парамНеОтбиратьСотрудников | ИЛИ ДополнительныеНачисления.Сотрудник В | (ВЫБРАТЬ | ВТСписокСотрудников.Сотрудник | ИЗ | ВТСписокСотрудников КАК ВТСписокСотрудников)) | И ДополнительныеНачисления.Результат <> 0 | И ДополнительныеНачисления.ВидРасчета В(&парамСписокНачислений) | И НАЧАЛОПЕРИОДА(ДополнительныеНачисления.ПериодРегистрации, МЕСЯЦ) = &парамПериодРегистрации | |ИНДЕКСИРОВАТЬ ПО | Регистратор, | НомерСтроки |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДанныеУчета.Регистратор КАК Регистратор, | ДанныеУчета.Регистратор КАК ДокументОснование, | ДанныеУчета.НомерСтроки КАК НомерСтроки, | ДанныеУчета.Сотрудник, | ДанныеУчета.СотрудникНаименование КАК СотрудникНаименование, | ДанныеУчета.ФизЛицо, | ДанныеУчета.КодДоходаЕСН, | ДанныеУчета.РезультатСторно КАК РезультатСторно, | ДанныеУчета.ВидРасчета, | ДанныеУчета.Результат КАК Результат, | 0 КАК ДополнительныйРезультат, | ДанныеУчета.СтратегияОтраженияВУчете, | ДанныеУчета.ВидПособияСоциальногоСтрахования, | ДанныеУчета.ПериодРегистрации, | ДанныеУчета.ДатаНачалаСобытия КАК ДатаНачалаСобытия, | ЗНАЧЕНИЕ(Перечисление.ВариантыОбработкиЗаписиПриОтраженииВРеглУчете.ПустаяСсылка) КАК ВариантОбработкиЗаписиПриОтраженииВРеглУчете, | СоответствиеКодов.ВидПоСтраховымВзносам КАК КодДоходаЕСНРазрез, | ВЫБОР | КОГДА База.РезультатБаза ЕСТЬ НЕ NULL | ТОГДА База.РезультатБаза | ИНАЧЕ БазаСреднегоЗаработка.РезультатБаза | КОНЕЦ КАК РезультатБаза, | ДанныеУчета.Сторно КАК Сторно, | ИСТИНА КАК УчитыватьКакНовыйСтраховойСлучай, | ВЫБОР | КОГДА ДанныеУчета.КодДоходаЕСН В (&ДоходыАвторские) | ТОГДА ДанныеУчета.Скидка * ВЫБОР | КОГДА ДанныеУчета.СкидкаНеРассчитана | ТОГДА ЕСТЬNULL(СтраховыеВзносыСкидкиКДоходамСрезПоследних.НормативЗатрат / 100, 0) | ИНАЧЕ 1 | КОНЕЦ | КОГДА ДанныеУчета.КодДоходаЕСН = ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.МатпомощьПриРожденииРебенка) | ТОГДА ДанныеУчета.Скидка | ИНАЧЕ 0 | КОНЕЦ КАК Скидка, | ДанныеУчета.ЭтоЕдиновременноеПособиеФСС КАК ЭтоЕдиновременноеПособиеФСС, | ЛОЖЬ КАК ЭтоПособияФСС |ИЗ | ВТДанныеУчета КАК ДанныеУчета | ЛЕВОЕ СОЕДИНЕНИЕ База КАК База | ПО ДанныеУчета.Регистратор = База.Регистратор | И ДанныеУчета.НомерСтроки = База.НомерСтроки | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_БазаСреднегоЗаработка КАК БазаСреднегоЗаработка | ПО ДанныеУчета.Регистратор = БазаСреднегоЗаработка.Регистратор | И ДанныеУчета.НомерСтроки = БазаСреднегоЗаработка.НомерСтроки | ЛЕВОЕ СОЕДИНЕНИЕ ВТСоответствиеКодовЕСНиСтраховыхВзносов КАК СоответствиеКодов | ПО (ЕСТЬNULL(База.КодДоходаЕСНРазрез, БазаСреднегоЗаработка.КодДоходаЕСНРазрез) = СоответствиеКодов.КодДоходаЕСН) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтраховыеВзносыСкидкиКДоходам.СрезПоследних(&парамПериодРегистрации, ВидДохода В (&ДоходыАвторские)) КАК СтраховыеВзносыСкидкиКДоходамСрезПоследних | ПО ДанныеУчета.КодДоходаЕСН = СтраховыеВзносыСкидкиКДоходамСрезПоследних.ВидДохода | |УПОРЯДОЧИТЬ ПО | СотрудникНаименование, | Регистратор, | НомерСтроки, | КодДоходаЕСНРазрез |АВТОУПОРЯДОЧИВАНИЕ"; КонецЕсли; Запрос.Текст = ТекстЗапроса; РезультатЗапроса = Запрос.Выполнить(); Возврат РезультатЗапроса; КонецФункции // ПолучитьДанныеУчета2011() |
||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10073213 | ||||
Дата публикации: | 08.02.2011 16:04:10 | ||||
Дата последнего изменения: | 08.02.2011 0:00:00 | ||||
Описание: | При предоставлении имущественного вычета в 2011 году, стандартные вычеты предоставляются к доходам прошлых месяцев, отчего появлялся возврат налога. | ||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10073248 | ||||
Дата публикации: | 08.02.2011 16:03:21 | ||||
Дата последнего изменения: | 08.02.2011 0:00:00 | ||||
Описание: | Если сотрудник в 2010 году имел доходы по нескольким кодам ОКАТО и в ИБ имеется проведенный документ "Справка 2-НДФЛ для передачи в ИФНС" ежегодной отчетности по этому сотруднику за 2010 год по одному из его кодов ОКАТО, то при попытке заполнить документ "Справка 2-НДФЛ для передачи в ИФНС" по другому коду ОКАТО, сотрудник в него не попадает. | ||||
Способ исправления: | Процедуру Автозаполнение() модуля документа заменить следующим фрагментом: Процедура Автозаполнение() Экспорт // Рассчитаем номер первой справки о доходах Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДатаДокумента",Дата); Запрос.УстановитьПараметр("НалоговыйПериод",НалоговыйПериод); Запрос.УстановитьПараметр("Организация",Организация); Запрос.Текст = "ВЫБРАТЬ | КОЛИЧЕСТВО(СведенияОДоходахФизлицРаботникиОрганизации.НомерСтроки) КАК КоличествоСформированныхСправок |ИЗ | Документ.СправкаПоНДФЛВНалоговыйОрган.СотрудникиОрганизации КАК СведенияОДоходахФизлицРаботникиОрганизации |ГДЕ | СведенияОДоходахФизлицРаботникиОрганизации.Ссылка.Дата < &ДатаДокумента | И СведенияОДоходахФизлицРаботникиОрганизации.Ссылка.Проведен | И СведенияОДоходахФизлицРаботникиОрганизации.Ссылка.Организация = &Организация | И СведенияОДоходахФизлицРаботникиОрганизации.Ссылка.НалоговыйПериод = &НалоговыйПериод"; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() тогда НомерПервойСправки = ?(Выборка.КоличествоСформированныхСправок = NULL, 0, Выборка.КоличествоСформированныхСправок) + 1; Иначе НомерПервойСправки = 1; КонецЕсли; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДатаДокумента",Дата); Запрос.УстановитьПараметр("Организация",Организация); Запрос.УстановитьПараметр("Ссылка",Ссылка); Запрос.УстановитьПараметр("ГодНП",НалоговыйПериод); Запрос.УстановитьПараметр("КонецНП",КонецГода(Дата(НалоговыйПериод,1,1))); Запрос.УстановитьПараметр("ДатаПодачиСведений", НачалоМесяца(Дата)); Запрос.УстановитьПараметр("КодПоОКАТО", СправкиПоНДФЛ.КодОКАТОизСуммыОКАТОиКПП(ОКАТО_КПП)); Запрос.УстановитьПараметр("КПП", СправкиПоНДФЛ.КППизСуммыОКАТОиКПП(ОКАТО_КПП)); Запрос.УстановитьПараметр("ОКАТО_КПП", ОКАТО_КПП); Запрос.УстановитьПараметр("ПустойКодПоОКАТО",""); Запрос.УстановитьПараметр("ПустойКПП",""); Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | НДФЛСведенияОДоходах.ФизЛицо, | НДФЛСведенияОДоходах.КодДохода |ПОМЕСТИТЬ ВТДоходы |ИЗ | РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СправкаПоНДФЛВНалоговыйОрган.СотрудникиОрганизации КАК СправкаПоНДФЛВНалоговыйОрганСотрудникиОрганизации | ПО НДФЛСведенияОДоходах.ФизЛицо = СправкаПоНДФЛВНалоговыйОрганСотрудникиОрганизации.Сотрудник | И (СправкаПоНДФЛВНалоговыйОрганСотрудникиОрганизации.Ссылка.Дата < &ДатаДокумента) | И (СправкаПоНДФЛВНалоговыйОрганСотрудникиОрганизации.Ссылка.Проведен) | И (СправкаПоНДФЛВНалоговыйОрганСотрудникиОрганизации.Ссылка.Организация = &Организация) | И (СправкаПоНДФЛВНалоговыйОрганСотрудникиОрганизации.Ссылка.НалоговыйПериод = &ГодНП) | И (СправкаПоНДФЛВНалоговыйОрганСотрудникиОрганизации.Ссылка.ОКАТО_КПП = &ОКАТО_КПП) | И (СправкаПоНДФЛВНалоговыйОрганСотрудникиОрганизации.Ссылка <> &Ссылка) | И (СправкаПоНДФЛВНалоговыйОрганСотрудникиОрганизации.Ссылка.ОснованиеДляПредставленияСправок = ЗНАЧЕНИЕ(Перечисление.ОснованияДляПредставленияСправок2НДФЛ.ЕжегоднаяОтчетность)) |ГДЕ | НДФЛСведенияОДоходах.ОбособленноеПодразделение = &Организация | И ГОД(НДФЛСведенияОДоходах.Период) = &ГодНП | И НДФЛСведенияОДоходах.ПериодРегистрации < &ДатаПодачиСведений | И ВЫБОР | КОГДА НДФЛСведенияОДоходах.КодПоОКАТО <> &ПустойКодПоОКАТО | ТОГДА НДФЛСведенияОДоходах.КодПоОКАТО | КОГДА ЕСТЬNULL(НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКАТО, &ПустойКодПоОКАТО) <> &ПустойКодПоОКАТО | ТОГДА НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКАТО | ИНАЧЕ ЕСТЬNULL(НДФЛСведенияОДоходах.ОбособленноеПодразделение.КодПоОКАТО, &ПустойКодПоОКАТО) | КОНЕЦ = &КодПоОКАТО | И ВЫБОР | КОГДА НДФЛСведенияОДоходах.КПП <> &ПустойКПП | ТОГДА НДФЛСведенияОДоходах.КПП | КОГДА ЕСТЬNULL(НДФЛСведенияОДоходах.ПодразделениеОрганизации.КПП, &ПустойКПП) <> &ПустойКПП | ТОГДА НДФЛСведенияОДоходах.ПодразделениеОрганизации.КПП | ИНАЧЕ ЕСТЬNULL(НДФЛСведенияОДоходах.ОбособленноеПодразделение.КПП, &ПустойКПП) | КОНЕЦ = &КПП | И СправкаПоНДФЛВНалоговыйОрганСотрудникиОрганизации.Сотрудник ЕСТЬ NULL |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Статусы.ФизЛицо, | Статусы.Статус |ПОМЕСТИТЬ ВТСтатусы |ИЗ | РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ.СрезПоследних( | &КонецНП, | ФизЛицо В | (ВЫБРАТЬ | ФизическиеЛица.ФизЛицо | ИЗ | ВТДоходы КАК ФизическиеЛица)) КАК Статусы |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 3000 | НДФЛСведенияОДоходах.ФизЛицо КАК Сотрудник, | ВЫБОР | КОГДА Статусы.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент) | ТОГДА ВЫБОР | КОГДА НДФЛСведенияОДоходах.КодДохода = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код1010) | ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка15) | ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30) | КОНЕЦ | КОГДА НДФЛСведенияОДоходах.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13) | ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13) | КОГДА НДФЛСведенияОДоходах.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка09) | ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка09) | КОГДА НДФЛСведенияОДоходах.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка35) | ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка35) | ИНАЧЕ """" | КОНЕЦ КАК Ставка |ИЗ | ВТДоходы КАК НДФЛСведенияОДоходах | ЛЕВОЕ СОЕДИНЕНИЕ ВТСтатусы КАК Статусы | ПО НДФЛСведенияОДоходах.ФизЛицо = Статусы.ФизЛицо | |УПОРЯДОЧИТЬ ПО | НДФЛСведенияОДоходах.ФизЛицо.Наименование"; СотрудникиОрганизации.Загрузить(СправкиПоНДФЛ.ДанныеСотрудников(Запрос.Выполнить().Выгрузить(), Дата)); Для каждого СтрокаТЧ Из СотрудникиОрганизации Цикл СтрокаТЧ.НомерСправки = НомерПервойСправки + СотрудникиОрганизации.Индекс(СтрокаТЧ) КонецЦикла; СтруктураДанных = СправкиПоНДФЛ.ДанныеОДоходах(СотрудникиОрганизации.Выгрузить(), НалоговыйПериод, Организация, ОбщегоНазначения.ГоловнаяОрганизация(Организация), ОКАТО_КПП, НачалоМесяца(Дата)); СведенияОДоходах.Загрузить(СтруктураДанных.Доходы); СведенияОВычетах.Загрузить(СтруктураДанных.Вычеты); ТаблицаИтогов = СтруктураДанных.Итоги; Для каждого СтрокаТЧ Из СотрудникиОрганизации Цикл ЗаполнитьЗначенияСвойств(СтрокаТЧ, ТаблицаИтогов.Найти(СтрокаТЧ.НомерСправки, "НомерСправки")); КонецЦикла; КонецПроцедуры // Автозаполнение() |
||||
Способ обхода: | Сначала создать и автоматически заполнить все документы по нужным кодам ОКАТО, а затем их проводить. | ||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10073257 | ||||
Дата публикации: | 08.02.2011 16:01:35 | ||||
Дата последнего изменения: | 08.02.2011 0:00:00 | ||||
Описание: | При переносе данных из ЗУП в ЗБУ, если на этапе выгрузки данных возникают ошибки, они не отображаются пользователю. | ||||
Планируется исправить в релизе: | 2.5.32 | ||||
Код ошибки: | 10073239 | ||||
Дата публикации: | 08.02.2011 16:01:11 | ||||
Дата последнего изменения: | 08.02.2011 0:00:00 | ||||
Описание: | При переносе квази-предопределенных элементов из ЗУП в ЗБУ возникает сообщение об ошибке. | ||||
Планируется исправить в релизе: | 2.5.32 | ||||
Код ошибки: | 10073265 | ||||
Дата публикации: | 04.02.2011 17:36:08 | ||||
Дата последнего изменения: | 04.02.2011 0:00:00 | ||||
Описание: | В формуле вида расчета запрещается запрашивать показатель, даже если он запрашивается в виде расчета другого вида учета. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10073118 | ||||
Дата публикации: | 04.02.2011 17:35:22 | ||||
Дата последнего изменения: | 04.02.2011 0:00:00 | ||||
Описание: | При расчете пособий по уходу за ребенком в 2011 году по отпускам, начавшимся в 2010, не применялось ограничение среднего заработка максимальным размером. | ||||
Способ исправления: | Заменить функцию РассчитатьРесурсыПоАлгоритму() о.м. ПроведениеРасчетов следующим фрагментом: Функция РассчитатьРесурсыПоАлгоритму(ИмяАлгоритма = "", КомментироватьРасчет = Ложь, Знач КомментарийВидаРасчета = Неопределено, СтрокаДвижений = Неопределено, ИсходныеДанные = Неопределено) Экспорт Если ИмяАлгоритма = "ПоСреднемуЗаработкуФСС2011" Тогда ДатаЗакона = ПроведениеРасчетов.ДатаНачалаРеформыСоцСтрахования(); Если СтрокаДвижений.ПериодРегистрации < ДатаЗакона Или СтрокаДвижений.ПериодДействияНачало < ДатаЗакона Тогда Возврат Ложь КонецЕсли; ОплачиваемоеВремя = ИсходныеДанные.КалендарныхДней; Если Не ЗначениеЗаполнено(ОплачиваемоеВремя) Тогда ОбщегоНазначенияЗК.ОшибкаРасчета(ИсходныеДанные.СотрудникНаименование + "; " + ИсходныеДанные.ВидРасчетаНаименование + ": Нет оплачиваемых дней в заданном периоде"); СтрокаДвижений.Результат = 0; СтрокаДвижений.ДополнительныйРезультат = 0; Возврат Истина; КонецЕсли; ЭтоПереходныйПериод = СтрокаДвижений.ДатаНачалаСобытия < ДатаЗакона И СтрокаДвижений.ПериодДействияНачало >= ДатаЗакона; Если ЭтоПереходныйПериод Тогда РезультатПоПравилам2010Года = 0; ДополнительныйРезультатПоПравилам2010Года = 0; ЗаработокЗаЕдиницуВремени2010Года = 0; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Пособие по страховому случаю, произошедшему до " + ДатаЗакона + ", за период после " + ДатаЗакона + " выплачивается по правилам 2011 года в том случае, если полученный результат превышает пособие, положенное по правилам 2010 года.", КомментарийВидаРасчета); КомментарийСтарогоПорядка = ОбщегоНазначенияЗК.КомментарийРасчета("Расчет по правилам 2010 года", КомментарийВидаРасчета); КонецЕсли; Если РассчитатьРесурсыПоАлгоритму("ПоСреднемуЗаработкуФСС213ФЗ", КомментироватьРасчет, КомментарийСтарогоПорядка, СтрокаДвижений, ИсходныеДанные) Тогда РезультатПоПравилам2010Года = СтрокаДвижений.Результат; ДополнительныйРезультатПоПравилам2010Года = СтрокаДвижений.ДополнительныйРезультат; ЗаработокЗаЕдиницуВремени2010Года = СтрокаДвижений.ДополнительныеДанные; СтрокаДвижений.Результат = 0; СтрокаДвижений.ДополнительныйРезультат = 0; КонецЕсли; Если КомментироватьРасчет Тогда КомментарийВидаРасчета = ОбщегоНазначенияЗК.КомментарийРасчета("Расчет по правилам 2011 года", КомментарийВидаРасчета); КонецЕсли; КонецЕсли; ПроцентОплаты = СтрокаДвижений.Показатель1; ПроцентОплатыБезЛьгот = СтрокаДвижений.Показатель2; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Процент оплаты от среднего заработка: " + ПроцентОплаты, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Оплачивается " + ОплачиваемоеВремя + " " + ОбщегоНазначения.ФормаМножественногоЧисла("день", "дня", "дней", ОплачиваемоеВремя), КомментарийВидаРасчета); КонецЕсли; // Рассчитаем заработок за день // для строк сторно заработок возьмем из реквизита "ДополнительныеДанные" записи начислений Если НЕ СтрокаДвижений.Сторно Тогда Если ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйБезОграничений Тогда ЗаработокЗаЕдиницуВремени = Окр(ИсходныеДанные.СреднийЗаработокПособий2011БезОграничений / 730,2); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Пособие начисляется без ограничений", КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Среднедневной заработок: " + ЗаработокЗаЕдиницуВремени, КомментарийВидаРасчета); КонецЕсли; Иначе ЗаработокЗаЕдиницуВремени = Окр(ИсходныеДанные.СреднийЗаработокПособий2011 / 730,2); Если КомментироватьРасчет Тогда Если ЗначениеЗаполнено(ИсходныеДанные.СреднийЗаработокПособий2011) И ИсходныеДанные.ВариантАлгоритмаРасчета <> Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОграничениемВРазмереММОТ Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Заработок за каждый из расчетных лет ограничен предельной величиной облагаемой базы по страховым взносам в ФСС", КомментарийВидаРасчета); КонецЕсли; ОбщегоНазначенияЗК.КомментарийРасчета("Среднедневной заработок: " + ЗаработокЗаЕдиницуВремени, КомментарийВидаРасчета); КонецЕсли; КонецЕсли; // сохраним заработок за единицу времени для возможных расчетов сторно записей в будущем СтрокаДвижений.ДополнительныеДанные = ЗаработокЗаЕдиницуВремени; Иначе ЗаработокЗаЕдиницуВремени = СтрокаДвижений.ДополнительныеДанные; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Среднедневной заработок: " + ЗаработокЗаЕдиницуВремени, КомментарийВидаРасчета); КонецЕсли; КонецЕсли; НормаВремени = День(КонецМесяца(ИсходныеДанные.ПериодДействияНачало)); РазмерОграниченияСнизу = ИсходныеДанные.РазмерММОТ * Мин(ИсходныеДанные.ДоляММОТ, 1); Если ЗаработокЗаЕдиницуВремени < РазмерОграниченияСнизу * 24 / 730 Тогда ЗаработокЗаЕдиницуВремени = Окр(РазмерОграниченияСнизу * 24 / 730 * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1), 2); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Минимальный размер среднеднего заработка рассчитан из МРОТ в сумме " + ИсходныеДанные.РазмерММОТ + ?(Мин(ИсходныеДанные.ДоляММОТ, 1) = 1,"", " с учетом коэффициента неполного рабочего времени в размере " + Мин(ИсходныеДанные.ДоляММОТ, 1)), КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("В качестве среднеднего заработка за месяц принята сумма: " + РазмерОграниченияСнизу + "; размер дневного пособия" + ?(ИсходныеДанные.РайонныйКоэффициентРФОрганизации <= 1, "", " с учетом РК " + ИсходныеДанные.РайонныйКоэффициентРФОрганизации) + " составил: " + Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплаты / 100,2), КомментарийВидаРасчета); КонецЕсли; КонецЕсли; Если ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОграничениемВРазмереММОТ Тогда РазмерОграниченияСверху = ИсходныеДанные.РазмерММОТ * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1); Если ОплачиваемоеВремя < НормаВремени Тогда ОграничениеПособия = Окр(РазмерОграниченияСверху / НормаВремени,2); Результат = ОплачиваемоеВремя * Мин(Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплаты / 100,2), ОграничениеПособия); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Максимальный размер пособия рассчитан из МРОТ в сумме " + ИсходныеДанные.РазмерММОТ + ?(Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1) = 1,"", " с учетом районного коэффициента в размере " + Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1)), КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Максимальный размер за оплачиваемый период составляет: " + ОплачиваемоеВремя * ОграничениеПособия, КомментарийВидаРасчета); КонецЕсли; Иначе ОграничениеПособия = Окр(РазмерОграниченияСверху,2); Результат = Мин(ОплачиваемоеВремя * Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплаты / 100,2), ОграничениеПособия); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Максимальный размер пособия рассчитан из МРОТ в сумме " + ИсходныеДанные.РазмерММОТ + ?(Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1) = 1,"", " с учетом районного коэффициента в размере " + Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1)), КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Максимальный размер за месяц составляет: " + ОграничениеПособия, КомментарийВидаРасчета); КонецЕсли; КонецЕсли; Иначе РазмерОграниченияСверху = 0; Результат = ОплачиваемоеВремя * Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплаты / 100,2); КонецЕсли; СтрокаДвижений.ОплаченоДнейЧасов = ОплачиваемоеВремя * ?(СтрокаДвижений.Сторно,-1,1); СтрокаДвижений.Результат = Результат; // часть пособия, финансируемая федеральным бюджетом Если ЗначениеЗаполнено(ПроцентОплатыБезЛьгот) И ЗначениеЗаполнено(ИсходныеДанные.ВидПособияСоциальногоСтрахования) Тогда Если ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОбщимОграничениемИВРазмереММОТС2010года Тогда РазмерОграниченияСверху = ИсходныеДанные.РазмерММОТ * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1) КонецЕсли; Результат = 0; Если РазмерОграниченияСверху = 0 Тогда Результат = ОплачиваемоеВремя * Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплатыБезЛьгот / 100,2); ИначеЕсли ОплачиваемоеВремя < НормаВремени Тогда ОграничениеПособия = Окр(РазмерОграниченияСверху / НормаВремени,2); Результат = ОплачиваемоеВремя * Мин(Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплатыБезЛьгот / 100,2), ОграничениеПособия); Иначе ОграничениеПособия = Окр(РазмерОграниченияСверху,2); Результат = Мин(ОплачиваемоеВремя * Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплатыБезЛьгот / 100,2), ОграничениеПособия); КонецЕсли; Если Результат < СтрокаДвижений.Результат Тогда СтрокаДвижений.ДополнительныйРезультат = (СтрокаДвижений.Результат - Результат) * ?(СтрокаДвижений.Сторно,-1,1); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Часть пособия, финансируемая Федеральным бюджетом, составляет: " + (СтрокаДвижений.Результат - Результат), КомментарийВидаРасчета); КонецЕсли; Иначе СтрокаДвижений.ДополнительныйРезультат = 0 КонецЕсли; КонецЕсли; Если ЭтоПереходныйПериод Тогда Если КомментироватьРасчет Тогда КомментарийВидаРасчета = КомментарийВидаРасчета.Родитель; КонецЕсли; Если СтрокаДвижений.Сторно Или СтрокаДвижений.Результат < РезультатПоПравилам2010Года Тогда Если Не СтрокаДвижений.Сторно Тогда СтрокаДвижений.ДополнительныеДанные = ЗаработокЗаЕдиницуВремени2010Года; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Пособие начислено по правилам 2010 года", КомментарийВидаРасчета); КонецЕсли; КонецЕсли; СтрокаДвижений.Результат = РезультатПоПравилам2010Года; СтрокаДвижений.ДополнительныйРезультат = ДополнительныйРезультатПоПравилам2010Года; ИначеЕсли Не СтрокаДвижений.Сторно И КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Пособие начислено по правилам 2011 года", КомментарийВидаРасчета); КонецЕсли; КонецЕсли; Возврат Истина КонецЕсли; Если ИмяАлгоритма = "ПоСреднемуЗаработкуФСС213ФЗ" Тогда ДатаЗакона213ФЗ = ПроведениеРасчетов.ДатаЗаменыЕСНСтраховымиВзносами(); Если СтрокаДвижений.ПериодРегистрации < ДатаЗакона213ФЗ Или СтрокаДвижений.ПериодДействияНачало < ДатаЗакона213ФЗ Тогда Возврат Ложь КонецЕсли; Если НЕ СтрокаДвижений.Сторно Тогда Если Не ЗначениеЗаполнено(ИсходныеДанные.СреднийЗаработокПособий2010) Тогда ОбщегоНазначенияЗК.ОшибкаРасчета(ИсходныеДанные.СотрудникНаименование + "; " + ИсходныеДанные.ВидРасчетаНаименование + ": Нет данных для расчета среднего заработка"); СтрокаДвижений.Результат = 0; СтрокаДвижений.ДополнительныйРезультат = 0; Возврат Истина; ИначеЕсли Не ЗначениеЗаполнено(ИсходныеДанные.ОтработаноДнейПособий2010) Тогда ОбщегоНазначенияЗК.ОшибкаРасчета(ИсходныеДанные.СотрудникНаименование + "; " + ИсходныеДанные.ВидРасчетаНаименование + ": Нет оплачиваемых дней в заданном периоде"); СтрокаДвижений.Результат = 0; СтрокаДвижений.ДополнительныйРезультат = 0; Возврат Истина; КонецЕсли; КонецЕсли; ПроцентОплаты = СтрокаДвижений.Показатель1; ПроцентОплатыБезЛьгот = СтрокаДвижений.Показатель2; ОплачиваемоеВремя = ?(ИсходныеДанные.КалендарныхДней = Null, 0,ИсходныеДанные.КалендарныхДней); // Рассчитаем заработок за день // для строк сторно заработок возьмем из реквизита "ДополнительныеДанные" записи начислений Если НЕ СтрокаДвижений.Сторно Тогда ЗаработокЗаЕдиницуВремени = Окр(ИсходныеДанные.СреднийЗаработокПособий2010 / ИсходныеДанные.ОтработаноДнейПособий2010,2); // сохраним заработок за единицу времени для возможных расчетов сторно записей в будущем СтрокаДвижений.ДополнительныеДанные = ЗаработокЗаЕдиницуВремени; Иначе ЗаработокЗаЕдиницуВремени = СтрокаДвижений.ДополнительныеДанные; КонецЕсли; НормаВремени = День(КонецМесяца(ИсходныеДанные.ПериодДействияНачало)); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Процент оплаты: " + ПроцентОплаты, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Оплачивается " + ОплачиваемоеВремя + " " + ОбщегоНазначения.ФормаМножественногоЧисла("день", "дня", "дней", ОплачиваемоеВремя), КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Среднедневной заработок: " + ЗаработокЗаЕдиницуВремени, КомментарийВидаРасчета); КонецЕсли; Если ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОбщимОграничениемС2010года Тогда РазмерОграничения = ИсходныеДанные.РазмерОбщегоОграничения2010 / 365 ИначеЕсли ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОбщимОграничениемИВРазмереММОТС2010года Тогда РазмерОграничения = ИсходныеДанные.РазмерОбщегоОграничения2010 / 365 ИначеЕсли ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОбщимОграничением Тогда РазмерОграничения = ИсходныеДанные.РазмерОбщегоОграничения * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1) ИначеЕсли ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОграничениемПоБеременности Тогда РазмерОграничения = ИсходныеДанные.РазмерПоБеременности * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1) ИначеЕсли ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОграничениемВРазмереММОТ Тогда РазмерОграничения = ИсходныеДанные.РазмерММОТ * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1) ИначеЕсли ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОграничениемВРазмереММОТбезРК Тогда РазмерОграничения = ИсходныеДанные.РазмерММОТ Иначе РазмерОграничения = 0; КонецЕсли; Если РазмерОграничения = 0 Тогда Результат = ОплачиваемоеВремя * Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплаты / 100,2); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Пособие начисляется без ограничений", КомментарийВидаРасчета); КонецЕсли; ИначеЕсли ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОбщимОграничениемС2010года Или ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОбщимОграничениемИВРазмереММОТС2010года Тогда ОграничениеПособия = Окр(РазмерОграничения,2); Результат = ОплачиваемоеВремя * Окр(Мин(ЗаработокЗаЕдиницуВремени, ОграничениеПособия) * ПроцентОплаты / 100,2); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Ограничение среднего заработка: " + ОграничениеПособия, КомментарийВидаРасчета); КонецЕсли; ИначеЕсли ОплачиваемоеВремя = 0 Тогда ОбщегоНазначенияЗК.ОшибкаРасчета(ИсходныеДанные.СотрудникНаименование + "; " + ИсходныеДанные.ВидРасчетаНаименование + ": Нет оплачиваемых дней в заданном периоде"); Иначе Если ОплачиваемоеВремя < НормаВремени Тогда ОграничениеПособия = Окр(РазмерОграничения / НормаВремени,2); Результат = ОплачиваемоеВремя * Мин(Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплаты / 100,2), ОграничениеПособия); Иначе ОграничениеПособия = Окр(РазмерОграничения,2); Результат = Мин(ОплачиваемоеВремя * Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплаты / 100,2), ОграничениеПособия); КонецЕсли; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Ограничение пособия: " + ОграничениеПособия, КомментарийВидаРасчета); КонецЕсли; КонецЕсли; СтрокаДвижений.ОплаченоДнейЧасов = ОплачиваемоеВремя * ?(СтрокаДвижений.Сторно,-1,1); СтрокаДвижений.Результат = Результат; Если ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОбщимОграничениемИВРазмереММОТС2010года Тогда РазмерОграничения = ИсходныеДанные.РазмерММОТ * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1) КонецЕсли; Если ЗначениеЗаполнено(ПроцентОплатыБезЛьгот) И ЗначениеЗаполнено(ИсходныеДанные.ВидПособияСоциальногоСтрахования) Тогда Результат = 0; Если РазмерОграничения = 0 Тогда Результат = ОплачиваемоеВремя * Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплатыБезЛьгот / 100,2); ИначеЕсли ИсходныеДанные.ВариантАлгоритмаРасчета = Перечисления.ВариантыАлгоритмовРасчета.БольничныйСОбщимОграничениемС2010года Тогда ОграничениеПособия = Окр(РазмерОграничения,2); Результат = ОплачиваемоеВремя * Окр(Мин(ЗаработокЗаЕдиницуВремени, ОграничениеПособия) * ПроцентОплатыБезЛьгот / 100,2); ИначеЕсли ОплачиваемоеВремя <> 0 Тогда Если ОплачиваемоеВремя < НормаВремени Тогда ОграничениеПособия = Окр(РазмерОграничения / НормаВремени,2); Результат = ОплачиваемоеВремя * Мин(Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплатыБезЛьгот / 100,2), ОграничениеПособия); Иначе ОграничениеПособия = Окр(РазмерОграничения,2); Результат = Мин(ОплачиваемоеВремя * Окр(ЗаработокЗаЕдиницуВремени * ПроцентОплатыБезЛьгот / 100,2), ОграничениеПособия); КонецЕсли; КонецЕсли; Если Результат < СтрокаДвижений.Результат Тогда СтрокаДвижений.ДополнительныйРезультат = (СтрокаДвижений.Результат - Результат) * ?(СтрокаДвижений.Сторно,-1,1); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Часть пособия, финансируемая Федеральным бюджетом, составляет: " + (СтрокаДвижений.Результат - Результат), КомментарийВидаРасчета); КонецЕсли; Иначе СтрокаДвижений.ДополнительныйРезультат = 0 КонецЕсли; КонецЕсли; Возврат Истина КонецЕсли; Если ИмяАлгоритма = "ПособиеПоУходуЗаРебенком213ФЗ" Тогда ДатаЗакона213ФЗ = ПроведениеРасчетов.ДатаЗаменыЕСНСтраховымиВзносами(); ДатаЗакона343ФЗ = ПроведениеРасчетов.ДатаНачалаРеформыСоцСтрахования(); КалендарныхДнейВМесяце = День(КонецМесяца(ИсходныеДанные.ПериодДействияНачало)); Если СтрокаДвижений.Показатель2 = 0 Тогда ОбщегоНазначенияЗК.ОшибкаРасчета(ИсходныеДанные.СотрудникНаименование + "; " + ИсходныеДанные.ВидРасчетаНаименование + ": Не указано количество детей, за которыми производится уход "); СтрокаДвижений.Результат = 0; Возврат Истина; КонецЕсли; ОплачиваемыеДни = ИсходныеДанные.КалендарныхДней; // календарных дней за фактический период действия КоличествоДетейВсего = СтрокаДвижений.Показатель2; КоличествоПервыхДетей = СтрокаДвижений.Показатель3; Если ИсходныеДанные.ПериодДействияНачало < ДатаЗакона213ФЗ Тогда // часть 4 ст. 15 Федерального закона от 19 мая 1995 года № 81-ФЗ «О государственных пособиях гражданам, имеющим детей»: // "В случае ухода за двумя и более детьми до достижения ими возраста полутора лет размер пособия, исчисленный в // соответствии с частями первой и второй настоящей статьи, суммируется. При этом суммированный размер пособия, // исчисленный исходя из среднего заработка (дохода, денежного довольствия), не может превышать 100 процентов // размера указанного заработка (дохода, денежного довольствия)." ПроцентОплаты = Мин(40 * КоличествоДетейВсего,100); // части 3 и 4 ст. 15 Федерального закона от 19 мая 1995 года № 81-ФЗ «О государственных пособиях гражданам, имеющим детей»: // "В районах и местностях, в которых в установленном порядке применяются районные коэффициенты к заработной плате, // минимальный и максимальный размеры указанного пособия определяются с учетом этих коэффициентов." // "...суммированный размер пособия ... не может быть менее суммированного минимального размера пособия" ОграничениеПособияСнизу = (ИсходныеДанные.МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет * КоличествоПервыхДетей + ИсходныеДанные.МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет * (КоличествоДетейВсего - КоличествоПервыхДетей)) * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1); ОграничениеПособияСверху = ИсходныеДанные.МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет * КоличествоДетейВсего * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1); // определяем среднемесячный заработок путем умножения среднего дневного заработка на среднемесячное число календарных дней // согласно п.5 Разъяснения о порядке назначения и выплаты ежемесячного пособия по уходу за ребенком, утв. приказом // Минздравсоцразвития РФ N 270, ФСС РФ N 106 от 13.04.2007 РазмерПособия = Окр(СтрокаДвижений.Показатель1 * ПроцентОплаты / 100 * ?(ДеньГода(КонецГода(ИсходныеДанные.ПериодДействияНачало)) = 365,30.4,30.5), 2); // пособие за месяц с учетом ограничений ОрганиченныйРазмер = Макс(Мин(РазмерПособия, ОграничениеПособияСверху), ОграничениеПособияСнизу); Если ОплачиваемыеДни < КалендарныхДнейВМесяце Тогда Результат = Окр(ОрганиченныйРазмер / КалендарныхДнейВМесяце * ОплачиваемыеДни, 2); Иначе Результат = ОрганиченныйРазмер; КонецЕсли; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Размер пособия в процентах от среднего заработка: " + ПроцентОплаты, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Размер пособия за месяц исходя из среднего заработка: " + РазмерПособия, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Учтенный районный коэффициент: " + Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1), КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Минимальный размер пособия: " + ОграничениеПособияСнизу, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Максимальный размер пособия: " + ОграничениеПособияСверху, КомментарийВидаРасчета); Если ОрганиченныйРазмер = РазмерПособия Тогда ТекстСообщения = "Расчет производится исходя из среднего заработка"; ИначеЕсли ОрганиченныйРазмер = ОграничениеПособияСверху Тогда ТекстСообщения = "Расчет производится исходя из максимального размера пособия"; Иначе ТекстСообщения = "Расчет производится исходя из минимального размера пособия"; КонецЕсли; ОбщегоНазначенияЗК.КомментарийРасчета(ТекстСообщения, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Календарных дней в месяце: " + КалендарныхДнейВМесяце, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Оплачиваемые дни отпуска: " + ОплачиваемыеДни, КомментарийВидаРасчета); КонецЕсли; ИначеЕсли ИсходныеДанные.ПериодДействияНачало < ДатаЗакона343ФЗ Или СтрокаДвижений.ДатаНачалаСобытия < ДатаЗакона343ФЗ Тогда // для расчетов используется максимальный среднедневной заработок (из исчисленных по "старым" и по "новым" правилам) СреднедневнойЗаработок = Макс(СтрокаДвижений.Показатель1, СтрокаДвижений.Показатель6); // льготы предусмотрены статьей 18 Закона РФ от 15.05.1991 № 1244-1 «О социальной // защите граждан, подвергшихся воздействию радиации вследствие катастрофы на // Чернобыльской АЭС», дополнительные суммы пособия при этом финансируются // федеральным бюджетом КоэффициентЛьготы = Макс(СтрокаДвижений.Показатель4, 1); // если льгота не применяется, коэффициент будет равен 1 КоэффициентФедеральногоБюджета = Мин(СтрокаДвижений.Показатель5, 1); // часть 4 ст. 15 Федерального закона от 19 мая 1995 года № 81-ФЗ «О государственных пособиях гражданам, имеющим детей»: // "В случае ухода за двумя и более детьми до достижения ими возраста полутора лет размер пособия, исчисленный в // соответствии с частями первой и второй настоящей статьи, суммируется. При этом суммированный размер пособия, // исчисленный исходя из среднего заработка (дохода, денежного довольствия), не может превышать 100 процентов // размера указанного заработка (дохода, денежного довольствия)." ПроцентОплаты = Мин(40 * КоличествоДетейВсего * КоэффициентЛьготы,100); // части 3 и 4 ст. 15 Федерального закона от 19 мая 1995 года № 81-ФЗ «О государственных пособиях гражданам, имеющим детей»: // "В районах и местностях, в которых в установленном порядке применяются районные коэффициенты к заработной плате, // минимальный размер указанного пособия определяются с учетом этих коэффициентов." // "...суммированный размер пособия ... не может быть менее суммированного минимального размера пособия" ОграничениеПособияСнизу = (ИсходныеДанные.МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет * КоличествоПервыхДетей + ИсходныеДанные.МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет * (КоличествоДетейВсего - КоличествоПервыхДетей)) * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1) * КоэффициентЛьготы; // В соответствии с частью 5.1 статьи 14 Федеральный закон от 29 декабря 2006 года № 255-ФЗ «Об обязательном социальном // страховании на случай временной нетрудоспособности и в связи с материнством» // определяем среднемесячный заработок путем умножения среднего дневного заработка на 30.4 СреднийЗаработок = Окр(СреднедневнойЗаработок * 30.4, 2); // Средний заработок, из которого исчисляется ежемесячное пособие по уходу за ребенком, не может превышать // средний заработок, определяемый путем деления предельной величины базы для начисления страховых взносов // в Фонд социального страхования Российской Федерации, установленной Федеральным законом "О страховых взносах // в Пенсионный фонд Российской Федерации, Фонд социального страхования Российской Федерации, Федеральный фонд // обязательного медицинского страхования и территориальные фонды обязательного медицинского страхования" на день // наступления страхового случая, на 12. РазмерОграничения = Окр(ИсходныеДанные.РазмерОбщегоОграничения2010 / 12, 2); РазмерПособия = Окр(Мин(СреднийЗаработок,РазмерОграничения) * ПроцентОплаты / 100, 2); // пособие за месяц с учетом ограничений ОрганиченныйРазмер = Макс(РазмерПособия, ОграничениеПособияСнизу); Если ОплачиваемыеДни < КалендарныхДнейВМесяце Тогда Результат = Окр(ОрганиченныйРазмер / КалендарныхДнейВМесяце * ОплачиваемыеДни, 2); Иначе Результат = ОрганиченныйРазмер; КонецЕсли; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Максимальный размер среднего заработка: " + РазмерОграничения, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Учтенный районный коэффициент: " + Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1), КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Средний заработок, из которого исчисляется пособие: " + СреднийЗаработок, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Размер пособия в процентах от среднего заработка: " + ПроцентОплаты, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Размер пособия за месяц исходя из среднего заработка: " + РазмерПособия, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Минимальный размер пособия: " + ОграничениеПособияСнизу, КомментарийВидаРасчета); Если ОрганиченныйРазмер = РазмерПособия Тогда ТекстСообщения = "Расчет производится исходя из среднего заработка"; Иначе ТекстСообщения = "Расчет производится исходя из минимального размера пособия"; КонецЕсли; ОбщегоНазначенияЗК.КомментарийРасчета(ТекстСообщения, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Календарных дней в месяце: " + КалендарныхДнейВМесяце, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Оплачиваемые дни отпуска: " + ОплачиваемыеДни, КомментарийВидаРасчета); КонецЕсли; Если КоэффициентФедеральногоБюджета = 1 Тогда // пособие целиком за счет федерального бюджета СтрокаДвижений.ДополнительныйРезультат = Результат * ?(СтрокаДвижений.Сторно,-1,1); ИначеЕсли КоэффициентФедеральногоБюджета = 0.5 Тогда // пособие за счет федерального бюджета выплачивается частично ОрганиченныйРазмер = Макс(Окр(Мин(СреднийЗаработок,РазмерОграничения) * Мин(40 * КоличествоДетейВсего,100) / 100, 2), ОграничениеПособияСнизу); Если ОплачиваемыеДни < КалендарныхДнейВМесяце Тогда ДопРезультат = Окр(ОрганиченныйРазмер / КалендарныхДнейВМесяце * ОплачиваемыеДни, 2); Иначе ДопРезультат = ОрганиченныйРазмер; КонецЕсли; СтрокаДвижений.ДополнительныйРезультат = Макс(Результат - ДопРезультат, 0) * ?(СтрокаДвижений.Сторно,-1,1); КонецЕсли; Иначе // для расчетов используется максимальный среднедневной заработок (из исчисленных по "старым" и по "новым" правилам) СреднедневнойЗаработок = Макс(СтрокаДвижений.Показатель1, СтрокаДвижений.Показатель6); // льготы предусмотрены статьей 18 Закона РФ от 15.05.1991 № 1244-1 «О социальной // защите граждан, подвергшихся воздействию радиации вследствие катастрофы на // Чернобыльской АЭС», дополнительные суммы пособия при этом финансируются // федеральным бюджетом КоэффициентЛьготы = Макс(СтрокаДвижений.Показатель4, 1); // если льгота не применяется, коэффициент будет равен 1 КоэффициентФедеральногоБюджета = Мин(СтрокаДвижений.Показатель5, 1); // часть 4 ст. 15 Федерального закона от 19 мая 1995 года № 81-ФЗ «О государственных пособиях гражданам, имеющим детей»: // "В случае ухода за двумя и более детьми до достижения ими возраста полутора лет размер пособия, исчисленный в // соответствии с частями первой и второй настоящей статьи, суммируется. При этом суммированный размер пособия, // исчисленный исходя из среднего заработка (дохода, денежного довольствия), не может превышать 100 процентов // размера указанного заработка (дохода, денежного довольствия)." ПроцентОплаты = Мин(40 * КоличествоДетейВсего * КоэффициентЛьготы,100); // части 3 и 4 ст. 15 Федерального закона от 19 мая 1995 года № 81-ФЗ «О государственных пособиях гражданам, имеющим детей»: // "В районах и местностях, в которых в установленном порядке применяются районные коэффициенты к заработной плате, // минимальный размер указанного пособия определяются с учетом этих коэффициентов." // "...суммированный размер пособия ... не может быть менее суммированного минимального размера пособия" ОграничениеПособияСнизу = (ИсходныеДанные.МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет * КоличествоПервыхДетей + ИсходныеДанные.МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет * (КоличествоДетейВсего - КоличествоПервыхДетей)) * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1) * КоэффициентЛьготы; // В соответствии с частью 5.1 статьи 14 Федеральный закон от 29 декабря 2006 года № 255-ФЗ «Об обязательном социальном // страховании на случай временной нетрудоспособности и в связи с материнством» // определяем среднемесячный заработок путем умножения среднего дневного заработка на 30.4 СреднийЗаработок = Окр(СреднедневнойЗаработок * 30.4, 2); РазмерПособия = Окр(СреднийЗаработок * ПроцентОплаты / 100, 2); // пособие за месяц с учетом ограничений ОрганиченныйРазмер = Макс(РазмерПособия, ОграничениеПособияСнизу); Если ОплачиваемыеДни < КалендарныхДнейВМесяце Тогда Результат = Окр(ОрганиченныйРазмер / КалендарныхДнейВМесяце * ОплачиваемыеДни, 2); Иначе Результат = ОрганиченныйРазмер; КонецЕсли; Если КомментироватьРасчет Тогда Если Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1) > 1 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Учтенный районный коэффициент: " + Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1), КомментарийВидаРасчета); КонецЕсли; ОбщегоНазначенияЗК.КомментарийРасчета("Средний заработок, из которого исчисляется пособие: " + СреднийЗаработок, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Размер пособия в процентах от среднего заработка: " + ПроцентОплаты, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Размер пособия за месяц исходя из среднего заработка: " + РазмерПособия, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Минимальный размер пособия: " + ОграничениеПособияСнизу, КомментарийВидаРасчета); Если ОрганиченныйРазмер = РазмерПособия Тогда ТекстСообщения = "Расчет производится исходя из среднего заработка"; Иначе ТекстСообщения = "Расчет производится исходя из минимального размера пособия"; КонецЕсли; ОбщегоНазначенияЗК.КомментарийРасчета(ТекстСообщения, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Календарных дней в месяце: " + КалендарныхДнейВМесяце, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Оплачиваемые дни отпуска: " + ОплачиваемыеДни, КомментарийВидаРасчета); КонецЕсли; Если КоэффициентФедеральногоБюджета = 1 Тогда // пособие целиком за счет федерального бюджета СтрокаДвижений.ДополнительныйРезультат = Результат * ?(СтрокаДвижений.Сторно,-1,1); ИначеЕсли КоэффициентФедеральногоБюджета = 0.5 Тогда // пособие за счет федерального бюджета выплачивается частично ОрганиченныйРазмер = Макс(Окр(СреднийЗаработок * Мин(40 * КоличествоДетейВсего,100) / 100, 2), ОграничениеПособияСнизу); Если ОплачиваемыеДни < КалендарныхДнейВМесяце Тогда ДопРезультат = Окр(ОрганиченныйРазмер / КалендарныхДнейВМесяце * ОплачиваемыеДни, 2); Иначе ДопРезультат = ОрганиченныйРазмер; КонецЕсли; СтрокаДвижений.ДополнительныйРезультат = Макс(Результат - ДопРезультат, 0) * ?(СтрокаДвижений.Сторно,-1,1); КонецЕсли; КонецЕсли; СтрокаДвижений.Результат = Результат; СтрокаДвижений.ОплаченоДнейЧасов = ОплачиваемыеДни * ?(СтрокаДвижений.Сторно,-1,1); Возврат Истина КонецЕсли; Если ИмяАлгоритма = "ДоплатаДоСреднегоЗаработкаФСС2011" Тогда ДатаЗакона = ПроведениеРасчетов.ДатаНачалаРеформыСоцСтрахования(); Если СтрокаДвижений.ПериодРегистрации < ДатаЗакона Или СтрокаДвижений.ПериодДействияНачало < ДатаЗакона Тогда Возврат Ложь КонецЕсли; ОплачиваемоеВремя = ИсходныеДанные.КалендарныхДней; ЭтоПереходныйПериод = СтрокаДвижений.ДатаНачалаСобытия < ДатаЗакона И СтрокаДвижений.ПериодДействияНачало >= ДатаЗакона; РезультатПоПравилам2010Года = 0; ЗаработокЗаЕдиницуВремени2010Года = 0; Если ЭтоПереходныйПериод Тогда // Рассчитаем заработок за день // для строк сторно заработок возьмем из реквизита "ДополнительныеДанные" записи начислений Если СтрокаДвижений.Сторно Тогда ЗаработокЗаЕдиницуВремени = СтрокаДвижений.ДополнительныеДанные; ИначеЕсли Не ЗначениеЗаполнено(ИсходныеДанные.СреднийЗаработокПособий2010) Или Не ЗначениеЗаполнено(ИсходныеДанные.ОтработаноДнейПособий2010) Тогда ЗаработокЗаЕдиницуВремени = 0; Иначе ЗаработокЗаЕдиницуВремени = Окр(ИсходныеДанные.СреднийЗаработокПособий2010 / ИсходныеДанные.ОтработаноДнейПособий2010,2); КонецЕсли; РезультатПоПравилам2010Года = ОплачиваемоеВремя * ЗаработокЗаЕдиницуВремени; ЗаработокЗаЕдиницуВремени2010Года = ЗаработокЗаЕдиницуВремени; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Расчет по правилам 2010 года", КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Среднедневной заработок: " + ЗаработокЗаЕдиницуВремени, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Расчет по правилам 2011 года", КомментарийВидаРасчета); КонецЕсли; КонецЕсли; // Рассчитаем заработок за день // для строк сторно заработок возьмем из реквизита "ДополнительныеДанные" записи начислений Если НЕ СтрокаДвижений.Сторно Тогда ЗаработокЗаЕдиницуВремени = Окр(ИсходныеДанные.СреднийЗаработокПособий2011БезОграничений / 730,2); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Среднедневной заработок: " + ЗаработокЗаЕдиницуВремени, КомментарийВидаРасчета); КонецЕсли; // сохраним заработок за единицу времени для возможных расчетов сторно записей в будущем СтрокаДвижений.ДополнительныеДанные = ЗаработокЗаЕдиницуВремени; Иначе ЗаработокЗаЕдиницуВремени = СтрокаДвижений.ДополнительныеДанные; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Среднедневной заработок: " + ЗаработокЗаЕдиницуВремени, КомментарийВидаРасчета); КонецЕсли; КонецЕсли; РазмерОграниченияСнизу = ИсходныеДанные.РазмерММОТ * Мин(ИсходныеДанные.ДоляММОТ, 1); Если ЗаработокЗаЕдиницуВремени < РазмерОграниченияСнизу * 24 / 730 Тогда ЗаработокЗаЕдиницуВремени = Окр(РазмерОграниченияСнизу * 24 / 730 * Макс(ИсходныеДанные.РайонныйКоэффициентРФОрганизации, 1), 2); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Минимальный размер среднеднего заработка рассчитан из МРОТ в сумме " + ИсходныеДанные.РазмерММОТ + ?(Мин(ИсходныеДанные.ДоляММОТ, 1) = 1,"", " с учетом коэффициента неполного рабочего времени в размере " + Мин(ИсходныеДанные.ДоляММОТ, 1)), КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("В качестве среднеднего заработка за месяц принята сумма: " + РазмерОграниченияСнизу + "; размер среднедневного заработка" + ?(ИсходныеДанные.РайонныйКоэффициентРФОрганизации <= 1, "", " с учетом РК " + ИсходныеДанные.РайонныйКоэффициентРФОрганизации) + " составил: " + ЗаработокЗаЕдиницуВремени, КомментарийВидаРасчета); КонецЕсли; КонецЕсли; Результат = ОплачиваемоеВремя * ЗаработокЗаЕдиницуВремени; Если ЭтоПереходныйПериод Тогда Если СтрокаДвижений.Сторно Или Результат < РезультатПоПравилам2010Года Тогда Если Не СтрокаДвижений.Сторно Тогда СтрокаДвижений.ДополнительныеДанные = ЗаработокЗаЕдиницуВремени2010Года; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Средний заработок рассчитан по правилам 2010 года", КомментарийВидаРасчета); КонецЕсли; КонецЕсли; Результат = РезультатПоПравилам2010Года; ИначеЕсли Не СтрокаДвижений.Сторно И КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Средний заработок рассчитан по правилам 2011 года", КомментарийВидаРасчета); КонецЕсли; КонецЕсли; Если СтрокаДвижений.Сторно И Не СтрокаДвижений.РасчетнаяБазаЗаЕдиницуНормыВремени = 0 Тогда // при расчете сторно получаем "отнормированную" базу из реквизита записи регистра // и учтем отработанное время; для записей которые были рассчитаны ранее, этот реквизит пуст, // поэтому для них получим базу прежним способом ОтработанноеВремя = ?(ИсходныеДанные.ВидУчетаВремени = Перечисления.ВидыУчетаВремени.ПоДням, ИсходныеДанные.ОтработаноДней, ИсходныеДанные.ОтработаноЧасов); РезультатБаза = СтрокаДвижений.РасчетнаяБазаЗаЕдиницуНормыВремени * ОтработанноеВремя; Иначе РезультатБаза = ИсходныеДанные.РезультатБаза; КонецЕсли; СреднийЗаработок = Результат; Результат = Макс(СреднийЗаработок - ?(РезультатБаза = NULL, 0, РезультатБаза), 0); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Оплачиваемое время: " + ОплачиваемоеВремя, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Средний заработок: " + СреднийЗаработок, КомментарийВидаРасчета); КомментарийБазы = ОбщегоНазначенияЗК.КомментарийРасчета("Вычитаемые начисления составили всего: " + РезультатБаза, КомментарийВидаРасчета,,,, Ложь); РасшифровкаБазы = ИсходныеДанные.Выбрать(); Пока РасшифровкаБазы.Следующий() Цикл Если ЗначениеЗаполнено(РасшифровкаБазы.РезультатБаза) Тогда ОбщегоНазначенияЗК.КомментарийРасчета(РасшифровкаБазы.ВидРасчетаРазрезНаименование + ": " + РасшифровкаБазы.РезультатБаза, КомментарийБазы); КонецЕсли; КонецЦикла; КонецЕсли; СтрокаДвижений.ОплаченоДнейЧасов = ОплачиваемоеВремя * ?(СтрокаДвижений.Сторно,-1,1); СтрокаДвижений.Результат = Результат; Возврат Истина КонецЕсли; Если ИмяАлгоритма = "ДоплатаДоСреднегоЗаработкаФСС" Тогда Если ПроведениеРасчетов.РассчитатьРесурсыПоАлгоритму("ДоплатаДоСреднегоЗаработкаФСС2011", КомментироватьРасчет, КомментарийВидаРасчета, СтрокаДвижений, ИсходныеДанные) Тогда Возврат Истина КонецЕсли; ДатаЗакона213ФЗ = ПроведениеРасчетов.ДатаЗаменыЕСНСтраховымиВзносами(); ЭтоПорядок2010 = СтрокаДвижений.ПериодРегистрации >= ДатаЗакона213ФЗ И СтрокаДвижений.ПериодДействияНачало >= ДатаЗакона213ФЗ; Если НЕ СтрокаДвижений.Сторно Тогда Если ЭтоПорядок2010 Тогда Если Не ЗначениеЗаполнено(ИсходныеДанные.СреднийЗаработокПособий2010) Тогда ОбщегоНазначенияЗК.ОшибкаРасчета(ИсходныеДанные.СотрудникНаименование + "; " + ИсходныеДанные.ВидРасчетаНаименование + ": Нет данных для расчета среднего заработка"); СтрокаДвижений.Результат = 0; Возврат Истина; ИначеЕсли Не ЗначениеЗаполнено(ИсходныеДанные.ОтработаноДнейПособий2010) Тогда ОбщегоНазначенияЗК.ОшибкаРасчета(ИсходныеДанные.СотрудникНаименование + "; " + ИсходныеДанные.ВидРасчетаНаименование + ": Нет оплачиваемых дней в заданном периоде"); СтрокаДвижений.Результат = 0; Возврат Истина; КонецЕсли; ИначеЕсли Не ЗначениеЗаполнено(ИсходныеДанные.СреднийЗаработокПособий) Тогда ОбщегоНазначенияЗК.ОшибкаРасчета(ИсходныеДанные.СотрудникНаименование + "; " + ИсходныеДанные.ВидРасчетаНаименование + ": Нет данных для расчета среднего заработка"); СтрокаДвижений.Результат = 0; Возврат Истина; ИначеЕсли Не ЗначениеЗаполнено(ИсходныеДанные.ОтработаноДнейПособий) Тогда ОбщегоНазначенияЗК.ОшибкаРасчета(ИсходныеДанные.СотрудникНаименование + "; " + ИсходныеДанные.ВидРасчетаНаименование + ": Нет оплачиваемых дней в заданном периоде"); СтрокаДвижений.Результат = 0; Возврат Истина; КонецЕсли; КонецЕсли; // Рассчитаем заработок за день // для строк сторно заработок возьмем из реквизита "ДополнительныеДанные" записи начислений Если НЕ СтрокаДвижений.Сторно Тогда Если ЭтоПорядок2010 Тогда ЗаработокЗаЕдиницуВремени = Окр(ИсходныеДанные.СреднийЗаработокПособий2010 / ИсходныеДанные.ОтработаноДнейПособий2010,2); Иначе ЗаработокЗаЕдиницуВремени = Окр(ИсходныеДанные.СреднийЗаработокПособий / ИсходныеДанные.ОтработаноДнейПособий,2); КонецЕсли; // сохраним заработок за единицу времени для возможных расчетов сторно записей в будущем СтрокаДвижений.ДополнительныеДанные = ЗаработокЗаЕдиницуВремени; Иначе ЗаработокЗаЕдиницуВремени = СтрокаДвижений.ДополнительныеДанные; КонецЕсли; Если СтрокаДвижений.Сторно И НЕ СтрокаДвижений.РасчетнаяБазаЗаЕдиницуНормыВремени = 0 Тогда // при расчете сторно получаем "отнормированную" базу из реквизита записи регистра // и учтем отработанное время; для записей которые были рассчитаны ранее, этот реквизит пуст, // поэтому для них получим базу прежним способом ОтработанноеВремя = ?(ИсходныеДанные.ВидУчетаВремени = Перечисления.ВидыУчетаВремени.ПоДням, ИсходныеДанные.ОтработаноДней, ИсходныеДанные.ОтработаноЧасов); РезультатБаза = СтрокаДвижений.РасчетнаяБазаЗаЕдиницуНормыВремени * ОтработанноеВремя; Иначе РезультатБаза = ИсходныеДанные.РезультатБаза; КонецЕсли; ОплачиваемоеВремя = ?(ИсходныеДанные.КалендарныхДней = Null, 0,ИсходныеДанные.КалендарныхДней); СреднийЗаработок = ОплачиваемоеВремя * ЗаработокЗаЕдиницуВремени; Результат = Макс(СреднийЗаработок - ?(РезультатБаза = NULL, 0, РезультатБаза), 0); Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Среднедневной заработок: " + ЗаработокЗаЕдиницуВремени, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Оплачиваемое время: " + ОплачиваемоеВремя, КомментарийВидаРасчета); ОбщегоНазначенияЗК.КомментарийРасчета("Средний заработок: " + СреднийЗаработок, КомментарийВидаРасчета); КомментарийБазы = ОбщегоНазначенияЗК.КомментарийРасчета("Вычитаемые начисления составили всего: " + РезультатБаза, КомментарийВидаРасчета,,,, Ложь); РасшифровкаБазы = ИсходныеДанные.Выбрать(); Пока РасшифровкаБазы.Следующий() Цикл Если ЗначениеЗаполнено(РасшифровкаБазы.РезультатБаза) Тогда ОбщегоНазначенияЗК.КомментарийРасчета(РасшифровкаБазы.ВидРасчетаРазрезНаименование + ": " + РасшифровкаБазы.РезультатБаза, КомментарийБазы); КонецЕсли; КонецЦикла; КонецЕсли; СтрокаДвижений.ОплаченоДнейЧасов = ОплачиваемоеВремя * ?(СтрокаДвижений.Сторно,-1,1); СтрокаДвижений.Результат = Результат; Возврат Истина КонецЕсли; Если ИмяАлгоритма = "ПочтовыеПереводы" Тогда Если ИсходныеДанные.ПоТарифу Тогда Если ИсходныеДанные.СуммаАлиментов > 500000 Тогда ОбщегоНазначенияЗК.ОшибкаРасчета(ИсходныеДанные.СотрудникНаименование + "; " + ИсходныеДанные.ВидРасчетаНаименование + ": превышена максимальная сумма почтового перевода - 500000 рублей"); Иначе СтрокаДвижений.Результат = ИсходныеДанные.РазмерПочтовогоПеревода; КонецЕсли; Иначе СтрокаДвижений.Результат = СтрокаДвижений["Показатель1"] / 100 * ОбщегоНазначения.ЦелМаксимальное(ИсходныеДанные.РазмерПочтовогоПеревода); КонецЕсли; Возврат Истина КонецЕсли; Возврат Ложь КонецФункции |
||||
Планируется исправить в релизе: | 2.5.32 | ||||
Код ошибки: | 10073064 | ||||
Дата публикации: | 04.02.2011 17:32:02 | ||||
Дата последнего изменения: | 04.02.2011 0:00:00 | ||||
Описание: | Неверно исчисляется НДФЛ при использовании не соответствующей Налоговому кодексу настройки применения стандартных вычетов "В пределах месячного дохода налогоплательщика". | ||||
Способ исправления: | Заменить функцию ПолучитьДанныеНДФЛПоРегистратору() о.м. ПроведениеРасчетов следующим фрагментом: Функция ПолучитьДанныеНДФЛПоРегистратору(Знач ПервыйМесяцНалоговогоПериода, Знач ПоследнийМесяцНалоговогоПериода, ПериодРегистрации, ОбособленноеПодразделение, Организация, Регистратор, Знач СписокФизЛицТекст, ДополнительныеПараметрыЗапроса = Неопределено, ЭтоПерерасчет = Ложь, КомментироватьРасчет = Ложь, ВозвращатьДанныеРасчетовБезПодразделений = Ложь) Экспорт Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.УстановитьПараметр("Регистратор", Регистратор); Запрос.УстановитьПараметр("ГоловнаяОрганизация", Организация); Запрос.УстановитьПараметр("НачалоМесяцаРасчета",НачалоМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("КонецМесяцаРасчета",КонецМесяца(ПериодРегистрации)); Запрос.УстановитьПараметр("НачалоГодаРасчета",НачалоГода(ПериодРегистрации)); // установим дополнительные параметры Если ДополнительныеПараметрыЗапроса <> Неопределено Тогда Для каждого Поле Из ДополнительныеПараметрыЗапроса Цикл Запрос.УстановитьПараметр(Поле.Ключ, Поле.Значение); КонецЦикла; КонецЕсли; Запрос.Текст = "ВЫБРАТЬ Физлицо |ПОМЕСТИТЬ ВТСписокФизЛиц |ИЗ (" + СписокФизЛицТекст + ") СписокФизЛиц |ИНДЕКСИРОВАТЬ ПО Физлицо"; Запрос.УстановитьПараметр("парамРегистратор", Регистратор); Запрос.Выполнить(); Если ПоследнийМесяцНалоговогоПериода = Неопределено Тогда // получим ПоследнийМесяцНалоговогоПериода Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | НДФЛСведенияОДоходах.Период КАК Период |ИЗ | РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокФизЛиц КАК Работники | ПО (Работники.Физлицо = НДФЛСведенияОДоходах.ФизЛицо) |ГДЕ | НДФЛСведенияОДоходах.Организация = &ГоловнаяОрганизация | И НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.ПериодРегистрации, МЕСЯЦ) = &НачалоМесяцаРасчета | |УПОРЯДОЧИТЬ ПО | Период УБЫВ"; Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда ПоследнийМесяцНалоговогоПериода = КонецМесяца(ПериодРегистрации); Иначе Выборка = Результат.Выбрать(); Выборка.Следующий(); ПоследнийМесяцНалоговогоПериода = КонецМесяца(Выборка.Период); КонецЕсли; КонецЕсли; Если ПервыйМесяцНалоговогоПериода = Неопределено Тогда // получим самый ранний месяц налогового периода Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | НДФЛСведенияОДоходах.Период КАК Период |ИЗ | РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокФизЛиц КАК Работники | ПО (Работники.Физлицо = НДФЛСведенияОДоходах.ФизЛицо) |ГДЕ | НДФЛСведенияОДоходах.Организация = &ГоловнаяОрганизация | И НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.ПериодРегистрации, МЕСЯЦ) = &НачалоМесяцаРасчета | |УПОРЯДОЧИТЬ ПО | Период"; Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда ПервыйМесяцНалоговогоПериода = ПериодРегистрации; Иначе Выборка = Результат.Выбрать(); Выборка.Следующий(); ПервыйМесяцНалоговогоПериода = НачалоМесяца(Выборка.Период); КонецЕсли; КонецЕсли; ДатаЗакона229ФЗ = ПроведениеРасчетов.ДатаЗакона229ФЗ(); Запрос.УстановитьПараметр("ДатаЗакона229ФЗ", ДатаЗакона229ФЗ); Запрос.УстановитьПараметр("КонецПериодаРасчета", КонецМесяца(ПоследнийМесяцНалоговогоПериода)); Запрос.УстановитьПараметр("НачалоГодаПериодаРасчета", НачалоГода(ПервыйМесяцНалоговогоПериода)); Запрос.УстановитьПараметр("КонецГодаПериодаРасчета", КонецГода(ПоследнийМесяцНалоговогоПериода)); // Таблица ВТДатыПоМесяцам: список дат налоговых периодов, в которых рассчитывается налог // Поля: // Период НачМесяца = НачалоГода(ПервыйМесяцНалоговогоПериода); ДатыПоМесяцамТекст = "ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(НачМесяца,"ДФ=гггг,М,д,Ч,м,с") + ") КАК Период"; ДатыПоМесяцамТекст = ДатыПоМесяцамТекст + " |ПОМЕСТИТЬ ВТДатыПоМесяцам"; Пока НачМесяца < НачалоМесяца(ПоследнийМесяцНалоговогоПериода) Цикл НачМесяца = НачалоМесяца(КонецМесяца(НачМесяца) + 1); ДатыПоМесяцамТекст = ДатыПоМесяцамТекст +" |ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(НачМесяца,"ДФ=гггг,М,д,Ч,м,с") + ")"; КонецЦикла; Запрос.Текст = ДатыПоМесяцамТекст; Запрос.Выполнить(); // первый год НачалоГода = НачалоГода(ПоследнийМесяцНалоговогоПериода); ПериодыТекстПоГодам = "ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(НачалоГода,"ДФ=гггг,М,д,Ч,м,с") + ") КАК НачалоНалоговогоПериода"; ПериодыТекстПоГодам = ПериодыТекстПоГодам + " |ПОМЕСТИТЬ ВТПериодыПоГодам"; Для Сч = Год(ПервыйМесяцНалоговогоПериода)+ 1 По Год(ПоследнийМесяцНалоговогоПериода) Цикл НачалоГода = НачалоГода(НачалоГода - 1); ПериодыТекстПоГодам = ПериодыТекстПоГодам +" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(НачалоГода,"ДФ=гггг,М,д,Ч,м,с") + ")"; КонецЦикла; Запрос.Текст = ПериодыТекстПоГодам; Запрос.Выполнить(); // Периоды // Таблица ВТПериоды: список периодов-физлиц по которым необходимо выполнить расчет налога // Поля: // Период // Физлицо Если ЭтоПерерасчет Тогда Запрос.Текст = "ВЫБРАТЬ | Работники.Физлицо КАК Физлицо, | Месяцы.Период КАК Период, | НАЧАЛОПЕРИОДА(Месяцы.Период, МЕСЯЦ) КАК МесяцНалоговогоПериода, | НАЧАЛОПЕРИОДА(Месяцы.Период, ГОД) КАК НачалоГодаНалоговогоПериода, | КОНЕЦПЕРИОДА(Месяцы.Период, ГОД) КАК КонецГодаНалоговогоПериода |ПОМЕСТИТЬ ВТПериодыНалогаНаДоходы |ИЗ | ВТСписокФизЛиц КАК Работники | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДатыПоМесяцам КАК Месяцы | ПО (ИСТИНА) | |ИНДЕКСИРОВАТЬ ПО | Физлицо, | Период"; Иначе Запрос.Текст = "ВЫБРАТЬ | ПериодыДохода.ФизЛицо КАК ФизЛицо, | Месяцы.Период КАК Период, | НАЧАЛОПЕРИОДА(Месяцы.Период, МЕСЯЦ) КАК МесяцНалоговогоПериода, | НАЧАЛОПЕРИОДА(Месяцы.Период, ГОД) КАК НачалоГодаНалоговогоПериода, | КОНЕЦПЕРИОДА(Месяцы.Период, ГОД) КАК КонецГодаНалоговогоПериода |ПОМЕСТИТЬ ВТПериодыНалогаНаДоходы |ИЗ | (ВЫБРАТЬ | НДФЛСведенияОДоходах.ФизЛицо КАК ФизЛицо, | МАКСИМУМ(НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.Период, МЕСЯЦ)) КАК ПериодМакс, | МИНИМУМ(ВЫБОР | КОГДА НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.ПериодРегистрации, МЕСЯЦ) = &НачалоМесяцаРасчета | ТОГДА НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.Период, ГОД) | ИНАЧЕ &НачалоГодаРасчета | КОНЕЦ) КАК ПериодМин | ИЗ | РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах | ГДЕ | НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.ПериодРегистрации, МЕСЯЦ) МЕЖДУ &НачалоГодаРасчета И &НачалоМесяцаРасчета | И НДФЛСведенияОДоходах.Организация = &ГоловнаяОрганизация | И НДФЛСведенияОДоходах.ФизЛицо В | (ВЫБРАТЬ | Работники.Физлицо | ИЗ | ВТСписокФизЛиц КАК Работники) | | СГРУППИРОВАТЬ ПО | НДФЛСведенияОДоходах.ФизЛицо) КАК ПериодыДохода | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДатыПоМесяцам КАК Месяцы | ПО (Месяцы.Период МЕЖДУ ПериодыДохода.ПериодМин И ПериодыДохода.ПериодМакс) | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо, | Период"; КонецЕсли; Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ | ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13) КАК СтавкаНалогообложения, | 0.13 КАК Размер |ПОМЕСТИТЬ ВТСтавкиНалогаВПроцентах | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка09), | 0.09 | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка35), | 0.35 | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30), | 0.3 | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка15), | 0.15 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДатыРегистра.НачалоНалоговогоПериода КАК НачалоНалоговогоПериода, | УчетнаяПолитикаПоНДФЛ.ОсобенностиИсчисленияНДФЛ |ПОМЕСТИТЬ ВТПолитикаПримененияВычетов |ИЗ | (ВЫБРАТЬ | Периоды.НачалоНалоговогоПериода КАК НачалоНалоговогоПериода, | МАКСИМУМ(УчетнаяПолитикаПоНДФЛ.Период) КАК ПериодРегистра | ИЗ | ВТПериодыПоГодам КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоНДФЛ КАК УчетнаяПолитикаПоНДФЛ | ПО Периоды.НачалоНалоговогоПериода >= УчетнаяПолитикаПоНДФЛ.Период | ГДЕ | УчетнаяПолитикаПоНДФЛ.Организация = &ГоловнаяОрганизация | | СГРУППИРОВАТЬ ПО | Периоды.НачалоНалоговогоПериода) КАК ДатыРегистра | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоНДФЛ КАК УчетнаяПолитикаПоНДФЛ | ПО ДатыРегистра.ПериодРегистра = УчетнаяПолитикаПоНДФЛ.Период |ГДЕ | УчетнаяПолитикаПоНДФЛ.Организация = &ГоловнаяОрганизация |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПериодыРегистра.ФизЛицо КАК ФизЛицо, | ПериодыРегистра.МесяцНалоговогоПериода, | ВЫБОР | КОГДА ЕСТЬNULL(СтатусНалогоплательщика.Статус, ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Резидент)) <> ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Нерезидент) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК РезидентРФ |ПОМЕСТИТЬ ВТРезидентствоФизлицНаКонецГода |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Физлица.ФизЛицо КАК ФизЛицо, | Физлица.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | МАКСИМУМ(СтатусНалогоплательщика.Период) КАК Период | ИЗ | ВТПериодыНалогаНаДоходы КАК Физлица | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ КАК СтатусНалогоплательщика | ПО Физлица.ФизЛицо = СтатусНалогоплательщика.ФизЛицо | И (СтатусНалогоплательщика.Период <= ВЫБОР | КОГДА Физлица.КонецГодаНалоговогоПериода > &КонецМесяцаРасчета | ТОГДА &КонецМесяцаРасчета | ИНАЧЕ Физлица.КонецГодаНалоговогоПериода | КОНЕЦ) | | СГРУППИРОВАТЬ ПО | Физлица.ФизЛицо, | Физлица.МесяцНалоговогоПериода) КАК ПериодыРегистра | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ КАК СтатусНалогоплательщика | ПО ПериодыРегистра.ФизЛицо = СтатусНалогоплательщика.ФизЛицо | И ПериодыРегистра.Период = СтатусНалогоплательщика.Период |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПериодыРегистра.ФизЛицо КАК ФизЛицо, | ПериодыРегистра.МесяцНалоговогоПериода, | ВЫБОР | КОГДА ЕСТЬNULL(СтатусНалогоплательщика.Статус, ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Резидент)) <> ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Нерезидент) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК РезидентРФ |ПОМЕСТИТЬ ВТРезидентствоФизлицНаКонецМесяца |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Физлица.ФизЛицо КАК ФизЛицо, | Физлица.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | МАКСИМУМ(СтатусНалогоплательщика.Период) КАК Период | ИЗ | ВТПериодыНалогаНаДоходы КАК Физлица | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ КАК СтатусНалогоплательщика | ПО Физлица.ФизЛицо = СтатусНалогоплательщика.ФизЛицо | И (СтатусНалогоплательщика.Период <= ВЫБОР | КОГДА Физлица.МесяцНалоговогоПериода > &КонецМесяцаРасчета | ТОГДА &КонецМесяцаРасчета | ИНАЧЕ Физлица.МесяцНалоговогоПериода | КОНЕЦ) | | СГРУППИРОВАТЬ ПО | Физлица.ФизЛицо, | Физлица.МесяцНалоговогоПериода) КАК ПериодыРегистра | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ КАК СтатусНалогоплательщика | ПО ПериодыРегистра.ФизЛицо = СтатусНалогоплательщика.ФизЛицо | И ПериодыРегистра.Период = СтатусНалогоплательщика.Период |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Периоды.ФизЛицо, | Периоды.ФизЛицо.Наименование КАК Порядок, | Периоды.МесяцНалоговогоПериода, | Периоды.НачалоГодаНалоговогоПериода, | Периоды.КонецГодаНалоговогоПериода, | ВЫБОР | КОГДА Периоды.НачалоГодаНалоговогоПериода < &ДатаЗакона229ФЗ | ТОГДА РезидентствоФизлицНаКонецГода.РезидентРФ | ИНАЧЕ РезидентствоФизлицНаКонецМесяца.РезидентРФ | И РезидентствоФизлицНаКонецГода.РезидентРФ | КОНЕЦ КАК Резидент |ПОМЕСТИТЬ ВТПериодыФизлиц |ИЗ | ВТПериодыНалогаНаДоходы КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТРезидентствоФизлицНаКонецМесяца КАК РезидентствоФизлицНаКонецМесяца | ПО Периоды.ФизЛицо = РезидентствоФизлицНаКонецМесяца.ФизЛицо | И Периоды.МесяцНалоговогоПериода = РезидентствоФизлицНаКонецМесяца.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТРезидентствоФизлицНаКонецГода КАК РезидентствоФизлицНаКонецГода | ПО Периоды.ФизЛицо = РезидентствоФизлицНаКонецГода.ФизЛицо | И Периоды.МесяцНалоговогоПериода = РезидентствоФизлицНаКонецГода.МесяцНалоговогоПериода |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДатыРегистра.НачалоНалоговогоПериода КАК НачалоНалоговогоПериода, | ДатыРегистра.КодВычета КАК КодВычета, | ЕСТЬNULL(РазмерВычетов.Размер, 0) КАК Размер, | ЕСТЬNULL(РазмерВычетов.ОграничениеПоДоходам, 0) КАК ОграничениеПоДоходам |ПОМЕСТИТЬ ВТРазмерыСтандартныхВычетов |ИЗ | (ВЫБРАТЬ | Периоды.НачалоНалоговогоПериода КАК НачалоНалоговогоПериода, | ВидыВычетов.Ссылка КАК КодВычета, | МАКСИМУМ(РазмерВычетов.Период) КАК ПериодРегистра | ИЗ | ВТПериодыПоГодам КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВычетыНДФЛ КАК ВидыВычетов | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛРазмерВычетов КАК РазмерВычетов | ПО (ВидыВычетов.Ссылка = РазмерВычетов.КодВычета) | И Периоды.НачалоНалоговогоПериода >= РазмерВычетов.Период | ГДЕ | ВидыВычетов.ГруппаВычета В (ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Стандартные), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СтандартныеНаДетей)) | | СГРУППИРОВАТЬ ПО | Периоды.НачалоНалоговогоПериода, | ВидыВычетов.Ссылка) КАК ДатыРегистра | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛРазмерВычетов КАК РазмерВычетов | ПО ДатыРегистра.ПериодРегистра = РазмерВычетов.Период | И ДатыРегистра.КодВычета = РазмерВычетов.КодВычета |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДатыРегистра.ФизЛицо КАК ФизЛицо, | ДатыРегистра.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | ВЫБОР | КОГДА ПрименениеВычетов.Организация = &ГоловнаяОрганизация | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ПрименятьВычеты |ПОМЕСТИТЬ ВТПрименениеСтандартныхВычетов |ИЗ | (ВЫБРАТЬ | МАКСИМУМ(ПрименениеВычетов.Период) КАК ПериодСреза, | Периоды.ФизЛицо КАК ФизЛицо, | Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода | ИЗ | ВТПериодыФизлиц КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛПрименениеВычетов КАК ПрименениеВычетов | ПО Периоды.МесяцНалоговогоПериода >= ПрименениеВычетов.Период | И Периоды.ФизЛицо = ПрименениеВычетов.Физлицо | | СГРУППИРОВАТЬ ПО | Периоды.ФизЛицо, | Периоды.МесяцНалоговогоПериода) КАК ДатыРегистра | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛПрименениеВычетов КАК ПрименениеВычетов | ПО ДатыРегистра.ПериодСреза = ПрименениеВычетов.Период | И ДатыРегистра.ФизЛицо = ПрименениеВычетов.Физлицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДатыРегистра.ФизЛицо КАК ФизЛицо, | ДатыРегистра.МесяцНалоговогоПериода, | ДатыРегистра.НачалоГодаНалоговогоПериода, | ЕСТЬNULL(ДатыРегистра.КодВычета, ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)) КАК КодВычета, | ЕСТЬNULL(ВЫБОР | КОГДА ВычетыНаДетей.ПериодЗавершения <= ДатыРегистра.МесяцНалоговогоПериода | И ВычетыНаДетей.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА ВычетыНаДетей.КоличествоДетейЗавершения | ИНАЧЕ ВычетыНаДетей.КоличествоДетей | КОНЕЦ, 0) КАК КоличествоДетей |ПОМЕСТИТЬ ВТПраваНаВычетыНаДетей |ИЗ | (ВЫБРАТЬ | Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | Периоды.ФизЛицо КАК ФизЛицо, | ВычетыНаДетей.КодВычета КАК КодВычета, | МАКСИМУМ(ВычетыНаДетей.Период) КАК ПериодРегистра, | Периоды.НачалоГодаНалоговогоПериода КАК НачалоГодаНалоговогоПериода | ИЗ | ВТПериодыФизлиц КАК Периоды | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыНаДетей КАК ВычетыНаДетей | ПО Периоды.МесяцНалоговогоПериода >= ВычетыНаДетей.Период | И Периоды.ФизЛицо = ВычетыНаДетей.Физлицо | | СГРУППИРОВАТЬ ПО | Периоды.ФизЛицо, | ВычетыНаДетей.КодВычета, | Периоды.МесяцНалоговогоПериода, | Периоды.НачалоГодаНалоговогоПериода) КАК ДатыРегистра | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыНаДетей КАК ВычетыНаДетей | ПО ДатыРегистра.ПериодРегистра = ВычетыНаДетей.Период | И ДатыРегистра.ФизЛицо = ВычетыНаДетей.Физлицо | И ДатыРегистра.КодВычета = ВычетыНаДетей.КодВычета |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДатыРегистра.ФизЛицо, | ДатыРегистра.МесяцНалоговогоПериода, | ДатыРегистра.НачалоГодаНалоговогоПериода, | ЕСТЬNULL(ВычетыФизлиц.КодВычетаЛичный, ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)) КАК КодВычета |ПОМЕСТИТЬ ВТПраваНаЛичныеВычеты |ИЗ | (ВЫБРАТЬ | МАКСИМУМ(ВычетыФизлиц.Период) КАК ПериодСреза, | Периоды.ФизЛицо КАК ФизЛицо, | Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | Периоды.НачалоГодаНалоговогоПериода КАК НачалоГодаНалоговогоПериода | ИЗ | ВТПериодыФизлиц КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыФизлиц КАК ВычетыФизлиц | ПО Периоды.МесяцНалоговогоПериода >= ВычетыФизлиц.Период | И Периоды.ФизЛицо = ВычетыФизлиц.Физлицо | | СГРУППИРОВАТЬ ПО | Периоды.ФизЛицо, | Периоды.МесяцНалоговогоПериода, | Периоды.НачалоГодаНалоговогоПериода) КАК ДатыРегистра | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыФизлиц КАК ВычетыФизлиц | ПО ДатыРегистра.ПериодСреза = ВычетыФизлиц.Период | И ДатыРегистра.ФизЛицо = ВычетыФизлиц.Физлицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Вычеты.ФизЛицо, | ВЫБОР | КОГДА Вычеты.МесяцНалоговогоПериода < &ДатаЗакона229ФЗ | ТОГДА НАЧАЛОПЕРИОДА(Вычеты.МесяцНалоговогоПериода, ГОД) | ИНАЧЕ Вычеты.МесяцНалоговогоПериода | КОНЕЦ КАК МесяцНалоговогоПериода, | Вычеты.КодВычета, | Вычеты.НалоговыйПериод, | СУММА(Вычеты.Размер) КАК Размер |ПОМЕСТИТЬ ВТПравоНаИмущественныеВычеты |ИЗ | (ВЫБРАТЬ | Обороты.ФизЛицо КАК ФизЛицо, | НАЧАЛОПЕРИОДА(Обороты.Период, МЕСЯЦ) КАК МесяцНалоговогоПериода, | Обороты.КодВычетаИмущественный КАК КодВычета, | Обороты.Год КАК НалоговыйПериод, | Обороты.РазмерПриход КАК Размер | ИЗ | РегистрНакопления.НДФЛИмущественныеВычетыФизлиц.Обороты( | &НачалоГодаПериодаРасчета, | &КонецПериодаРасчета, | Месяц, | ФизЛицо В | (ВЫБРАТЬ | ФизЛица.ФизЛицо | ИЗ | ВТСписокФизЛиц КАК ФизЛица) | И Организация = &ГоловнаяОрганизация) КАК Обороты | ГДЕ | Обороты.Год = ГОД(Обороты.Период) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ДвиженияРегистратора.ФизЛицо, | НАЧАЛОПЕРИОДА(ДвиженияРегистратора.Период, МЕСЯЦ), | ДвиженияРегистратора.КодВычетаИмущественный, | ДвиженияРегистратора.Год, | ВЫБОР | КОГДА ДвиженияРегистратора.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) | ТОГДА -ДвиженияРегистратора.Размер | ИНАЧЕ 0 | КОНЕЦ | ИЗ | РегистрНакопления.НДФЛИмущественныеВычетыФизлиц КАК ДвиженияРегистратора | ГДЕ | ДвиженияРегистратора.Регистратор = &Регистратор | И ДвиженияРегистратора.ФизЛицо В | (ВЫБРАТЬ | ФизЛица.ФизЛицо | ИЗ | ВТСписокФизЛиц КАК ФизЛица) | И ДвиженияРегистратора.Год = ГОД(ДвиженияРегистратора.Период)) КАК Вычеты | |СГРУППИРОВАТЬ ПО | Вычеты.ФизЛицо, | ВЫБОР | КОГДА Вычеты.МесяцНалоговогоПериода < &ДатаЗакона229ФЗ | ТОГДА НАЧАЛОПЕРИОДА(Вычеты.МесяцНалоговогоПериода, ГОД) | ИНАЧЕ Вычеты.МесяцНалоговогоПериода | КОНЕЦ, | Вычеты.КодВычета, | Вычеты.НалоговыйПериод | |ИМЕЮЩИЕ | СУММА(Вычеты.Размер) > 0 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Обороты.ФизЛицо, | НАЧАЛОПЕРИОДА(Обороты.Период, МЕСЯЦ) КАК МесяцНалоговогоПериода, | Обороты.КодВычета, | Обороты.СуммаДохода КАК СуммаДоходаОборот, | Обороты.СуммаВычета КАК СуммаВычетаОборот |ПОМЕСТИТЬ ВТДоходыФизлиц |ИЗ | РегистрНакопления.НДФЛСведенияОДоходах КАК Обороты |ГДЕ | Обороты.Организация = &ГоловнаяОрганизация | И Обороты.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13) | И (НЕ Обороты.КодДохода.НеОблагаетсяУНалоговогоАгента) | И Обороты.Период МЕЖДУ &НачалоГодаПериодаРасчета И &КонецПериодаРасчета | И Обороты.ПериодРегистрации <= &КонецМесяцаРасчета | И Обороты.ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТСписокФизЛиц КАК СписокСотрудников) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ФизЛицо, | НАЧАЛОПЕРИОДА(ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.МесяцНалоговогоПериода, МЕСЯЦ) КАК МесяцНалоговогоПериода, | ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.КодВычета, | ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ПодразделениеОрганизации КАК Подразделение, | СУММА(ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ПримененныйВычет) КАК СуммаОборот |ПОМЕСТИТЬ ВТПредоставленныеСтандартныеИСоциальныеВычеты |ИЗ | РегистрНакопления.НДФЛПредоставленныеСтандартныеВычетыФизЛиц КАК ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ |ГДЕ | ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.Организация = &ГоловнаяОрганизация | И ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТСписокФизЛиц КАК СписокСотрудников) | И ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.Регистратор <> &Регистратор | И ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.МесяцНалоговогоПериода МЕЖДУ &НачалоГодаПериодаРасчета И &КонецПериодаРасчета | И ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.Период <= &КонецМесяцаРасчета | |СГРУППИРОВАТЬ ПО | ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ФизЛицо, | НАЧАЛОПЕРИОДА(ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.МесяцНалоговогоПериода, МЕСЯЦ), | ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.КодВычета, | ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ПодразделениеОрганизации |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДвиженияРегистратора.ФизЛицо КАК ФизЛицо, | НАЧАЛОПЕРИОДА(ДвиженияРегистратора.Период, МЕСЯЦ) КАК МесяцНалоговогоПериода, | ДвиженияРегистратора.КодВычетаИмущественный КАК КодВычета, | СУММА(ДвиженияРегистратора.Размер) КАК Сумма, | ДвиженияРегистратора.ПодразделениеОрганизации КАК Подразделение |ПОМЕСТИТЬ ВТПредоставленоИмущественныхВычетов |ИЗ | РегистрНакопления.НДФЛИмущественныеВычетыФизлиц КАК ДвиженияРегистратора |ГДЕ | ДвиженияРегистратора.Организация = &ГоловнаяОрганизация | И ДвиженияРегистратора.Период МЕЖДУ &НачалоГодаПериодаРасчета И &КонецПериодаРасчета | И ДвиженияРегистратора.Регистратор <> &Регистратор | И ДвиженияРегистратора.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) | И ДвиженияРегистратора.ФизЛицо В | (ВЫБРАТЬ | ФизЛица.ФизЛицо | ИЗ | ВТСписокФизЛиц КАК ФизЛица) | |СГРУППИРОВАТЬ ПО | ДвиженияРегистратора.ПодразделениеОрганизации, | ДвиженияРегистратора.ФизЛицо, | НАЧАЛОПЕРИОДА(ДвиженияРегистратора.Период, МЕСЯЦ), | ДвиженияРегистратора.КодВычетаИмущественный |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | Периоды.ФизЛицо КАК ФизЛицо, | ВЫБОР | КОГДА Периоды.Резидент | ТОГДА ЕСТЬNULL(ПредоставленныеВычетыФизЛиц.СуммаОборот, 0) | ИНАЧЕ 0 | КОНЕЦ КАК СуммаОборот |ПОМЕСТИТЬ ВТСоциальныеВычетыПомесячно |ИЗ | ВТПериодыФизлиц КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТПредоставленныеСтандартныеИСоциальныеВычеты КАК ПредоставленныеВычетыФизЛиц | ПО Периоды.ФизЛицо = ПредоставленныеВычетыФизЛиц.ФизЛицо | И (ПредоставленныеВычетыФизЛиц.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Социальные)) | И Периоды.МесяцНалоговогоПериода = ПредоставленныеВычетыФизЛиц.МесяцНалоговогоПериода |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Периоды.ФизЛицо КАК ФизЛицо, | Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | Периоды.Резидент, | ВЫБОР | КОГДА Периоды.Резидент | ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13) | ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30) | КОНЕЦ КАК СтавкаНалогообложенияНеРезидента, | ЕСТЬNULL(Обороты.СуммаДоходаОборот, 0) - ВЫБОР | КОГДА Периоды.Резидент | ТОГДА ЕСТЬNULL(Обороты.СуммаВычетаОборот, 0) | КОГДА Обороты.КодВычета.НеПредоставляетсяНерезидентам | ТОГДА 0 | ИНАЧЕ ЕСТЬNULL(Обороты.СуммаВычетаОборот, 0) | КОНЕЦ КАК ДоходыБезВычетов |ПОМЕСТИТЬ ВТДоходыСУчетомВычетовКДоходам |ИЗ | ВТПериодыФизлиц КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыФизлиц КАК Обороты | ПО Периоды.ФизЛицо = Обороты.ФизЛицо | И Периоды.МесяцНалоговогоПериода = Обороты.МесяцНалоговогоПериода |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | Периоды.ФизЛицо КАК ФизЛицо, | ЕСТЬNULL(СУММА(Доходы.ДоходыБезВычетов), 0) КАК ОблагаемыйДоход |ПОМЕСТИТЬ ВТДоходыРезидентовПоМесяцам |ИЗ | ВТПериодыФизлиц КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыСУчетомВычетовКДоходам КАК Доходы | ПО Периоды.МесяцНалоговогоПериода = Доходы.МесяцНалоговогоПериода | И Периоды.ФизЛицо = Доходы.ФизЛицо | И (Доходы.Резидент) | |СГРУППИРОВАТЬ ПО | Периоды.МесяцНалоговогоПериода, | Периоды.ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | Периоды.ФизЛицо КАК ФизЛицо, | ЕСТЬNULL(СУММА(Доходы.ДоходыБезВычетов), 0) КАК ОблагаемыйДоходЗаГод |ПОМЕСТИТЬ ВТДоходыРезидентовНарастающимЗаГод |ИЗ | ВТПериодыФизлиц КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыСУчетомВычетовКДоходам КАК Доходы | ПО (Доходы.МесяцНалоговогоПериода МЕЖДУ Периоды.НачалоГодаНалоговогоПериода И Периоды.МесяцНалоговогоПериода) | И Периоды.ФизЛицо = Доходы.ФизЛицо | И (Доходы.Резидент) | |СГРУППИРОВАТЬ ПО | Периоды.МесяцНалоговогоПериода, | Периоды.ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Периоды.ФизЛицо КАК ФизЛицо, | Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | ВычетыЛичные.КодВычета КАК КодВычетаЛичный, | ВЫБОР | КОГДА ПрименениеВычетов.ПрименятьВычеты | И Периоды.Резидент | И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= ЕСТЬNULL(РазмерВычетовЛичный.ОграничениеПоДоходам, 0) | ИЛИ ЕСТЬNULL(РазмерВычетовЛичный.ОграничениеПоДоходам, 0) = 0) | ТОГДА ЕСТЬNULL(РазмерВычетовЛичный.Размер, 0) | ИНАЧЕ 0 | КОНЕЦ КАК СтандартныеВычетыЛичные, | ВЫБОР | КОГДА ПрименениеВычетов.ПрименятьВычеты | И Периоды.Резидент | И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам | ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0) | ТОГДА ЕСТЬNULL(РазмерВычетовНаДетей.Размер, 0) * ЕСТЬNULL(ВычетыНаДетей.КоличествоДетей, 0) | ИНАЧЕ 0 | КОНЕЦ КАК СтандартныеВычетыДетские, | ВЫБОР | КОГДА ПрименениеВычетов.ПрименятьВычеты | И Периоды.Резидент | И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам | ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0) | ТОГДА ЕСТЬNULL(РазмерВычетовНаДетейДвойные.Размер, 0) * ЕСТЬNULL(ВычетыНаДетейДвойные.КоличествоДетей, 0) | ИНАЧЕ 0 | КОНЕЦ КАК СтандартныеВычетыДетскиеДвойные, | ВЫБОР | КОГДА ПрименениеВычетов.ПрименятьВычеты | И Периоды.Резидент | И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам | ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0) | ТОГДА ЕСТЬNULL(РазмерВычетовНаДетейДвойныеВторые.Размер, 0) * ЕСТЬNULL(ВычетыНаДетейДвойныеВторые.КоличествоДетей, 0) | ИНАЧЕ 0 | КОНЕЦ КАК СтандартныеВычетыДетскиеДвойныеВторые, | ВЫБОР | КОГДА ПрименениеВычетов.ПрименятьВычеты | И Периоды.Резидент | И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам | ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0) | ТОГДА ЕСТЬNULL(РазмерВычетовНаДетейИнвалидов.Размер, 0) * ЕСТЬNULL(ВычетыНаДетейИнвалидов.КоличествоДетей, 0) | ИНАЧЕ 0 | КОНЕЦ КАК СтандартныеВычетыДетскиеИнвалидов, | ВЫБОР | КОГДА ПрименениеВычетов.ПрименятьВычеты | И Периоды.Резидент | И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам | ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0) | ТОГДА ЕСТЬNULL(РазмерВычетовНаДетейИнвалидовДвойные.Размер, 0) * ЕСТЬNULL(ВычетыНаДетейИнвалидовДвойные.КоличествоДетей, 0) | ИНАЧЕ 0 | КОНЕЦ КАК СтандартныеВычетыДетскиеИнвалидовДвойные, | ВЫБОР | КОГДА ПрименениеВычетов.ПрименятьВычеты | И Периоды.Резидент | И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам | ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0) | ТОГДА ЕСТЬNULL(РазмерВычетовНаДетейИнвалидовДвойныеВторые.Размер, 0) * ЕСТЬNULL(ВычетыНаДетейИнвалидовДвойныеВторые.КоличествоДетей, 0) | ИНАЧЕ 0 | КОНЕЦ КАК СтандартныеВычетыДетскиеИнвалидовДвойныеВторые, | РазмерВычетовЛичный.ОграничениеПоДоходам КАК ОграничениеПоДоходамЛичные, | РазмерВычетовНаДетей.ОграничениеПоДоходам КАК ОграничениеПоДоходамНаДетей |ПОМЕСТИТЬ ВТПраваНаСтандартныеВычетыПоМесяцам |ИЗ | ВТПериодыФизлиц КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТПрименениеСтандартныхВычетов КАК ПрименениеВычетов | ПО Периоды.ФизЛицо = ПрименениеВычетов.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ПрименениеВычетов.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетей | ПО (РазмерВычетовНаДетей.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код101)) | И Периоды.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетей.НачалоНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаЛичныеВычеты КАК ВычетыЛичные | ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовЛичный | ПО ВычетыЛичные.КодВычета = РазмерВычетовЛичный.КодВычета | И ВычетыЛичные.НачалоГодаНалоговогоПериода = РазмерВычетовЛичный.НачалоНалоговогоПериода | ПО Периоды.МесяцНалоговогоПериода = ВычетыЛичные.МесяцНалоговогоПериода | И Периоды.ФизЛицо = ВычетыЛичные.ФизЛицо | ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетей | ПО (ВычетыНаДетей.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код101)) | И Периоды.ФизЛицо = ВычетыНаДетей.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ВычетыНаДетей.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетейДвойные | ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетейДвойные | ПО ВычетыНаДетейДвойные.КодВычета = РазмерВычетовНаДетейДвойные.КодВычета | И ВычетыНаДетейДвойные.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетейДвойные.НачалоНалоговогоПериода | ПО (ВычетыНаДетейДвойные.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код102)) | И Периоды.ФизЛицо = ВычетыНаДетейДвойные.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ВычетыНаДетейДвойные.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетейДвойныеВторые | ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетейДвойныеВторые | ПО ВычетыНаДетейДвойныеВторые.КодВычета = РазмерВычетовНаДетейДвойныеВторые.КодВычета | И ВычетыНаДетейДвойныеВторые.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетейДвойныеВторые.НачалоНалоговогоПериода | ПО (ВычетыНаДетейДвойныеВторые.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код111)) | И Периоды.ФизЛицо = ВычетыНаДетейДвойныеВторые.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ВычетыНаДетейДвойныеВторые.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетейИнвалидов | ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетейИнвалидов | ПО ВычетыНаДетейИнвалидов.КодВычета = РазмерВычетовНаДетейИнвалидов.КодВычета | И ВычетыНаДетейИнвалидов.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетейИнвалидов.НачалоНалоговогоПериода | ПО (ВычетыНаДетейИнвалидов.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код106)) | И Периоды.ФизЛицо = ВычетыНаДетейИнвалидов.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ВычетыНаДетейИнвалидов.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетейИнвалидовДвойные | ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетейИнвалидовДвойные | ПО ВычетыНаДетейИнвалидовДвойные.КодВычета = РазмерВычетовНаДетейИнвалидовДвойные.КодВычета | И ВычетыНаДетейИнвалидовДвойные.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетейИнвалидовДвойные.НачалоНалоговогоПериода | ПО (ВычетыНаДетейИнвалидовДвойные.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код107)) | И Периоды.ФизЛицо = ВычетыНаДетейИнвалидовДвойные.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ВычетыНаДетейИнвалидовДвойные.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетейИнвалидовДвойныеВторые | ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетейИнвалидовДвойныеВторые | ПО ВычетыНаДетейИнвалидовДвойныеВторые.КодВычета = РазмерВычетовНаДетейИнвалидовДвойныеВторые.КодВычета | И ВычетыНаДетейИнвалидовДвойныеВторые.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетейИнвалидовДвойныеВторые.НачалоНалоговогоПериода | ПО (ВычетыНаДетейИнвалидовДвойныеВторые.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код113)) | И Периоды.ФизЛицо = ВычетыНаДетейИнвалидовДвойныеВторые.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ВычетыНаДетейИнвалидовДвойныеВторые.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛДоходыПредыдущегоМестаРаботы КАК ДоходыСПредыдущегоМестаРаботы | ПО Периоды.МесяцНалоговогоПериода = ДоходыСПредыдущегоМестаРаботы.МесяцНалоговогоПериода | И Периоды.ФизЛицо = ДоходыСПредыдущегоМестаРаботы.ФизЛицо | И (ДоходыСПредыдущегоМестаРаботы.Организация = &ГоловнаяОрганизация) | ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыРезидентовНарастающимЗаГод КАК ДоходыНарастающимИтогом | ПО Периоды.МесяцНалоговогоПериода = ДоходыНарастающимИтогом.МесяцНалоговогоПериода | И Периоды.ФизЛицо = ДоходыНарастающимИтогом.ФизЛицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Доходы.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | Доходы.ФизЛицо КАК ФизЛицо, | СУММА(ВЫРАЗИТЬ(ВЫБОР | КОГДА Доходы.Резидент | ТОГДА 0 | ИНАЧЕ Доходы.ДоходыБезВычетов | КОНЕЦ * СтавкиНалогаВПроцентах.Размер КАК ЧИСЛО(13, 0))) КАК НалогНерезидента |ПОМЕСТИТЬ ВТНалогНерезидентов |ИЗ | ВТДоходыСУчетомВычетовКДоходам КАК Доходы | ЛЕВОЕ СОЕДИНЕНИЕ ВТСтавкиНалогаВПроцентах КАК СтавкиНалогаВПроцентах | ПО Доходы.СтавкаНалогообложенияНеРезидента = СтавкиНалогаВПроцентах.СтавкаНалогообложения | |СГРУППИРОВАТЬ ПО | Доходы.ФизЛицо, | Доходы.МесяцНалоговогоПериода |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Периоды.ФизЛицо КАК ФизЛицо, | Периоды.Порядок КАК Порядок, | Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | Периоды.Резидент, | ДоходыРезидентовПоМесяцам.ОблагаемыйДоход КАК ОблагаемыйДоходЗаМесяц, | ДоходыРезидентовНарастающимЗаГод.ОблагаемыйДоходЗаГод КАК ОблагаемыйДоходНарастающимИтогом, | СоциальныеВычеты.СуммаОборот КАК СоциальныйВычет, | ВЫБОР | КОГДА Периоды.Резидент | ТОГДА 0 | ИНАЧЕ ЕСТЬNULL(НалогНерезидентов.НалогНерезидента, 0) | КОНЕЦ КАК НалогЗаМесяц, | СтавкиНалогаВПроцентах.Размер КАК СтавкаДляРезидента, | ПравоНаСтандартныеВычеты.КодВычетаЛичный, | ПравоНаСтандартныеВычеты.СтандартныеВычетыЛичные, | ПравоНаСтандартныеВычеты.СтандартныеВычетыДетские, | ПравоНаСтандартныеВычеты.СтандартныеВычетыДетскиеДвойные, | ПравоНаСтандартныеВычеты.СтандартныеВычетыДетскиеДвойныеВторые, | ПравоНаСтандартныеВычеты.СтандартныеВычетыДетскиеИнвалидов, | ПравоНаСтандартныеВычеты.СтандартныеВычетыДетскиеИнвалидовДвойные, | ПравоНаСтандартныеВычеты.СтандартныеВычетыДетскиеИнвалидовДвойныеВторые, | ЕСТЬNULL(ПолитикаПримененияВычетов.ОсобенностиИсчисленияНДФЛ, ЗНАЧЕНИЕ(Перечисление.ОсобенностиИсчисленияНДФЛ.СтандартныеВычетыНарастающимИтогом)) КАК ОсобенностиУчетаВычетов, | ГОД(Периоды.МесяцНалоговогоПериода) КАК НалоговыйПериод, | ПравоНаСтандартныеВычеты.ОграничениеПоДоходамЛичные, | ПравоНаСтандартныеВычеты.ОграничениеПоДоходамНаДетей |ИЗ | ВТПериодыФизлиц КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТНалогНерезидентов КАК НалогНерезидентов | ПО Периоды.ФизЛицо = НалогНерезидентов.ФизЛицо | И Периоды.МесяцНалоговогоПериода = НалогНерезидентов.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаСтандартныеВычетыПоМесяцам КАК ПравоНаСтандартныеВычеты | ПО Периоды.ФизЛицо = ПравоНаСтандартныеВычеты.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ПравоНаСтандартныеВычеты.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыРезидентовНарастающимЗаГод КАК ДоходыРезидентовНарастающимЗаГод | ПО Периоды.ФизЛицо = ДоходыРезидентовНарастающимЗаГод.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ДоходыРезидентовНарастающимЗаГод.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыРезидентовПоМесяцам КАК ДоходыРезидентовПоМесяцам | ПО Периоды.ФизЛицо = ДоходыРезидентовПоМесяцам.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ДоходыРезидентовПоМесяцам.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТСоциальныеВычетыПомесячно КАК СоциальныеВычеты | ПО Периоды.ФизЛицо = СоциальныеВычеты.ФизЛицо | И Периоды.МесяцНалоговогоПериода = СоциальныеВычеты.МесяцНалоговогоПериода | ЛЕВОЕ СОЕДИНЕНИЕ ВТСтавкиНалогаВПроцентах КАК СтавкиНалогаВПроцентах | ПО (СтавкиНалогаВПроцентах.СтавкаНалогообложения = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)) | ЛЕВОЕ СОЕДИНЕНИЕ ВТПолитикаПримененияВычетов КАК ПолитикаПримененияВычетов | ПО Периоды.НачалоГодаНалоговогоПериода = ПолитикаПримененияВычетов.НачалоНалоговогоПериода | |УПОРЯДОЧИТЬ ПО | Порядок, | ФизЛицо, | НалоговыйПериод, | МесяцНалоговогоПериода |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Периоды.ФизЛицо КАК ФизЛицо, | Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | СУММА(ВЫБОР | КОГДА ПравоНаИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код311) | ТОГДА ПравоНаИмущественныеВычеты.Размер | ИНАЧЕ 0 | КОНЕЦ) КАК ВычетИмущественныйРасходы, | СУММА(ВЫБОР | КОГДА ПравоНаИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код312) | ТОГДА ПравоНаИмущественныеВычеты.Размер | ИНАЧЕ 0 | КОНЕЦ) КАК ВычетИмущественныйПроцентыПоКредитам, | СУММА(ВЫБОР | КОГДА ПравоНаИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код318) | ТОГДА ПравоНаИмущественныеВычеты.Размер | ИНАЧЕ 0 | КОНЕЦ) КАК ВычетИмущественныйПроцентыПриПерекредитовании |ИЗ | ВТПериодыФизлиц КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТПравоНаИмущественныеВычеты КАК ПравоНаИмущественныеВычеты | ПО Периоды.ФизЛицо = ПравоНаИмущественныеВычеты.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ПравоНаИмущественныеВычеты.МесяцНалоговогоПериода | |СГРУППИРОВАТЬ ПО | Периоды.ФизЛицо, | Периоды.МесяцНалоговогоПериода | |УПОРЯДОЧИТЬ ПО | ФизЛицо, | МесяцНалоговогоПериода |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Доходы.ФизЛицо КАК ФизЛицо, | Доходы.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | Доходы.Подразделение КАК Подразделение, | СУММА(Доходы.СуммаДохода) КАК СуммаДохода |ИЗ | (ВЫБРАТЬ | ПериодыФизлиц.ФизЛицо КАК ФизЛицо, | НАЧАЛОПЕРИОДА(ПериодыФизлиц.МесяцНалоговогоПериода, МЕСЯЦ) КАК МесяцНалоговогоПериода, | СведенияОДоходахНДФЛ.ПодразделениеОрганизации КАК Подразделение, | ЕСТЬNULL(СведенияОДоходахНДФЛ.СуммаДохода, 0) - ВЫБОР | КОГДА ПериодыФизлиц.Резидент | ТОГДА ЕСТЬNULL(СведенияОДоходахНДФЛ.СуммаВычета, 0) | КОГДА СведенияОДоходахНДФЛ.КодВычета.НеПредоставляетсяНерезидентам | ТОГДА 0 | ИНАЧЕ ЕСТЬNULL(СведенияОДоходахНДФЛ.СуммаВычета, 0) | КОНЕЦ КАК СуммаДохода | ИЗ | ВТПериодыФизлиц КАК ПериодыФизлиц | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДФЛСведенияОДоходах КАК СведенияОДоходахНДФЛ | ПО ПериодыФизлиц.ФизЛицо = СведенияОДоходахНДФЛ.ФизЛицо | И (ПериодыФизлиц.МесяцНалоговогоПериода = НАЧАЛОПЕРИОДА(СведенияОДоходахНДФЛ.Период, МЕСЯЦ)) | И (СведенияОДоходахНДФЛ.Организация = &ГоловнаяОрганизация) | И (СведенияОДоходахНДФЛ.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)) | И ((НЕ СведенияОДоходахНДФЛ.КодДохода.НеОблагаетсяУНалоговогоАгента)) | И (СведенияОДоходахНДФЛ.ПериодРегистрации <= &КонецМесяцаРасчета)) КАК Доходы | |СГРУППИРОВАТЬ ПО | Доходы.ФизЛицо, | Доходы.МесяцНалоговогоПериода, | Доходы.Подразделение | |УПОРЯДОЧИТЬ ПО | ФизЛицо, | МесяцНалоговогоПериода, | Подразделение |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ФизЛицо КАК ФизЛицо, | НАЧАЛОПЕРИОДА(РасчетыНалогоплательщиковСБюджетомПоНДФЛ.МесяцНалоговогоПериода, МЕСЯЦ) КАК МесяцНалоговогоПериода, | РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ПодразделениеОрганизации КАК Подразделение, | -СУММА(РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Налог) КАК Налог |ИЗ | РегистрНакопления.НДФЛРасчетыСБюджетом КАК РасчетыНалогоплательщиковСБюджетомПоНДФЛ |ГДЕ | РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Регистратор <> &Регистратор | И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ВидСтроки = ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.Начисление) | И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.МесяцНалоговогоПериода МЕЖДУ &НачалоГодаПериодаРасчета И &КонецПериодаРасчета | И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13) | И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Организация = &ГоловнаяОрганизация | И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ФизЛицо В | (ВЫБРАТЬ | СписокСотрудников.ФизЛицо | ИЗ | ВТСписокФизЛиц КАК СписокСотрудников) | И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Период <= &КонецМесяцаРасчета | |СГРУППИРОВАТЬ ПО | РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ПодразделениеОрганизации, | РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ФизЛицо, | РасчетыНалогоплательщиковСБюджетомПоНДФЛ.МесяцНалоговогоПериода | |УПОРЯДОЧИТЬ ПО | ФизЛицо, | МесяцНалоговогоПериода, | Подразделение |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НДФЛПредоставленныеСтандартныеВычеты.ФизЛицо КАК ФизЛицо, | НДФЛПредоставленныеСтандартныеВычеты.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | НДФЛПредоставленныеСтандартныеВычеты.Подразделение КАК Подразделение, | МАКСИМУМ(ВЫБОР | КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета В (ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код103), ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код104), ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код105)) | ТОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета | ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка) | КОНЕЦ) КАК КодВычетаЛичный, | СУММА(ВЫБОР | КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета В (ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код103), ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код104), ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код105)) | ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ) КАК ПримененныйВычетЛичный, | СУММА(ВЫБОР | КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код101) | ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ) КАК ПримененныйВычетНаДетей, | СУММА(ВЫБОР | КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код102) | ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ) КАК ПримененныйВычетНаДетейДвойной, | СУММА(ВЫБОР | КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код111) | ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ) КАК ПримененныйВычетНаДетейДвойнойВторой, | СУММА(ВЫБОР | КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код106) | ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ) КАК ПримененныйВычетНаДетейИнвалидов, | СУММА(ВЫБОР | КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код107) | ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ) КАК ПримененныйВычетНаДетейИнвалидовДвойной, | СУММА(ВЫБОР | КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код113) | ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ) КАК ПримененныйВычетНаДетейИнвалидовДвойнойВторой |ИЗ | ВТПредоставленныеСтандартныеИСоциальныеВычеты КАК НДФЛПредоставленныеСтандартныеВычеты | |СГРУППИРОВАТЬ ПО | НДФЛПредоставленныеСтандартныеВычеты.Подразделение, | НДФЛПредоставленныеСтандартныеВычеты.МесяцНалоговогоПериода, | НДФЛПредоставленныеСтандартныеВычеты.ФизЛицо | |УПОРЯДОЧИТЬ ПО | ФизЛицо, | МесяцНалоговогоПериода, | Подразделение |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Периоды.ФизЛицо КАК ФизЛицо, | Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода, | ИмущественныеВычеты.Подразделение КАК Подразделение, | СУММА(ВЫБОР | КОГДА ИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код311) | ТОГДА -ИмущественныеВычеты.Сумма | ИНАЧЕ 0 | КОНЕЦ) КАК ПримененныйВычетИмущественныйРасход, | СУММА(ВЫБОР | КОГДА ИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код312) | ТОГДА -ИмущественныеВычеты.Сумма | ИНАЧЕ 0 | КОНЕЦ) КАК ПримененныйВычетИмущественныйПроцентыПоКредитам, | СУММА(ВЫБОР | КОГДА ИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код318) | ТОГДА -ИмущественныеВычеты.Сумма | ИНАЧЕ 0 | КОНЕЦ) КАК ПримененныйВычетИмущественныйПроцентыПриПерекредитовании |ИЗ | ВТПериодыФизлиц КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТПредоставленоИмущественныхВычетов КАК ИмущественныеВычеты | ПО Периоды.ФизЛицо = ИмущественныеВычеты.ФизЛицо | И Периоды.МесяцНалоговогоПериода = ИмущественныеВычеты.МесяцНалоговогоПериода |ГДЕ | ИмущественныеВычеты.Подразделение ЕСТЬ НЕ NULL | |СГРУППИРОВАТЬ ПО | ИмущественныеВычеты.Подразделение, | Периоды.МесяцНалоговогоПериода, | Периоды.ФизЛицо | |УПОРЯДОЧИТЬ ПО | ФизЛицо, | МесяцНалоговогоПериода, | Подразделение"; Результат = Запрос.ВыполнитьПакет(); ВсегоРезультатов = Результат.Количество(); ВыборкаРасчетов = Результат[ВсегоРезультатов - 6].Выбрать(); ПравоНаИмущественныеВычеты = Результат[ВсегоРезультатов - 5].Выгрузить(); ПравоНаИмущественныеВычеты.Индексы.Добавить("ФизЛицо, МесяцНалоговогоПериода"); РаспределениеДоходовПоПодразделениям = Результат[ВсегоРезультатов - 4].Выгрузить(); РаспределениеДоходовПоПодразделениям.Индексы.Добавить("ФизЛицо, МесяцНалоговогоПериода"); ИсчисленоРанее = Результат[ВсегоРезультатов - 3].Выгрузить(); СтандартныхВычетовРанее = Результат[ВсегоРезультатов - 2].Выгрузить(); ИмущественныхВычетовРанее = Результат[ВсегоРезультатов - 1].Выгрузить(); РаспределятьПоПодразделениям = Не ВозвращатьДанныеРасчетовБезПодразделений; ТипНалог = Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(13,0)); ТипВычет = Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,2)); РезультатыРасчетов = СтандартныхВычетовРанее.СкопироватьКолонки(); РезультатыРасчетов.Колонки.Добавить("Налог",ТипНалог); РезультатыРасчетов.Колонки.Добавить("ПримененныйВычетИмущественныйРасход",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ПримененныйВычетИмущественныйПроцентыПоКредитам",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ПримененныйВычетИмущественныйПроцентыПриПерекредитовании",ТипВычет); Если ВозвращатьДанныеРасчетовБезПодразделений Тогда РезультатыРасчетов.Колонки.Добавить("Резидент", Новый ОписаниеТипов("Булево")); РезультатыРасчетов.Колонки.Добавить("ОблагаемыйДоходНарастающимИтогом",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ОграничениеПоДоходамЛичные",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ОграничениеПоДоходамНаДетей",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ВычетЛичныйЗаМесяц",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейИнвалидовДвойнойЗаМесяц",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейИнвалидовЗаМесяц",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейДвойнойВторойЗаМесяц",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейДвойнойЗаМесяц",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейЗаМесяц",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ВычетИмущественныйРасходыОстаток",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ВычетИмущественныйПроцентыПриПерекредитованииОстаток",ТипВычет); РезультатыРасчетов.Колонки.Добавить("ВычетИмущественныйПроцентыПоКредитамОстаток",ТипВычет); РезультатыРасчетов.Колонки.Добавить("НалогЗаМесяц",ТипВычет); КонецЕсли; Если РаспределятьПоПодразделениям Тогда ВспомогательнаяТаблица = РезультатыРасчетов.СкопироватьКолонки(); СтрокаРесурсов = "Налог,ПримененныйВычетЛичный,ПримененныйВычетНаДетей,ПримененныйВычетНаДетейДвойной,ПримененныйВычетНаДетейДвойнойВторой,ПримененныйВычетНаДетейИнвалидов,ПримененныйВычетНаДетейИнвалидовДвойной,ПримененныйВычетНаДетейИнвалидовДвойнойВторой,ПримененныйВычетИмущественныйРасход,ПримененныйВычетИмущественныйПроцентыПоКредитам,ПримененныйВычетИмущественныйПроцентыПриПерекредитовании"; МассивРесурсов = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СтрокаРесурсов); КонецЕсли; Если КомментироватьРасчет Тогда КомментарийНДФЛ = ОбщегоНазначенияЗК.КомментарийРасчета("Расчет НДФЛ"); КонецЕсли; СтруктураПоиска = Новый Структура("ФизЛицо, МесяцНалоговогоПериода"); Пока ВыборкаРасчетов.СледующийПоЗначениюПоля("Порядок") Цикл Пока ВыборкаРасчетов.СледующийПоЗначениюПоля("ФизЛицо") Цикл Если РаспределятьПоПодразделениям Тогда СтруктураПоиска.ФизЛицо = ВыборкаРасчетов.ФизЛицо; СтруктураПоиска.МесяцНалоговогоПериода = НачалоМесяца(ПериодРегистрации); ДоходыМесяцаРасчета = РаспределениеДоходовПоПодразделениям.НайтиСтроки(СтруктураПоиска); КоэффициентыПодразделенийМесяцаРасчета = ВыделитьКоэффициентыРаспределенияИзКоллекцииСтрок(ДоходыМесяцаРасчета, "СуммаДохода"); КонецЕсли; Пока ВыборкаРасчетов.СледующийПоЗначениюПоля("НалоговыйПериод") Цикл ВычетЛичныйОстаток = 0; ВычетНаДетейОстаток = 0; ВычетНаДетейДвойнойОстаток = 0; ВычетНаДетейДвойнойВторойОстаток = 0; ВычетНаДетейИнвалидовОстаток = 0; ВычетНаДетейИнвалидовДвойнойОстаток = 0; ВычетНаДетейИнвалидовДвойнойВторойОстаток = 0; ВычетИмущественныйРасходыОстаток = 0; ВычетИмущественныйПроцентыПоКредитамОстаток = 0; ВычетИмущественныйПроцентыПриПерекредитованииОстаток = 0; ВычетСоциальныйОстаток = 0; ОблагаемыйДоход = 0; ДоходЗаМесяцОстаток = 0; НалогИсчисленный = 0; Пока ВыборкаРасчетов.Следующий() Цикл ЗаполнитьЗначенияСвойств(СтруктураПоиска,ВыборкаРасчетов); Если РаспределятьПоПодразделениям Тогда ВспомогательнаяТаблица.Очистить(); Доходы = РаспределениеДоходовПоПодразделениям.НайтиСтроки(СтруктураПоиска); БазаРаспределения = 0; Для каждого СтрокаРаспределения Из Доходы Цикл БазаРаспределения = БазаРаспределения + СтрокаРаспределения.СуммаДохода; КонецЦикла; Если БазаРаспределения = 0 Тогда // если доходов за прошлый месяц нет - будем использовать текущее распределение Доходы = ДоходыМесяцаРасчета; КоэффициентыПодразделений = КоэффициентыПодразделенийМесяцаРасчета; Иначе КоэффициентыПодразделений = ВыделитьКоэффициентыРаспределенияИзКоллекцииСтрок(Доходы, "СуммаДохода"); КонецЕсли; ВписатьВРезультатЗарегистрированныеВУчетеДанныеНДФЛ(ВспомогательнаяТаблица, ИсчисленоРанее.НайтиСтроки(СтруктураПоиска), "Налог"); ВписатьВРезультатЗарегистрированныеВУчетеДанныеНДФЛ(ВспомогательнаяТаблица, СтандартныхВычетовРанее.НайтиСтроки(СтруктураПоиска), "ПримененныйВычетЛичный,ПримененныйВычетНаДетей,ПримененныйВычетНаДетейДвойной,ПримененныйВычетНаДетейДвойнойВторой,ПримененныйВычетНаДетейИнвалидов,ПримененныйВычетНаДетейИнвалидовДвойной,ПримененныйВычетНаДетейИнвалидовДвойнойВторой"); ВписатьВРезультатЗарегистрированныеВУчетеДанныеНДФЛ(ВспомогательнаяТаблица, ИмущественныхВычетовРанее.НайтиСтроки(СтруктураПоиска), "ПримененныйВычетИмущественныйРасход,ПримененныйВычетИмущественныйПроцентыПоКредитам,ПримененныйВычетИмущественныйПроцентыПриПерекредитовании"); КонецЕсли; Если КомментироватьРасчет Тогда КомментарийМесяца = ОбщегоНазначенияЗК.КомментарийРасчета("Расчет за " + Формат(ВыборкаРасчетов.МесяцНалоговогоПериода, "ДФ=ММММ"), КомментарийНДФЛ); Если ВыборкаРасчетов.Резидент Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Статус: резидент РФ (или высококвалифицированный иностранный специалист)", КомментарийМесяца); Иначе ОбщегоНазначенияЗК.КомментарийРасчета("Статус: не является резидентом РФ", КомментарийМесяца,,, Перечисления.ВидыСообщений.ВажнаяИнформация); КонецЕсли; ОбщегоНазначенияЗК.КомментарийРасчета("Доход за период, всего: " + ВыборкаРасчетов.ОблагаемыйДоходЗаМесяц, КомментарийМесяца,,,, Ложь); КонецЕсли; Если ВыборкаРасчетов.Резидент Тогда Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Облагаемый доход нарастающим итогом за год: " + ВыборкаРасчетов.ОблагаемыйДоходНарастающимИтогом, КомментарийМесяца); КонецЕсли; // Расчет сумм примененных вычетов и налога ВычетЛичныйЗаМесяц = 0; ВычетНаДетейЗаМесяц = 0; ВычетНаДетейДвойнойЗаМесяц = 0; ВычетНаДетейДвойнойВторойЗаМесяц = 0; ВычетНаДетейИнвалидовЗаМесяц = 0; ВычетНаДетейИнвалидовДвойнойЗаМесяц = 0; ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц = 0; ВычетИмущественныйРасходыЗаМесяц = 0; ВычетИмущественныйПроцентыПоКредитамЗаМесяц = 0; ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц = 0; ВычетСоциальныйОстаток = ВычетСоциальныйОстаток + ВыборкаРасчетов.СоциальныйВычет; СтрокиПравНаИмущественныеВычеты = ПравоНаИмущественныеВычеты.НайтиСтроки(СтруктураПоиска); Если СтрокиПравНаИмущественныеВычеты.Количество() > 0 Тогда ВычетИмущественныйРасходыОстаток = ВычетИмущественныйРасходыОстаток + СтрокиПравНаИмущественныеВычеты[0].ВычетИмущественныйРасходы; ВычетИмущественныйПроцентыПоКредитамОстаток = ВычетИмущественныйПроцентыПоКредитамОстаток + СтрокиПравНаИмущественныеВычеты[0].ВычетИмущественныйПроцентыПоКредитам; ВычетИмущественныйПроцентыПриПерекредитованииОстаток = ВычетИмущественныйПроцентыПриПерекредитованииОстаток + СтрокиПравНаИмущественныеВычеты[0].ВычетИмущественныйПроцентыПриПерекредитовании; КонецЕсли; Если ВыборкаРасчетов.ОсобенностиУчетаВычетов = Перечисления.ОсобенностиИсчисленияНДФЛ.СтандартныеВычетыНарастающимИтогом Тогда ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток + ВыборкаРасчетов.ОблагаемыйДоходЗаМесяц; ВычетЛичныйОстаток = ВычетЛичныйОстаток + ВыборкаРасчетов.СтандартныеВычетыЛичные; ВычетНаДетейОстаток = ВычетНаДетейОстаток + ВыборкаРасчетов.СтандартныеВычетыДетские; ВычетНаДетейДвойнойОстаток = ВычетНаДетейДвойнойОстаток + ВыборкаРасчетов.СтандартныеВычетыДетскиеДвойные; ВычетНаДетейДвойнойВторойОстаток = ВычетНаДетейДвойнойВторойОстаток + ВыборкаРасчетов.СтандартныеВычетыДетскиеДвойныеВторые; ВычетНаДетейИнвалидовОстаток = ВычетНаДетейИнвалидовОстаток + ВыборкаРасчетов.СтандартныеВычетыДетскиеИнвалидов; ВычетНаДетейИнвалидовДвойнойОстаток = ВычетНаДетейИнвалидовДвойнойОстаток + ВыборкаРасчетов.СтандартныеВычетыДетскиеИнвалидовДвойные; ВычетНаДетейИнвалидовДвойнойВторойОстаток = ВычетНаДетейИнвалидовДвойнойВторойОстаток + ВыборкаРасчетов.СтандартныеВычетыДетскиеИнвалидовДвойныеВторые; Иначе ДоходЗаМесяцОстаток = ВыборкаРасчетов.ОблагаемыйДоходЗаМесяц; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Стандартные вычеты: применяются в пределах месячного дохода", КомментарийМесяца,,,, Ложь); Если ДоходЗаМесяцОстаток = 0 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Вычеты не применялись", КомментарийМесяца,,, Перечисления.ВидыСообщений.ВажнаяИнформация); КонецЕсли; КонецЕсли; ВычетЛичныйОстаток = ВыборкаРасчетов.СтандартныеВычетыЛичные; ВычетНаДетейОстаток = ВыборкаРасчетов.СтандартныеВычетыДетские; ВычетНаДетейДвойнойОстаток = ВыборкаРасчетов.СтандартныеВычетыДетскиеДвойные; ВычетНаДетейДвойнойВторойОстаток = ВыборкаРасчетов.СтандартныеВычетыДетскиеДвойныеВторые; ВычетНаДетейИнвалидовОстаток = ВыборкаРасчетов.СтандартныеВычетыДетскиеИнвалидов; ВычетНаДетейИнвалидовДвойнойОстаток = ВыборкаРасчетов.СтандартныеВычетыДетскиеИнвалидовДвойные; ВычетНаДетейИнвалидовДвойнойВторойОстаток = ВыборкаРасчетов.СтандартныеВычетыДетскиеИнвалидовДвойныеВторые; КонецЕсли; Если ДоходЗаМесяцОстаток > 0 Тогда ВычетСоциальныйЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетСоциальныйОстаток); ВычетСоциальныйОстаток = ВычетСоциальныйОстаток - ВычетСоциальныйЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетСоциальныйЗаМесяц; Если ВыборкаРасчетов.КодВычетаЛичный = Справочники.ВычетыНДФЛ.Код103 Тогда ВычетЛичныйЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетЛичныйОстаток); ВычетЛичныйОстаток = ВычетЛичныйОстаток - ВычетЛичныйЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетЛичныйЗаМесяц; КонецЕсли; ВычетНаДетейЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейОстаток); ВычетНаДетейОстаток = ВычетНаДетейОстаток - ВычетНаДетейЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейЗаМесяц; ВычетНаДетейДвойнойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейДвойнойОстаток); ВычетНаДетейДвойнойОстаток = ВычетНаДетейДвойнойОстаток - ВычетНаДетейДвойнойЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейДвойнойЗаМесяц; ВычетНаДетейДвойнойВторойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейДвойнойВторойОстаток); ВычетНаДетейДвойнойВторойОстаток = ВычетНаДетейДвойнойВторойОстаток - ВычетНаДетейДвойнойВторойЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейДвойнойВторойЗаМесяц; ВычетНаДетейИнвалидовЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейИнвалидовОстаток); ВычетНаДетейИнвалидовОстаток = ВычетНаДетейИнвалидовОстаток - ВычетНаДетейИнвалидовЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейИнвалидовЗаМесяц; ВычетНаДетейИнвалидовДвойнойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейИнвалидовДвойнойОстаток); ВычетНаДетейИнвалидовДвойнойОстаток = ВычетНаДетейИнвалидовДвойнойОстаток - ВычетНаДетейИнвалидовДвойнойЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейИнвалидовДвойнойЗаМесяц; ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейИнвалидовДвойнойВторойОстаток); ВычетНаДетейИнвалидовДвойнойВторойОстаток = ВычетНаДетейИнвалидовДвойнойВторойОстаток - ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц; Если ВыборкаРасчетов.КодВычетаЛичный <> Справочники.ВычетыНДФЛ.Код103 Тогда ВычетЛичныйЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетЛичныйОстаток); ВычетЛичныйОстаток = ВычетЛичныйОстаток - ВычетЛичныйЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетЛичныйЗаМесяц; КонецЕсли; Если ВыборкаРасчетов.МесяцНалоговогоПериода >= ДатаЗакона229ФЗ Тогда ДоходЗаМесяцОстаток = Макс(0, ВыборкаРасчетов.ОблагаемыйДоходЗаМесяц - ВычетСоциальныйЗаМесяц - ВычетЛичныйЗаМесяц - ВычетНаДетейЗаМесяц - ВычетНаДетейДвойнойЗаМесяц - ВычетНаДетейДвойнойВторойЗаМесяц - ВычетНаДетейИнвалидовЗаМесяц - ВычетНаДетейИнвалидовДвойнойЗаМесяц - ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц); КонецЕсли; Если ДоходЗаМесяцОстаток > 0 Тогда ВычетИмущественныйПроцентыПоКредитамЗаМесяц = Мин(ДоходЗаМесяцОстаток, ВычетИмущественныйПроцентыПоКредитамОстаток); ВычетИмущественныйПроцентыПоКредитамОстаток = ВычетИмущественныйПроцентыПоКредитамОстаток - ВычетИмущественныйПроцентыПоКредитамЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетИмущественныйПроцентыПоКредитамЗаМесяц; ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц = Мин(ДоходЗаМесяцОстаток, ВычетИмущественныйПроцентыПриПерекредитованииОстаток); ВычетИмущественныйПроцентыПриПерекредитованииОстаток = ВычетИмущественныйПроцентыПриПерекредитованииОстаток - ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц; ВычетИмущественныйРасходыЗаМесяц = Мин(ДоходЗаМесяцОстаток, ВычетИмущественныйРасходыОстаток); ВычетИмущественныйРасходыОстаток = ВычетИмущественныйРасходыОстаток - ВычетИмущественныйРасходыЗаМесяц; ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетИмущественныйРасходыЗаМесяц; КонецЕсли; Если РаспределятьПоПодразделениям Тогда ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетЛичныйЗаМесяц, "ПримененныйВычетЛичный", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений); ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейЗаМесяц, "ПримененныйВычетНаДетей", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений); ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейДвойнойЗаМесяц, "ПримененныйВычетНаДетейДвойной", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений); ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейДвойнойВторойЗаМесяц, "ПримененныйВычетНаДетейДвойнойВторой", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений); ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейИнвалидовЗаМесяц, "ПримененныйВычетНаДетейИнвалидов", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений); ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейИнвалидовДвойнойЗаМесяц, "ПримененныйВычетНаДетейИнвалидовДвойной", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений); ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц, "ПримененныйВычетНаДетейИнвалидовДвойнойВторой", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений); ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетИмущественныйРасходыЗаМесяц, "ПримененныйВычетИмущественныйРасход", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений); ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетИмущественныйПроцентыПоКредитамЗаМесяц, "ПримененныйВычетИмущественныйПроцентыПоКредитам", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений); ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц, "ПримененныйВычетИмущественныйПроцентыПриПерекредитовании", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений); КонецЕсли; Если КомментироватьРасчет Тогда Если ВычетЛичныйЗаМесяц + ВычетНаДетейЗаМесяц + ВычетНаДетейДвойнойЗаМесяц + ВычетНаДетейДвойнойВторойЗаМесяц + ВычетНаДетейИнвалидовЗаМесяц + ВычетНаДетейИнвалидовДвойнойЗаМесяц + ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц + ВычетИмущественныйПроцентыПоКредитамЗаМесяц + ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц + ВычетИмущественныйРасходыЗаМесяц <> 0 Тогда КомментарийВычетов = ОбщегоНазначенияЗК.КомментарийРасчета("Примененные вычеты, всего: " + (ВычетЛичныйЗаМесяц + ВычетНаДетейЗаМесяц + ВычетНаДетейДвойнойЗаМесяц + ВычетНаДетейДвойнойВторойЗаМесяц + ВычетНаДетейИнвалидовЗаМесяц + ВычетНаДетейИнвалидовДвойнойЗаМесяц + ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц + ВычетИмущественныйПроцентыПоКредитамЗаМесяц + ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц + ВычетИмущественныйРасходыЗаМесяц), КомментарийМесяца); Если ВычетЛичныйЗаМесяц <> 0 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Примененный личный вычет: " + ВычетЛичныйЗаМесяц, КомментарийВычетов); КонецЕсли; Если ВычетНаДетейЗаМесяц <> 0 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей: " + ВычетНаДетейЗаМесяц, КомментарийВычетов); КонецЕсли; Если ВычетНаДетейДвойнойЗаМесяц + ВычетНаДетейДвойнойВторойЗаМесяц <> 0 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей (двойной): " + (ВычетНаДетейДвойнойЗаМесяц + ВычетНаДетейДвойнойВторойЗаМесяц), КомментарийВычетов); КонецЕсли; Если ВычетНаДетейИнвалидовЗаМесяц <> 0 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей-инвалидов: " + ВычетНаДетейИнвалидовЗаМесяц, КомментарийВычетов); КонецЕсли; Если ВычетНаДетейИнвалидовДвойнойЗаМесяц + ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц <> 0 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей-инвалидов (двойной): " + (ВычетНаДетейИнвалидовДвойнойЗаМесяц + ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц), КомментарийВычетов); КонецЕсли; Если ВычетИмущественныйПроцентыПоКредитамЗаМесяц + ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц <> 0 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Вычеты на погашение процентов по ипотеке: " + (ВычетИмущественныйПроцентыПоКредитамЗаМесяц + ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц), КомментарийВычетов); КонецЕсли; Если ВычетИмущественныйРасходыЗаМесяц <> 0 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Вычеты по расходам на строительство: " + ВычетИмущественныйРасходыЗаМесяц, КомментарийВычетов); КонецЕсли; Иначе ОбщегоНазначенияЗК.КомментарийРасчета("Вычеты не применялись", КомментарийМесяца,,, Перечисления.ВидыСообщений.ВажнаяИнформация); КонецЕсли; КонецЕсли; ОблагаемыйДоход = ОблагаемыйДоход + ВыборкаРасчетов.ОблагаемыйДоходЗаМесяц - (ВычетЛичныйЗаМесяц + ВычетНаДетейЗаМесяц + ВычетНаДетейДвойнойЗаМесяц + ВычетНаДетейДвойнойВторойЗаМесяц + ВычетНаДетейИнвалидовЗаМесяц + ВычетНаДетейИнвалидовДвойнойЗаМесяц + ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц + ВычетИмущественныйПроцентыПоКредитамЗаМесяц + ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц + ВычетИмущественныйРасходыЗаМесяц); КонецЕсли; НалогЗаМесяц = Окр(ОблагаемыйДоход * ВыборкаРасчетов.СтавкаДляРезидента) - НалогИсчисленный; НалогИсчисленный = НалогИсчисленный + НалогЗаМесяц; Если ВозвращатьДанныеРасчетовБезПодразделений Тогда СтрокаРезультата = РезультатыРасчетов.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаРезультата, ВыборкаРасчетов, "ФизЛицо, МесяцНалоговогоПериода, Резидент, ОблагаемыйДоходНарастающимИтогом, ОграничениеПоДоходамЛичные, ОграничениеПоДоходамНаДетей"); СтрокаРезультата.ВычетЛичныйЗаМесяц = ВычетЛичныйЗаМесяц; СтрокаРезультата.ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц = ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц; СтрокаРезультата.ВычетНаДетейИнвалидовДвойнойЗаМесяц = ВычетНаДетейИнвалидовДвойнойЗаМесяц; СтрокаРезультата.ВычетНаДетейИнвалидовЗаМесяц = ВычетНаДетейИнвалидовЗаМесяц; СтрокаРезультата.ВычетНаДетейДвойнойВторойЗаМесяц = ВычетНаДетейДвойнойВторойЗаМесяц; СтрокаРезультата.ВычетНаДетейДвойнойЗаМесяц = ВычетНаДетейДвойнойЗаМесяц; СтрокаРезультата.ВычетНаДетейЗаМесяц = ВычетНаДетейЗаМесяц; СтрокаРезультата.ВычетИмущественныйРасходыОстаток = ВычетИмущественныйРасходыОстаток; СтрокаРезультата.ВычетИмущественныйПроцентыПриПерекредитованииОстаток = ВычетИмущественныйПроцентыПриПерекредитованииОстаток; СтрокаРезультата.ВычетИмущественныйПроцентыПоКредитамОстаток = ВычетИмущественныйПроцентыПоКредитамОстаток; СтрокаРезультата.НалогЗаМесяц = НалогЗаМесяц; КонецЕсли; Если КомментироватьРасчет Тогда РанееНалогИсчисленный = ИсчисленоРанее.Скопировать(ИсчисленоРанее.НайтиСтроки(СтруктураПоиска),"Налог"); РанееНалогИсчисленный = РанееНалогИсчисленный.Итог("Налог"); Если РанееНалогИсчисленный <> 0 Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Исчисленный ранее налог нарастающим итогом за год: " + РанееНалогИсчисленный, КомментарийМесяца); КонецЕсли; ОбщегоНазначенияЗК.КомментарийРасчета("Результат расчета за " + Формат(ВыборкаРасчетов.МесяцНалоговогоПериода, "ДФ=ММММ") + ": " + НалогЗаМесяц, КомментарийНДФЛ); КонецЕсли; Иначе НалогЗаМесяц = ВыборкаРасчетов.НалогЗаМесяц; Если КомментироватьРасчет Тогда ОбщегоНазначенияЗК.КомментарийРасчета("Результат расчета за " + Формат(ВыборкаРасчетов.МесяцНалоговогоПериода, "ДФ=ММММ") + ": " + НалогЗаМесяц, КомментарийНДФЛ); КонецЕсли; Если ВозвращатьДанныеРасчетовБезПодразделений Тогда ЗаполнитьЗначенияСвойств(РезультатыРасчетов.Добавить(),ВыборкаРасчетов,"ФизЛицо, МесяцНалоговогоПериода, Резидент"); КонецЕсли; КонецЕсли; Если РаспределятьПоПодразделениям Тогда ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, НалогЗаМесяц, "Налог", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений); ВспомогательнаяТаблица.Свернуть("ФизЛицо, МесяцНалоговогоПериода,Подразделение", СтрокаРесурсов); Для каждого СтрокаТЗ Из ВспомогательнаяТаблица Цикл ЕстьДанныеВСтроке = Ложь; Для каждого ИмяРесурса Из МассивРесурсов Цикл ЕстьДанныеВСтроке = СтрокаТЗ[ИмяРесурса] <> 0; Если ЕстьДанныеВСтроке Тогда Прервать; КонецЕсли; КонецЦикла; Если ЕстьДанныеВСтроке Тогда ЗаполнитьЗначенияСвойств(РезультатыРасчетов.Добавить(),СтрокаТЗ); КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; Если РаспределятьПоПодразделениям Тогда РезультатыРасчетов.Колонки.Подразделение.Имя = "ПодразделениеОрганизации"; КонецЕсли; Возврат РезультатыРасчетов; КонецФункции // ПолучитьДанныеНДФЛПоРегистратору |
||||
Способ обхода: | Использовать соответствующую Налоговому кодексу настройку "Стандартные вычеты применяются нарастающим итогом в течение налогового периода". | ||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10073027 | ||||
Дата публикации: | 01.02.2011 15:17:44 | ||||
Дата последнего изменения: | 01.02.2011 0:00:00 | ||||
Описание: | Если сотруднику назначено плановое начисление с формулой, использующей, помимо расчетной базы, другие показатели, например: Расчетная база * ОценитьПо(Сдельная выработка/Тарифная ставка часовая/Время в часах * 100,Шкала оценки) и при этом показатели окажутся незаданными (в приведенном примере - при отсутствии сдельных нарядов на сотрудника), то при расчете вместо описания проблемы в окне сообщений программы выдается сообщение об ошибке. |
||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10073008 | ||||
Дата публикации: | 01.02.2011 15:11:06 | ||||
Дата последнего изменения: | 01.02.2011 0:00:00 | ||||
Описание: | В интерфейсе "Расчет зарплаты организаций" отсутствуют пункты непосредственного вызова справок о доходах за 2010 год. | ||||
Планируется исправить в релизе: | 2.5.32 | ||||
Код ошибки: | 10072947 | ||||
Дата публикации: | 01.02.2011 15:10:47 | ||||
Дата последнего изменения: | 01.02.2011 0:00:00 | ||||
Описание: | Для видов расчета с предопределенным способом расчета "Фиксированной суммой", в поле ввода суммы формат устанавливает 3 знака после запятой вместо 2-х. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10072936 | ||||
Дата публикации: | 01.02.2011 15:10:18 | ||||
Дата последнего изменения: | 01.02.2011 0:00:00 | ||||
Описание: | Если в записях о гражданстве физических лиц для одного физлица в течение одного месяца имеются две записи, процедура обновления не будет выполнена - выдается сообщение об ошибке. | ||||
Способ исправления: | Процедуру ПереносСведенийОРезидентстве() о.м. ПроцедурыОбновленияИнформационнойБазы заменить следующим фрагментом Процедура ПереносСведенийОРезидентстве() Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ГражданствоФизЛиц.ФизЛицо |ПОМЕСТИТЬ ВТФизлица |ИЗ | РегистрСведений.ГражданствоФизЛиц КАК ГражданствоФизЛиц | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ КАК СтатусФизЛицКакНалогоплательщиковНДФЛ | ПО ГражданствоФизЛиц.ФизЛицо = СтатусФизЛицКакНалогоплательщиковНДФЛ.ФизЛицо | И (НАЧАЛОПЕРИОДА(ГражданствоФизЛиц.Период, МЕСЯЦ) = СтатусФизЛицКакНалогоплательщиковНДФЛ.Период) |ГДЕ | ГражданствоФизЛиц.УдалитьНеЯвляетсяНалоговымРезидентомРФ | И СтатусФизЛицКакНалогоплательщиковНДФЛ.ФизЛицо ЕСТЬ NULL |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Физлица.ФизЛицо, | НАЧАЛОПЕРИОДА(ГражданствоФизЛиц.Период, МЕСЯЦ) КАК Период, | МАКСИМУМ(ГражданствоФизЛиц.Период) КАК ПериодГражданства |ПОМЕСТИТЬ ВТФизлицаСДатами |ИЗ | ВТФизлица КАК Физлица | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГражданствоФизЛиц КАК ГражданствоФизЛиц | ПО Физлица.ФизЛицо = ГражданствоФизЛиц.ФизЛицо | |СГРУППИРОВАТЬ ПО | Физлица.ФизЛицо, | НАЧАЛОПЕРИОДА(ГражданствоФизЛиц.Период, МЕСЯЦ) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВЫБОР | КОГДА ГражданствоФизЛиц.УдалитьНеЯвляетсяНалоговымРезидентомРФ | ТОГДА ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент) | ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Резидент) | КОНЕЦ КАК Статус, | ФизлицаКОбработке.Период, | ФизлицаКОбработке.ФизЛицо КАК ФизЛицо |ИЗ | ВТФизлицаСДатами КАК ФизлицаКОбработке | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГражданствоФизЛиц КАК ГражданствоФизЛиц | ПО ФизлицаКОбработке.ФизЛицо = ГражданствоФизЛиц.ФизЛицо | И ФизлицаКОбработке.ПериодГражданства = ГражданствоФизЛиц.Период | |УПОРЯДОЧИТЬ ПО | ФизЛицо"; ТекстСообщения = "Обновление данных о резидентстве сотрудников"; #Если Клиент Тогда Состояние(ТекстСообщения + ": подготовка данных ..."); #КонецЕсли Выборка = Запрос.Выполнить().Выбрать(); #Если Клиент Тогда ВсегоДоков = Выборка.Количество(); Номер = 1; Состояние(ТекстСообщения + ": обработано 0 из " + ВсегоДоков); #КонецЕсли НаборЗаписей = РегистрыСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ.СоздатьНаборЗаписей(); НаборЗаписей.ОбменДанными.Загрузка = Истина; Пока Выборка.СледующийПоЗначениюПоля("ФизЛицо") Цикл НаборЗаписей.Отбор.ФизЛицо.Установить(Выборка.ФизЛицо); Пока Выборка.Следующий() Цикл ЗаполнитьЗначенияСвойств(НаборЗаписей.Добавить(),Выборка); #Если Клиент Тогда Если Номер % 30 = 0 Тогда Состояние(ТекстСообщения + ": обработано " + Номер + " из " + ВсегоДоков); КонецЕсли; Номер = Номер + 1; #КонецЕсли КонецЦикла; НаборЗаписей.Записать(); НаборЗаписей.Очистить(); КонецЦикла; #Если Клиент Тогда Состояние(ТекстСообщения + ": обработано " + ВсегоДоков + " из " + ВсегоДоков); #КонецЕсли КонецПроцедуры |
||||
Способ обхода: | Проверить наличие двух записей о гражданстве для одного физлица в течение одного месяца, если таковые есть - из двух оставить последнюю по времени. | ||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10072801 | ||||
Дата публикации: | 01.02.2011 15:05:17 | ||||
Дата последнего изменения: | 01.02.2011 0:00:00 | ||||
Описание: | В справке 2-НДФЛ за 2010 год неточно выводятся несколько сумм вычетов к одному доходу с кодом 1530. | ||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10072341 | ||||
Дата публикации: | 01.02.2011 15:02:54 | ||||
Дата последнего изменения: | 01.02.2011 0:00:00 | ||||
Описание: | В списке задач не создаются задачи по дням рождения по тем сотрудникам, по которым существуют прошлогодние задачи по дням рождения. | ||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10072200 | ||||
Дата публикации: | 21.01.2011 17:16:31 | ||||
Дата последнего изменения: | 21.01.2011 0:00:00 | ||||
Описание: | Неверно определяется тарифная ставка в расчетных документах при заполнении показателей в строке, если она задана по-разному для разных начислений. | ||||
Планируется исправить в релизе: | 2.5.33 | ||||
Код ошибки: | 10071893 | ||||
Дата публикации: | 18.01.2011 16:50:17 | ||||
Дата последнего изменения: | 28.01.2011 0:00:00 | ||||
Описание: | Неверно заполняются данные о доходах для расчета пособий соц. страхования за 2009 год в том случае, когда сотруднику в 2009 году начислялась материальная помощь, не облагавшаяся ранее ЕСН целиком, - не учитывается скидка. | ||||
Код ошибки: | 10070493 | ||||
Дата публикации: | 23.12.2010 16:29:53 | ||||
Дата последнего изменения: | 23.12.2010 0:00:00 | ||||
Описание: | Отчет "Расчетная ведомость" неверно отображает данные колонки "Начальное сальдо". | ||||
Исправлено в релизе: | 2.5.32 | ||||
Код ошибки: | 10042205 | ||||
Дата публикации: | 30.11.2010 17:28:39 | ||||
Дата последнего изменения: | 30.11.2010 0:00:00 | ||||
Описание: | При расчете б/л в 2010 году по сотруднику, работавшему ранее по основному месту работы и по внутреннему совместительству, не учитывается заработок по внутреннему совместительству, если на дату начала болезни со внутреннего совместительства сотрудник был уволен. | ||||
Код ошибки: | 10064714 | ||||
Дата публикации: | 15.10.2010 15:48:18 | ||||
Дата последнего изменения: | 15.10.2010 0:00:00 | ||||
Описание: | При попытке пересчетать документ "Оплата сверхурочных часов" после повышения окладов "задним числом" при помощи обработки "Перерасчет зарплаты по предприятию" создаваемый документ не заполняется. | ||||
Код ошибки: | 10064453 | ||||
Дата публикации: | 15.10.2010 15:47:53 | ||||
Дата последнего изменения: | 15.10.2010 0:00:00 | ||||
Описание: | Отч. "Медицинское страхование" не показывает адрес и телефон для новых незастрахованных сотрудников. | ||||
Код ошибки: | 10057489 | ||||
Дата публикации: | 15.10.2010 15:47:11 | ||||
Дата последнего изменения: | 15.10.2010 0:00:00 | ||||
Описание: | В печатных формах могут неверно склоняться некоторые мужские фамилии, оканчивающиеся на "-ий" после согласной. | ||||
Код ошибки: | 10050537 | ||||
Дата публикации: | 15.10.2010 15:45:46 | ||||
Дата последнего изменения: | 15.10.2010 0:00:00 | ||||
Описание: | Оформлен первичный больничный лист, затем продолжение больничного и в нем указана дата нарушения режима, при оформлении второго продолжения больничного, в него не переносится информация о дате нарушения режима. | ||||
Код ошибки: | 10029695 | ||||
Дата публикации: | 31.08.2010 15:45:40 | ||||
Дата последнего изменения: | 31.08.2010 0:00:00 | ||||
Описание: | Отчет "4-ФСС". Раздел 3, таблица 9. Заполнение колонок 7, 8, 10, 11. При заполнении вручную скидок и надбавок к страховому тарифу неверно происходит авторасчет итоговой 11 колонки. К введенной уже с учетом скидок и надбавок ставке взноса в ФСС от несчастного случая (колонка 7), прибавляются введенные в ручную размеры скидок и надбавок и отражается в итоговой колонке 11. |
||||
Способ обхода: | После заполнения отчета необходимо отключить авторасчет вычисляемых ячеек (соответствующий флаг в шапке отчета) и внести правильные процентные ставки. | ||||
Код ошибки: | 10056615 | ||||
Дата публикации: | 27.07.2010 15:12:00 | ||||
Дата последнего изменения: | 27.07.2010 0:00:00 | ||||
Описание: | При создании на основании документа "Зарплата к выплате организаций" документа "Платежное поручение исходящее", на вкладке "Печать" не заполняется наименование плательщика. | ||||
Код ошибки: | 10058700 | ||||
Дата публикации: | 08.07.2010 14:55:30 | ||||
Дата последнего изменения: | 08.07.2010 0:00:00 | ||||
Описание: | В документе-исправлении <Начисление зарплаты> у видов расчета с произвольной формулой неверно рассчитывается показатель <Отработано времени в днях>. | ||||
Код ошибки: | 10043804 | ||||
Дата публикации: | 23.12.2009 16:19:37 | ||||
Дата последнего изменения: | 23.12.2009 0:00:00 | ||||
Описание: | В документе "Оплата сверхурочных часов" не пересчитывается в часовую тарифная ставка из произвольной формулы - всегда получается 0. | ||||
Код ошибки: | 10036015 | ||||
Дата публикации: | 15.10.2009 16:26:59 | ||||
Дата последнего изменения: | 15.10.2009 0:00:00 | ||||
Описание: | После исправления кадрового документа в обработке "Анализ неявок", исходное кадровое событие не показывается, отчего расчетный документ, оформленный по устаревшим кадровым данным, сопоставляется с исправленным кадровым событием. | ||||
Код ошибки: | 10036185 | ||||
Дата публикации: | 15.10.2009 16:22:55 | ||||
Дата последнего изменения: | 15.10.2009 0:00:00 | ||||
Описание: | При использовании кассового метода учета управленческих затрат, в документе "Планируемые затраты на персонал" неверно определяется факт прошлого периода. | ||||
Код ошибки: | 10002714 | ||||
Дата публикации: | 26.09.2008 15:54:03 | ||||
Дата последнего изменения: | 26.09.2008 0:00:00 | ||||
Описание: | При обновлении с конфигурации с редакции 2.1. на 2.5 выдается сообщение об ошибке, когда в организации не поддерживается внутреннее совместительство и по физлицу, с которым заключен договор ГПХ на выполнение работ, зарегистрирован документ «Ввод процента деятельности ЕНВД». | ||||
Код ошибки: | 10001643 | ||||
Дата публикации: | 05.08.2008 16:24:23 | ||||
Дата последнего изменения: | 05.08.2008 0:00:00 | ||||
Описание: | При отправке печатной формы документа по электронной почте в текст письма не попадают имеющиеся картинки. | ||||
Код ошибки: | 10001302 | ||||
Дата публикации: | 29.07.2008 16:40:03 | ||||
Дата последнего изменения: | 29.07.2008 0:00:00 | ||||
Описание: | В отчете "Расчетная ведомость", построенном за несколько месяцев, в некоторых случаях неправильно отражаются итоги по показателям сальдо. | ||||
Код ошибки: | 00103150 | ||||
Дата публикации: | 30.04.2008 16:04:59 | ||||
Дата последнего изменения: | 30.04.2008 0:00:00 | ||||
Описание: | Если в анкету, указанную в настройках программы как резюме кандидата, добавить вопросы из предопределенной группы вопросов о контактной информации физлица, то при создании физлица по ответам на такую анкету контактная информация из опроса не будет перенесена в данные физлица. | ||||
Код ошибки: | 00094289 | ||||
Дата публикации: | 14.09.2007 10:02:29 | ||||
Дата последнего изменения: | 26.11.2010 0:00:00 | ||||
Описание: | В форме 2-НДФЛ за прошлые годы (по 2009-й) на работника, у которого по результатам перерасчета за прошлые налоговые периода был доудержан (зачтен) налог, не заполняются пп.5.6 или 5.7 раздела 5. | ||||
Код ошибки: | 00076008 | ||||
Дата публикации: | 17.07.2007 16:03:29 | ||||
Дата последнего изменения: | 17.07.2007 0:00:00 | ||||
Описание: | Неверно исчисляются алименты с работника, отработавшего неполный рабочий месяц из-за прогулов. | ||||