Имя: Пароль:
1C
 
Изменить показатели расчета зарплаты ЗУП 3.0
0 Dimarik_1
 
11.07.15
13:08
Часто требуется изменить показатели рассчета зарплаты.
Т.е. пользователь щёлкает по кнопочке "Заполнить" в документе "Начисление зарплаты" и заполняются начисления. Если нажмёт на кнопочку "показать подробности расчета", то будут отображены
Сам результат можно без проблем изменить здесь:
модуль РасчетЗарплатыРасширенныйПереопределяемый. В этом модуле можно изменить строку начислений и результат. А вот несмотря на всё это показатели остаются прежними. То есть если пользователь нажмёт "Показать подробности расчета", показатели будут неизменёнными. Как бы правильно их поменять. Кто-нибудь может подсказать?
Я в принципе нашёл, где рассчитываются сами показатели в типовой.
Это общий модуль "Расчет зарплаты расширенный". В этом модуле есть функция ДанныеДляЗаполненияТаблицДокумента. В ней всё и рассчитывается. Я пробовал в ней изменять значения показателей, но результат аналогичный.
Как правильно это сделать?

Процедура ИзменитьДанныеЗаполнения(ДанныеЗаполнения) Экспорт
    
        МассивСотрудников = ДанныеЗаполнения.Начисления.ВыгрузитьКолонку("Сотрудник");
    НужноеНачисление = ПланыВидовРасчета.Начисления.НайтиПоНаименованию("СложныеРаботы");
    Если ДанныеЗаполнения.Начисления.Количество() > 0 Тогда
        
        ТЗ = ПолучитьНадбавку(МАссивСотрудников,ДанныеЗаполнения.Начисления[0].ПериодРегистрацииВремени);
        ТЗ.Индексы.Добавить("Сотрудник");
        Для Каждого Строка Из ДанныеЗаполнения.Начисления Цикл
            Если Строка.Начисление =  НужноеНачисление Тогда
            НайденнаяСтрока = ТЗ.Найти(Новый Структура("Сотрудник", Строка.Сотрудник));
            Если НайденнаяСтрока <> Неопределено Тогда
                НайденнаяСтрока.Значение1 = 1;                 
                НайденнаяСтрока.Значение2 = 2;
                НайденнаяСтрока.Значение3 = 3;
                НайденнаяСтрока.Значение4 = 4;
                НайденнаяСтрока.Значение5 = 5;
                НайденнаяСтрока.Результат = 6;
            КонецЕсли;
            
                
                
            КонецЕсли;
        КонецЦикла;
        
    КонецЕсли;

    
КонецПроцедуры
1 Фрэнки
 
11.07.15
13:29
Ты на парадигму замахнулся. Этого так просто не изменишь, хотя...
Я не совсем понял, что конкретно тебе хочется в результате своих манипуляций получить:
- интерактивно зафиксировать новую формулу, дописывая в нее иные арифметические действия?
- изменить содержание процедуры расчета, включив или исключив из нее показатели?
- потерялись для тебя ссылки и ты не знаешь где попрятались Показатели?

Если последнее, то отлови отладчиком Найденную строку и то место, в котором у этих строк заполняются значения.
2 Dimarik_1
 
11.07.15
19:04
Да я в принципе нашёл, где это всё заполняется и перезатёр на нужные мне данные. В итоге Результат получалось поменять, а сами показатели - нет.
3 Dimarik_1
 
11.07.15
23:44
есть мысли?
4 igni1
 
12.07.15
07:49
а почему показатели не менять в их регистре?
5 Фрэнки
 
12.07.15
08:19
(3) Мясли могут быть, если будет разъяснено, какой смысл вложен в вопрос: "показатели будут неизменёнными. Как бы правильно их поменять"

Вот пишешь, что есть возможность "Показать подробности расчета" - так покажи пример и поясни, что именно в нем нужно изменить. Конкретно ответь на вопросы в (1)
6 Dimarik_1
 
12.07.15
09:58
У меня формула рассчета следующая: ПроцентПремии * ТарифнаяСтавка * ВремяВДнях.
Надо по своему алгоритму рассчитать ПроцентПремии (от него зависит результат начисления)
Посчитать результат я могу, а вот правильно процент премии, чтобы он выводился - не получилось.
7 Фрэнки
 
12.07.15
11:06
Этот показатель расчета "ПроцентПремии" может быть теперь в 3.0 ведет себя по другому, пока еще не проверял такой особенности. Но если не сильно привязываться к версии конфигурации, то показатель этот был изменяемый с помощью документа. Нужно каждый раз перед началом расчета регистрировать распоряжение или приказ руководства, оно сохраняет в периодическом регистре сведений значение. Затем при расчете это значение читается серзом последним на дату периода расчета и используется.

Если стоит задача автоматически вычислить значение процента премирования, то процедуру такую программист напишет всегда. Но по установленной в ТК нормативке необходима регистрация рассчитанного процента. В старой ЗиК, например, у приказа на премию значение процента ставилась в шапке документа на заполняемый список сотрудников. В конце концов, чтоб не изменять типовой механизм, ставили обработку для создания множества регистраций установленных пар Сотрудник vs ПроцентПремии и печатную форму для печати списка премируемых разными процентами.
Но нужно помнить, что нормативка не одобряет разное премирование процентом, если работники имеют одинаковые трудовые условия и т.п.

Кстати, механизм расчета по подобным формулам не делают чрезвычайно гибким именно из-за существующих ограничений на фантазию в расчетах оплаты труда.
8 Фрэнки
 
12.07.15
11:13
(6) а вообще, в предыдущей версии ЗУП не было проблем записать дополнительные показатели расчетов, т.е. расширить список показателей, который при первом запуске базы имеет только предопределенные элементы. Но... помню, что в том списке предопределенных были умышленно созданы нумерованные элементы, которые можно было переименовать/переопределить и записать новые формулы для расчетов.

Только с показателем ПроцентПремии проблема не в именовании показателя и комбинации арифметических действий с его значением, а с регистрацией/установкой нового значения после прежнего - см в 7 посте.