Модуль документа «ВводВремени»
⇐ ПредыдущаяСтр 8 из 8 Процедура ОбработкаПроведения() ЖрнЗарплата = СоздатьОбъект («ЖурналРасчетов. Зарплата»); ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл Если (Сотрудник. Выбран()=1) Тогда Если ХО. Выбран()=1 Тогда ЖрнЗарплата. УстановитьРеквизит («Счет», ХО); ЖрнЗарплата. УстановитьРеквизит («ДокументомЛи», 1); КонецЕсли; Если (Отработанно <> 0) и (ПустоеЗначение(РК) = 1) Тогда ЖрнЗарплата. УстановитьРеквизит («Дни», Дни); ЖрнЗарплата. УстановитьРеквизит («Часы», Часы); ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», НомерСтроки); Если ФлагРКСК = 0 тогда ЖрнЗарплата. ВвестиРасчетНаОсновании (ТекущийДокумент(), Сотрудник, ВидРасчета. Повременная,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); Иначе ЖрнЗарплата. ВвестиРасчетНаОсновании (ТекущийДокумент(), Сотрудник, ВидРасчета. ПовременнаяБезРКСК,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); КонецЕсли; ЖрнЗарплата. УстановитьРеквизит («Дни», 0); ЖрнЗарплата. УстановитьРеквизит («Часы», 0); ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», 0); КонецЕсли; Если (Отработанно <> 0) и (ПустоеЗначение(РК) = 0) Тогда ЖрнЗарплата. УстановитьРеквизит («Дни», Дни); ЖрнЗарплата. УстановитьРеквизит («Часы», Часы); ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», НомерСтроки); ЖрнЗарплата. ВвестиРасчетНаОсновании (ТекущийДокумент(), Сотрудник, ВидРасчета. ПовременнаяДляРК,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); ЖрнЗарплата. ВвестиРасчетНаОсновании (ТекущийДокумент(), Сотрудник, ВидРасчета. РайонныйКоэффициентДляПовременки,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0);
ЖрнЗарплата. УстановитьРеквизит («Дни», 0); ЖрнЗарплата. УстановитьРеквизит («Часы», 0); ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», 0); КонецЕсли; Если Премия <> 0 тогда ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», НомерСтроки); Если ФлагРКСК = 0 тогда ЖрнЗарплата. ВвестиРасчет (Сотрудник, ВидРасчета. ПремияНовая,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); Иначе ЖрнЗарплата. ВвестиРасчет (Сотрудник, ВидРасчета. ПремияНоваяБезРКСК,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); КонецЕсли; КонецЕсли; Если Класность <> 0 тогда ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», НомерСтроки); Если ФлагРКСК = 0 тогда ЖрнЗарплата. ВвестиРасчет (Сотрудник, ВидРасчета. ДоплатаЗаКласность,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); Иначе ЖрнЗарплата. ВвестиРасчет (Сотрудник, ВидРасчета. ДоплатаЗаКласностьБезРКСК,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); КонецЕсли; КонецЕсли; Если Отгулы <> 0 Тогда ЖрнЗарплата. УстановитьРеквизит («Дни», Дни); ЖрнЗарплата. УстановитьРеквизит («Часы», Часы); ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», НомерСтроки); ЖрнЗарплата. ВвестиРасчетНаОсновании (ТекущийДокумент(), Сотрудник, ВидРасчета. Отгулы,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); ЖрнЗарплата. УстановитьРеквизит («Дни», 0); ЖрнЗарплата. УстановитьРеквизит («Часы», 0); ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», 0);
КонецЕсли; Если (ЧасыНоч <> 0) и (Флаг = 1) Тогда ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», НомерСтроки); ЖрнЗарплата. УстановитьРеквизит («Часы», ЧасыНоч); ЖрнЗарплата. ВвестиРасчет (Сотрудник, ВидРасчета. ЗаНочныеЧасыНов,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); КонецЕсли; Если (ЧасыВеч <> 0) и (Флаг = 1) Тогда ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», НомерСтроки); ЖрнЗарплата. УстановитьРеквизит («Часы», ЧасыВеч); ЖрнЗарплата. ВвестиРасчет (Сотрудник, ВидРасчета. ЗаВечерниеЧасыНов,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); КонецЕсли; Если (ВПолуторном <> 0) ИЛИ (ВДвойном <> 0) и (Флаг = 1) Тогда ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», НомерСтроки); ЖрнЗарплата. УстановитьРеквизит («Часы», ВПолуторном + ВДвойном); ЖрнЗарплата. ВвестиРасчет (Сотрудник, ВидРасчета. ОплатаСверхурочныхНов,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); КонецЕсли; Если (ЧасыПрВых <> 0) и (Флаг = 1) Тогда ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», НомерСтроки); ЖрнЗарплата. УстановитьРеквизит («Часы», ЧасыПрВых); ЖрнЗарплата. ВвестиРасчет (Сотрудник, ВидРасчета. ДоплатаЗаПраздничныеНов,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); КонецЕсли; Если (Прогулы <> 0) тогда ЖрнЗарплата. УстановитьРеквизит («НомерСтрокиДокумента», НомерСтроки); ЖрнЗарплата. УстановитьРеквизит («Дни», Прогулы); ЖрнЗарплата. УстановитьРеквизит («Результат», 0); ЖрнЗарплата. УстановитьРеквизит («Рассчитана», 1); ЖрнЗарплата. УстановитьРеквизит («Фиксирована», 1); ЖрнЗарплата. ВвестиРасчет (Сотрудник, ВидРасчета. Прогулы,? (ПустоеЗначение(Дата1)=0, Дата1, НачМесяца(ДатаДок)),? (ПустоеЗначение(Дата2)=0, Дата2, КонМесяца(ДатаДок)), 0); Тариф = Сотрудник. Оклад. Получить (КонМесяца(ДляДнейЧасов)); Если Тариф > 0 тогда Тариф = Тариф Иначе Тариф = Сотрудник. Оклад. Получить (КонМесяца(ДляДнейЧасов)).Тариф. Получить (КонМесяца(ДляДнейЧасов)); КонецЕсли;
КонецЕсли; глДобавитьСообщение (глОбработчикСообщений, «У сотрудника «+Сотрудник+» изменялись расчетные данные (оклад или тариф) на «+ Тариф +»! Введите табель по измененным данным!!!»,); КонецЕсли; ПриВводеСотрудника(Сотрудник); КонецЕсли; КонецЦикла; СортироватьСтроки («Сотрудник»); КонецПроцедуры Процедура Очистить() Если Вопрос («Внимание!!! Список сотрудников будет очищен.» «Продолжить?», «Да+Нет»)= «Нет» Тогда Возврат КонецЕсли; УдалитьСтроки(); КонецПроцедуры Процедура Переключение() Если Флаг <> 1 Тогда Форма. ЧасыНоч. Доступность(0); Форма. ЧасыВеч. Доступность(0); Форма.ВПолуторном. Доступность(0); Форма. Вдвойном. Доступность(0); Форма. ЧасыПрВых. Доступность(0); Иначе Форма. ЧасыНоч. Доступность(1); Форма. ЧасыВеч. Доступность(1); Форма.ВПолуторном. Доступность(1); Форма. Вдвойном. Доступность(1); Форма. ЧасыПрВых. Доступность(1); КонецЕсли; Предупреждение («Перепроверте норму дней или часов!!!») КонецПроцедуры Процедура ПровестиИзФормы (НажатаКнопкаОК=0) ПриЗаписиПерепроводить(0); Записать(); Если ПроведенВПрошлом<>1 Тогда ПриЗаписиПерепроводить(1); КонецЕсли; // если вызвали через кнопку ОК, то закроем форму // и обработчик соообщений пуст Если НажатаКнопкаОК=1 Тогда Провести(); Форма. Закрыть(); Иначе Провести(); КонецЕсли; КонецПроцедуры // ПровестиИзФормы СписокДействий = СоздатьОбъект («СписокЗначений»);
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|