13.
PipaOld
24
08.12.11 11:47
Сейчас в теме
Добрый день, lafaaadka!
В вашей организации скорее всего используется оклад суммой, а не от тарифного разряда. Пожалуйста, в режиме Конфигуратора в модуле формы обработки в процедуру КнопкаВыполнитьНажатие(Кнопка) необходимо внести следующие изменения, заменить соответствующий кусок кода на указанный ниже. Надеюсь это поможет Вам. С уважением, PipaOld. P.S. Шаблоны .dot изменению не подлежат.
////////////////////////// Начало фрагмента
ДатаТрудовогоДоговора = Формат(ВыбСотрудник.ДатаДоговора,"ДЛФ=ДД");
НомерТрудовогоДоговора = СокрЛП(ВыбСотрудник.НомерДоговора);
ТребуетВводаТарифногоРазряда = 0; //Добавлено
ОкладСуммой = 0; //Добавлено
Если ТрудовойДоговор1=1 или ТрудовойДоговор1=2 Тогда
Для Каждого ТекСтрока из ВыбПрием.РаботникиОрганизации Цикл
Если ТекСтрока.Сотрудник.Ссылка = Сотрудник.Ссылка Тогда
ДолжностьВ = СокрЛП(ТекСтрока.Должность.Наименование);
ПодразделениеОрганизации = СокрЛП(ТекСтрока.ПодразделениеОрганизации.Наименование);
ДолжностьВ = ДолжностьВ+" в "+нРег(Сред(ПодразделениеОрганизации,1,1))+Сред(ТекСтрока.ПодразделениеОрганизации,2);
ИспытательныйСрок=ТекСтрока.ИспытательныйСрок;
Ставка = ТекСтрока.ЗанимаемыхСтавок;
КонецЕсли;
КонецЦикла;
Для Каждого ТекСтрока из ВыбПрием.ОсновныеНачисления Цикл
Если ТекСтрока.Сотрудник.Ссылка = Сотрудник.Ссылка Тогда
Если ТекСтрока.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням Тогда
ТарифныйРазряд1 = ТекСтрока.ТарифныйРазряд1;
Если ТекСтрока.ВидРасчета.ТребуетВводаТарифногоРазряда=Истина Тогда //Добавлено
ТребуетВводаТарифногоРазряда = 1; //Добавлено
Иначе //Добавлено
ОкладСуммой = ТекСтрока.Показатель1; //Добавлено
КонецЕсли; //Добавлено
КонецЕсли;
КонецЕсли;
КонецЦикла;
ДатаПриемаНаРаботу = Сотрудник.ДатаПриемаНаРаботу;
ИначеЕсли ТрудовойДоговор1=3 или ТрудовойДоговор1=4 Тогда
ДатаПриемаНаРаботу = Сотрудник.ДатаПриемаНаРаботу;
Если ЗначениеЗаполнено(КадровоеПеремещение1) Тогда
Для Каждого ТекСтрока из КадровоеПеремещение1.ОсновныеНачисления Цикл
Если ТекСтрока.Сотрудник.Ссылка = Сотрудник.Ссылка Тогда
Если ТекСтрока.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням Тогда
ТарифныйРазряд1 = ТекСтрока.ТарифныйРазряд1;
Если ТекСтрока.ВидРасчета.ТребуетВводаТарифногоРазряда=Истина Тогда //Добавлено
ТребуетВводаТарифногоРазряда = 1; //Добавлено
Иначе //Добавлено
ОкладСуммой = ТекСтрока.Показатель1; //Добавлено
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Для Каждого ТекСтрока из КадровоеПеремещение1.РаботникиОрганизации Цикл
Если ТекСтрока.Сотрудник.Ссылка = Сотрудник.Ссылка Тогда
ДатаПриемаНаРаботу = ТекСтрока.ДатаНачала;
ДолжностьВ = СокрЛП(ТекСтрока.Должность.Наименование);
ПодразделениеОрганизации = СокрЛП(ТекСтрока.ПодразделениеОрганизации.Наименование);
ДолжностьВ = ДолжностьВ+" в "+нРег(Сред(ПодразделениеОрганизации,1,1))+Сред(ПодразделениеОрганизации,2);
Ставка = ТекСтрока.ЗанимаемыхСтавок;
КонецЕсли;
КонецЦикла;
Иначе
Предупреждение("Не выбран документ кадрового перемещения");
Возврат;
КонецЕсли;
КонецЕсли;
Если ТребуетВводаТарифногоРазряда = 1 Тогда //Добавлено
//Вытаскиваем тарифную ставку
///////////////////////////////////////////////////////
ЗапросТарифнаяСтавка = Новый Запрос;
ЗапросТарифнаяСтавка.Текст =
"ВЫБРАТЬ
| РазмерТарифныхСтавокСрезПоследних.ТарифныйРазряд.Ссылка,
| РазмерТарифныхСтавокСрезПоследних.Размер
|ИЗ
| РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&ДатаСреза) КАК РазмерТарифныхСтавокСрезПоследних
|ГДЕ
| РазмерТарифныхСтавокСрезПоследних.ТарифныйРазряд.Ссылка = &ЗначСправочник
|";
ЗапросТарифнаяСтавка.УстановитьПараметр("ЗначСправочник", ТарифныйРазряд1.Ссылка);
ЗапросТарифнаяСтавка.УстановитьПараметр("ДатаСреза", ДатаПриемаНаРаботу);
Результат = ЗапросТарифнаяСтавка.Выполнить();
Оклад=0;
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Оклад = Выборка.Размер;
Прервать;
КонецЦикла;
Иначе //Добавлено
Оклад = ОкладСуммой; //Добавлено
КонецЕсли; //Добавлено
формаОклад = Оклад;
//////////////////////////////////// Окончание фрагмента