Интернет-магазин Avon-Москва
Поиск    
 Главная | Прайс-лист |  | Помощь    
 
Главная : Косметика ANEW : Clinical : s : 2.6 соцрасходы :

текст Его решения


 


Наличие на складе: да



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

&НаКлиенте
Процедура ЗаполнитьТЧСотрудники(Команда)
ЗаполнитьТЧСотрудникиНаСервере();
Модифицированность = Истина;
КонецПроцедуры

&НаКлиенте
Процедура ПериодРегистрацииПриИзменении(Элемент)
Объект.ПериодРегистрации = НачалоМесяца(Объект.ПериодРегистрации);
КонецПроцедуры

Оцените товар!
Отлично!
Хорошо
Средне
Плохо
Очень плохо



Наш e-mail: avon@avon-moskva.ru

 Copyright AVON-MOSKVA.ru 2006-2024