8.х ЗУП "Оплата праздничных и выходных дней", часовая тарифная ставка

Тема в разделе ""1С:Зарплата и управление персоналом ЗУП"", создана пользователем ANDRE, 22 окт 2013.

  1. TopicStarter Overlay
    ANDRE
    Offline

    ANDRE Опытный в 1С

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

    ЗУП 2.5.71.1

    При заполнении документа "Оплата праздничных и выходных дней" программа рассчитывает часовую тарифную ставку исходя из выбранного алгоритма расчета настроек параметров учета.

    У сотрудника имеются виды начислений "Оклад по дням" и "Доплата" (в размере 20% от "Оклада по дням").

    Сейчас часовая тарифная ставка рассчитывается только из "Оклада по дням", а хотелось бы чтобы в нее входила еще и "Доплата".

    Я вижу вариант только ручного заполнения часовой тарифной ставки в документе.

    Предусмотрено ли программной возможность изменения "Базы" для расчета часовой тарифной ставки?
    Или есть другие варианты решения данной задачи?

    Всем спасибо.
  2. svet
    Offline

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

    Регистрация:
    9 ноя 2007
    Сообщения:
    1.971
    Симпатии:
    59
    Баллы:
    54
    Я не нашла, дописывала программу.
  3. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Нет такого нет. Ну и это логично. Если я у Вас спрошу "У Вас доплата считается от установленого оклада или фактического за данный период?" Вы скорее всего скажите что от фактического, значит при расчете должна использоваться то же фактическая сумма, а как ее считать, если оклад еще не посчитан. Ну и если я не ошибаюсь есть еще и порядок расчета часовой ставки - ну надо посмотреть. А так если хотите - над дописывать
  4. svet
    Offline

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

    Регистрация:
    9 ноя 2007
    Сообщения:
    1.971
    Симпатии:
    59
    Баллы:
    54
    Если доплата задана фиксированной суммой, то да. А процент подтянуть проблем в общем-то никаких. Просто 1Сники не заморачиваются, работают плоско.
  5. TopicStarter Overlay
    ANDRE
    Offline

    ANDRE Опытный в 1С

    Регистрация:
    12 мар 2008
    Сообщения:
    456
    Симпатии:
    0
    Баллы:
    26
    Подтвердили мои предположения.

    Спасибо.
  6. Роман_Н
    Offline

    Роман_Н Опытный в 1С

    Регистрация:
    3 июл 2012
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    Что именно дописывали? У меня аналогичная ситуация: есть "Оклад" и "Надбавка за мастерство" - необходимо, чтобы надбавка приплюсовывалась к Окладу.
    Нашел запрос, где производиться расчет. Там есть часть, где определяется Размер начисления, но как сделать чтобы бралась сумма всех плановых начислений, а не только Оклада?
    Код:
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    Даты.ПраздничныйДень КАК ПраздничныйДень,
        |    Даты.Сотрудник КАК Сотрудник,
        |    ВЫБОР
        |        КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <= Даты.ПраздничныйДень
        |                И ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
        |            ТОГДА ВЫБОР
        |                    КОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаЗавершения.ТребуетВводаТарифногоРазряда
        |                        ТОГДА РазмерТарифныхСтавок.Валюта
        |                    ИНАЧЕ ПлановыеНачисленияРаботниковОрганизаций.Валюта1Завершения
        |                КОНЕЦ
        |        ИНАЧЕ ВЫБОР
        |                КОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.ТребуетВводаТарифногоРазряда
        |                    ТОГДА РазмерТарифныхСтавок.Валюта
        |                ИНАЧЕ ПлановыеНачисленияРаботниковОрганизаций.Валюта1
        |            КОНЕЦ
        |    КОНЕЦ КАК Валюта,
        |    ВЫБОР
        |        КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <= Даты.ПраздничныйДень
        |                И ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
        |            ТОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаЗавершения.СпособРасчета
        |        ИНАЧЕ ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.СпособРасчета
        |    КОНЕЦ КАК СпособРасчета,
        |    ВЫБОР
        |        КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <= Даты.ПраздничныйДень
        |                И ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
        |            ТОГДА ВЫБОР
        |                    КОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаЗавершения.ТребуетВводаТарифногоРазряда
        |                        ТОГДА РазмерТарифныхСтавок.Размер
        |                    ИНАЧЕ ПлановыеНачисленияРаботниковОрганизаций.Показатель1Завершения
        |                КОНЕЦ
        |        ИНАЧЕ ВЫБОР
        |                КОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.ТребуетВводаТарифногоРазряда
        |                    ТОГДА РазмерТарифныхСтавок.Размер
        |                ИНАЧЕ ПлановыеНачисленияРаботниковОрганизаций.Показатель1
        |            КОНЕЦ
        |    КОНЕЦ * ВЫБОР
        |        КОГДА ВЫБОР
        |                КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <= Даты.ПраздничныйДень
        |                        И ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
        |                    ТОГДА ВЫБОР
        |                            КОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаЗавершения.ТребуетВводаТарифногоРазряда
        |                                ТОГДА РазмерТарифныхСтавок.Валюта
        |                            ИНАЧЕ ПлановыеНачисленияРаботниковОрганизаций.Валюта1Завершения
        |                        КОНЕЦ
        |                ИНАЧЕ ВЫБОР
        |                        КОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.ТребуетВводаТарифногоРазряда
        |                            ТОГДА РазмерТарифныхСтавок.Валюта
        |                        ИНАЧЕ ПлановыеНачисленияРаботниковОрганизаций.Валюта1
        |                    КОНЕЦ
        |            КОНЕЦ В (&РегламентВалюта, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
        |            ТОГДА 1
        |        ИНАЧЕ ЕСТЬNULL(Валюты.Курс / Валюты.Кратность, 0)
        |    КОНЕЦ КАК Размер
        |ПОМЕСТИТЬ ВТПлановыеНачисленияРаботниковОрганизаций
        |ИЗ
        |    (ВЫБРАТЬ
        |        СписокРаботников.ПраздничныйДень КАК ПраздничныйДень,
        |        СписокРаботников.Сотрудник КАК Сотрудник,
        |        МАКСИМУМ(ПлановыеНачисленияРаботниковОрганизаций.Период) КАК Период
        |    ИЗ
        |        ВТСотрудникиПоПраздникам КАК СписокРаботников
        |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
        |            ПО СписокРаботников.ПраздничныйДень >= ПлановыеНачисленияРаботниковОрганизаций.Период
        |                И СписокРаботников.Сотрудник = ПлановыеНачисленияРаботниковОрганизаций.Сотрудник
        |    ГДЕ
        |        ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаИзмерение = НЕОПРЕДЕЛЕНО
        |  
        |    СГРУППИРОВАТЬ ПО
        |        СписокРаботников.Сотрудник,
        |        СписокРаботников.ПраздничныйДень) КАК Даты
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
        |        ПО Даты.Период = ПлановыеНачисленияРаботниковОрганизаций.Период
        |            И Даты.Сотрудник = ПлановыеНачисленияРаботниковОрганизаций.Сотрудник
        |            И (ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаИзмерение = НЕОПРЕДЕЛЕНО)
        |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
        |            ПраздничныеДаты.ДатаКалендаря КАК ПраздничныйДень,
        |            РазмерТарифныхСтавок.ТарифныйРазряд КАК ТарифныйРазряд,
        |            МАКСИМУМ(РазмерТарифныхСтавок.Период) КАК ПериодРазряда
        |        ИЗ
        |            ВТПраздничныеДаты КАК ПраздничныеДаты
        |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок КАК РазмерТарифныхСтавок
        |                ПО ПраздничныеДаты.ДатаКалендаря >= РазмерТарифныхСтавок.Период
        |      
        |        СГРУППИРОВАТЬ ПО
        |            РазмерТарифныхСтавок.ТарифныйРазряд,
        |            ПраздничныеДаты.ДатаКалендаря) КАК ДатыТарифныхРазрядов
        |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок КАК РазмерТарифныхСтавок
        |            ПО ДатыТарифныхРазрядов.ПериодРазряда = РазмерТарифныхСтавок.Период
        |                И ДатыТарифныхРазрядов.ТарифныйРазряд = РазмерТарифныхСтавок.ТарифныйРазряд
        |        ПО Даты.ПраздничныйДень = ДатыТарифныхРазрядов.ПраздничныйДень
        |            И (ВЫБОР
        |                КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <= Даты.ПраздничныйДень
        |                        И ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
        |                    ТОГДА ВЫБОР
        |                            КОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаЗавершения.ТребуетВводаТарифногоРазряда
        |                                ТОГДА ПлановыеНачисленияРаботниковОрганизаций.ТарифныйРазряд1
        |                            ИНАЧЕ NULL
        |                        КОНЕЦ
        |                ИНАЧЕ ВЫБОР
        |                        КОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.ТребуетВводаТарифногоРазряда
        |                            ТОГДА ПлановыеНачисленияРаботниковОрганизаций.ТарифныйРазряд1
        |                        ИНАЧЕ NULL
        |                    КОНЕЦ
        |            КОНЕЦ = ДатыТарифныхРазрядов.ТарифныйРазряд)
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты
        |        ПО (Валюты.Период = &ПериодРегистрации)
        |            И (Валюты.Валюта = ВЫБОР
        |                КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <= Даты.ПраздничныйДень
        |                        И ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
        |                    ТОГДА ВЫБОР
        |                            КОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаЗавершения.ТребуетВводаТарифногоРазряда
        |                                ТОГДА РазмерТарифныхСтавок.Валюта
        |                            ИНАЧЕ ПлановыеНачисленияРаботниковОрганизаций.Валюта1Завершения
        |                        КОНЕЦ
        |                ИНАЧЕ ВЫБОР
        |                        КОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.ТребуетВводаТарифногоРазряда
        |                            ТОГДА РазмерТарифныхСтавок.Валюта
        |                        ИНАЧЕ ПлановыеНачисленияРаботниковОрганизаций.Валюта1
        |                    КОНЕЦ
        |            КОНЕЦ)
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    Сотрудник,
        |    ПраздничныйДень
        |;
  7. svet
    Offline

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

    Регистрация:
    9 ноя 2007
    Сообщения:
    1.971
    Симпатии:
    59
    Баллы:
    54
    Пардон, не сразу заметила...

    Я много доделывала, в двух словах не рассказать... У нас не только по праздничным вопросы были, и доплат много и разных (и суммами, и процентом), поэтому я сразу подо все хотелки ввела свой справочник, где указываю какие начисления надо учитывать при расчете каких начислений, нарисовала свою процедуру по обработке этих довесков и вызываю ее везде, где мне надо - тупо досчитываю поле Размер до нужного мне значения.

    Конкретно в оплате праздничных процедуру вызываю из процедур модуля формы: ВыполнитьАвторасчетРеквизитовСтрокиНачисления и ДействияФормыЗаполнить. Ну и из ЗаполнитьРаботавшимиВПраздники в модуле документа.

    Выглядит это в модуле документа примерно так:
    Код:
    Начисления.Загрузить(Запрос.Выполнить().Выгрузить());
    	
    	// svs
    	// и добавим доплаты
    	Для Каждого ТекСтрока из Начисления цикл
    		РезультатЗапроса = ТЭЦ_РасчетыПоЗарплате.ПолучитьПоказателиТЭЦ(ТекСтрока.Сотрудник, НачалоМесяца(ПериодРегистрации), Год(ПериодРегистрации), Организация, ТекСтрока.ВидРасчета, НачалоМесяца(ПериодРегистрации), КонецМесяца(ПериодРегистрации));
    		СтруктураПоиска = Новый Структура("Сотрудник", ТекСтрока.Сотрудник);
    		Если РезультатЗапроса.НайтиСледующий(СтруктураПоиска) тогда
            	ТекСтрока.Размер = ТекСтрока.Размер + Окр(ТекСтрока.Размер * РезультатЗапроса.СуммаПроцента / 100, 2) + ?(РезультатЗапроса.НормаЧасов = 0, 0, РезультатЗапроса.СуммаДоплат / РезультатЗапроса.НормаЧасов);
    		КонецЕсли;
    		ТекСтрока.Результат = ТекСтрока.Размер * ТекСтрока.ОтработаноЧасов;
    	КонецЦикла;	
    	// svs 
    Ну, а основная нагрузка - в вызываемой процедуре рассчитываю "довесок", разбивая его на довесок процентом, суммой. Там большая процедура у меня, в которой много чего собирается...
Похожие темы
  1. dima1422
    Ответов:
    14
    Просмотров:
    9.111
  2. bannov
    Ответов:
    1
    Просмотров:
    1.087
  3. Nik02071
    Ответов:
    4
    Просмотров:
    1.152
  4. bushka86
    Ответов:
    5
    Просмотров:
    581
  5. Ivan2014
    Ответов:
    32
    Просмотров:
    928
Загрузка...

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