Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Модуль документа «ВводВремени»




Процедура ОбработкаПроведения()

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

ВыбратьСтроки();

Пока ПолучитьСтроку()=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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...