8.х ЗУП Настройка основного начисления

Тема в разделе ""1С:Зарплата и управление персоналом ЗУП"", создана пользователем Angel_88, 18 май 2017.

  1. TopicStarter Overlay
    Angel_88
    Offline

    Angel_88

    Регистрация:
    14 сен 2016
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Добрый день!

    Зарплата и Управление Персоналом, редакция 2.5 (2.5.116.1)

    Сотруднику полагается за каждый отработанный день 80 руб (на питание).

    В программе был создан вид основного начисления "ПИТАНИЕ" (рассчитывается по формуле: Тариф питания * Отработано времени в днях). Данный вид начисления добавляется в карточку сотрудника и рассчитывается в документе "Начисление зарплаты работникам".
    Тариф питания указывается один раз для всей организации (Показатели расчета заработной платы).

    При расчете зарплаты, у сотрудников, которые были рабочие выходные и отпуск, задваивается сумма Питания.

    Например. У сотрудника Я-15, 1-РВ,1-ОТ. должно быть 15*80+80+0=1280 , а программа считает 15*80+2*80+80=1440.

    Подскажите, пожалуйста, как исправить?
  2. svet
    Offline

    svet Профессионал в 1С Команда форума

    Регистрация:
    9 ноя 2007
    Сообщения:
    2.047
    Симпатии:
    63
    Баллы:
    54
    У нас подобная доплата есть. Я пару лет назад в модуле правила, там отработанное время некорректно подбиралось. Не знаю, исправили эту ситуацию в последних релизах или нет, но, судя по вашему вопросу, - нет.
  3. TopicStarter Overlay
    Angel_88
    Offline

    Angel_88

    Регистрация:
    14 сен 2016
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Подскажите, пожалуйста, в каком модуле править? На что обратить внимание?
  4. svet
    Offline

    svet Профессионал в 1С Команда форума

    Регистрация:
    9 ноя 2007
    Сообщения:
    2.047
    Симпатии:
    63
    Баллы:
    54
    Общий модуль ПроведениеРасчетовПереопределяемый, Процедура РассчитатьЗаписьРегистраРасчета.
    Там найдите блок
    Код:
    ИначеЕсли СпособРасчета = Перечисления.СпособыРасчетаОплатыТруда.ПроизвольнаяФормула Тогда
    поставьте точку останова и посмотрите что попадает в ОтработанноеВремя.
    Там должны быть операторы типа:
    Код:
    ОтработанноеВремя = ?(ИсходныеДанные.ВидУчетаВремени = Перечисления.ВидыУчетаВремени.ПоДням, ИсходныеДанные.ОтработаноДней, ИсходныеДанные.ОтработаноЧасов);
    РезультатБаза = СтрокаДвижений.РасчетнаяБазаЗаЕдиницуНормыВремени * ОтработанноеВремя;
    
    У меня перед концом оператора ЕСЛИ РезультатПолучен вставлено:
    Код:
    Если РезультатПолучен Тогда
    
    .....................
    
     Если РегламентированныеНачисления И ИсходныеДанные.РасчетИмеетОтработанноеВремя Тогда
     // svs
     // при расчете доплаты за молоко принимаем оплачено дней = отработано дней
     Если Найти(ВидРасчета.Наименование, "молоко") > 0 тогда
     Для сч = 1 по 6 цикл
     Если Найти(ИсходныеДанные["Показатель"+сч+"Наименование"],"Отработано")>0 тогда
     СтрокаДвижений.ОплаченоДнейЧасов = ИсходныеДанные["Показатель"+сч];
     Прервать;
     КонецЕсли;
     КонецЦикла; 
     КонецЕсли;
     // svs
     КонецЕсли;
    КонецЕсли;  // Если РезультатПолучен
    
    Angel_88 нравится это.
  5. TopicStarter Overlay
    Angel_88
    Offline

    Angel_88

    Регистрация:
    14 сен 2016
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    спасибо

Поделиться этой страницей