Конфигурирование программы "1С:Предприятие" на основе предприятия сельскохозяйственной отрасли

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

#187;);

// если запись исправлена или фиксирована, то ее не рассчитываем

Если (ЖрнЗарплата. Исправлена=1) или (ЖрнЗарплата. Фиксирована=1) Тогда

глСообщениеТрассировки (глСообщенияТрассировки, +? (ЖрнЗарплата. Исправлена=1, Результат записи исправлен вручную, Запись фиксирована) +. Расчет не проводился., 1);

Возврат

Иначе

Документ. ПолучитьСтрокуПоНомеру(НомерСтрокиДокумента);

Если Документ. Флаг =1 Тогда

ВсегоЧасов = Документ. НормаЧасов;

Иначе

ГрафикРаботы = Объект. ГрафикРаботы. Получить(ДатаОкончания);

ГрафикРаботы =? (ПустоеЗначение(ГрафикРаботы)=1, Константа. ОсновнойГрафик, ГрафикРаботы);

Календарь = ГрафикРаботы. ОсновныеЧасы;

НормаЧасов = Календарь. Часов (НачМесяца(ДатаОкончания), КонМесяца(ДатаОкончания));

НормаДней = Календарь. Дней (НачМесяца(ДатаОкончания), КонМесяца(ДатаОкончания));

ВсегоЧасов = Окр (Документ. НормаЧасов*НормаЧасов/НормаДней, 0,1);

КонецЕсли;

// ВсегоЧасов = Документ. НормаЧасов;

Если Документ. ФлагПремия = 1 тогда

Календарь = СоздатьОбъект (Календарь. ПолныйМесяц);

НормаЧасов = Календарь. Часов (НачМесяца(ДатаОкончания), КонМесяца(ДатаОкончания));

НормаДней = Календарь. Дней (НачМесяца(ДатаОкончания), КонМесяца(ДатаОкончания));

Если Документ. Флаг =1 Тогда

ВсегоЧасов = НормаЧасов

Иначе

ВсегоЧасов = НормаДней

КонецЕсли;

Иначе

ВсегоЧасов = Документ. НормаЧасов;

КонецЕсли;

ЧасовЖ = Документ. Женские;

НаДату = Документ. Дата2;

Оклад = Документ. Тариф;

Тариф = Документ. Тариф;

Отработанно = Документ. Отработанно;

ЧасовНочн = Документ. ЧасыНоч;

ЧасовПраздн = Документ. ЧасыПрВых;

Часов15 = Документ.ВПолуторном;

Часов2 = Документ.ВДвойном;

Класность = Документ. Класность;

Отгулы = Документ. Отгулы;

Если Документ. Флаг = 1 Тогда

Если (глФормаТрудаПоТарифуОкладу (Объект. ФормаТруда. Получить(НаДату)) = Оклад) или (Тариф > 500) Тогда

РезультатПовр = Окр (Оклад*Отработанно/ВсегоЧасов, 2,1);

РезультатОтг = Окр (Оклад*Отгулы/ВсегоЧасов, 2,1);

Иначе

РезультатПовр = Окр (Тариф*Отработанно, 2,1);

РезультатОтг = Окр (Тариф*Отгулы, 2,1);

КонецЕсли;

Иначе

Если (глФормаТрудаПоТарифуОкладу (Объект. ФормаТруда. Получить(НаДату)) = Оклад) или (Тариф > 500) Тогда

РезультатПовр = Окр (Оклад*Отработанно/ВсегоЧасов, 2,1);

РезультатОтг = Окр (Оклад*Отгулы/ВсегоЧасов, 2,1);

Иначе

РезультатПовр = Окр (Тариф*Отработанно, 2,1);

РезультатОтг = Окр (Тариф*Отгулы, 2,1);

КонецЕсли;

КонецЕсли;

Если (глФормаТрудаПоТарифуОкладу (Объект. ФормаТруда. Получить(НаДату)) = Оклад) или (Тариф > 500) Тогда

ЗаОдинЧас = Оклад/ВсегоЧасов;

РезультатНочн = Окр (ЗаОдинЧас*ЧасовНочн*Константа. КоэффициентДоплатыЗаРаботуВНочноеВремя, 2,1);

РезультатПраздн = Окр (ЗаОдинЧас*ЧасовПраздн*(Константа. КоэффициентДоплатыЗаРаботуВПраздничныеДни-1), 2,1);

РезультатСверхУр = Окр (ЗаОдинЧас*(Часов15*Константа. КоэффициентОплатыСверхУрочныхЧасовНачальный+Часов2*Константа. КоэффициентОплатыСверхУрочныхЧасовПоследующих), 2,1);

Иначе

РезультатНочн = Окр (Тариф*ЧасовНочн*Константа. КоэффициентДоплатыЗаРаботуВНочноеВремя, 2,1);

РезультатПраздн = Окр (Тариф*ЧасовПраздн*(Константа. КоэффициентДоплатыЗаРаботуВПраздничныеДни-1), 2,1);

РезультатСверхУр = Окр (Тариф*(Часов15*Константа. КоэффициентОплатыСверхУрочныхЧасовНачальный+Часов2*Константа. КоэффициентОплатыСверхУрочныхЧасовПоследующих), 2,1);

КонецЕсли;

РезультатКл = Окр((РезультатПовр+РезультатНочн+РезультатПраздн+РезультатСверхУр)/100*Класность, 2,1);

Результат = Окр((РезультатПовр+РезультатНочн+РезультатПраздн+РезультатСверхУр+РезультатКл+РезультатОтг)/100*(Документ. Премия), 2,1);

КонецЕсли;

КонецПроцедуры // ПровестиРасчет()

Вид расчета ОплатаСверхурочныхНов

// Сверхурочные

Процедура ПровестиРасчет()

ЖрнЗарплата = СоздатьОбъект (ЖурналРасчетов. Зарплата);

Документ. ПолучитьСтрокуПоНомеру(НомерСтрокиДокумента);

// ВсегоЧасов = Документ. НормаЧасов;

Если Документ. Флаг =1 Тогда

ВсегоЧасов = Документ. НормаЧасов;

Иначе

ГрафикРаботы = Объект. ГрафикРаботы. Получить(ДатаОкончания);

ГрафикРаботы =? (ПустоеЗначение(ГрафикРаботы)=1, Константа. ОсновнойГрафик, ГрафикРаботы);

Календарь = ГрафикРаботы. ОсновныеЧасы;

НормаЧасов = Календарь. Часов (НачМесяца(ДатаОкончания), КонМесяца(ДатаОкончания));

НормаДней = Календарь. Дней (НачМесяца(ДатаОкончания), КонМесяца(ДатаОкончания));

ВсегоЧасов = Окр (Документ. НормаЧасов*НормаЧасов/НормаДней, 0,1);

КонецЕсли;

Часов15 = Документ.ВПолуторном;

Часов2 = Документ.ВДвойном;

НаДату = Документ. Дата2;

Оклад = Документ. Тариф;

Тариф = Документ. Тариф;

Если (глФормаТрудаПоТарифуОкладу (Объект. ФормаТруда. Получить(НаДату)) = Оклад) или (Тариф > 500) Тогда

ЗаОдинЧас = Оклад/ВсегоЧасов;

Результат = Окр (ЗаОдинЧас*(Часов15*Константа. КоэффициентОплатыСверхУрочныхЧасовНачальный+Часов2*Константа. КоэффициентОплатыСверхУрочныхЧасовПоследующих), 2,1);

Иначе

Результат = Окр (Тариф*(Часов15*Константа. КоэффициентОплатыСверхУрочныхЧасовНачальный+Часов2*Константа. КоэффициентОплатыСверхУрочныхЧасовПоследующих), 2,1);

КонецЕсли;

Если Документ. ФлагДЧ = 1 тогда

Часы = 0;

Иначе

Часы =? (Сторно=1, - (Часов15+Часов2), (Часов15+Часов2));

КонецЕсли;

КонецПроцедуры

 

 

Заключение

 

В данной дипломной р