Имя: Пароль:
1C
1С v8
ЗУП: изменение доплаты по БЛ
0 tur0k_mag
 
10.11.13
17:06
Добрый день форумчане! Подскажите, как реализовать в ЗУП следующую задачу: в соответствии с коллективным договором организации по больничному листу сотруднику в зависимости от стажа производится доплата организацией до среднего заработка (за последние 12 месяцев) 70%, 80% или 100%.
1 Пеппи
 
10.11.13
17:46
а что не получается?
2 mdocs
 
10.11.13
17:56
>до среднего заработка (за последние 12 месяцев)
Это как отпуск или как командировка? Что делать с днями не оплачиваемыми в период отпуска или командировки?
3 mdocs
 
10.11.13
18:00
Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПоле) Экспорт
    РасчетДоплаты=ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ДоплатаПоСреднемуБЛ;    
    ТЧ=Объект[ИмяТабличнойЧасти];
    мРасчетыБЛ=Новый Массив;
    мРасчетыБЛ.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуБЛ);
    мРасчетыБЛ.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Оплата больничных листов за счет работодателя"));
    Для каждого стр Из ТЧ Цикл
        Если мРасчетыБЛ.Найти(стр.ВидРасчета)=Неопределено Тогда
            Продолжить;
        КонецЕсли;
        СреднедневнойЗаработок = ПолучитьСреднедневной();
        Дни=ПолучитьДниДоплаты(стр.ДатаНачала,стр.ДатаОкончания);
        СуммаКДоплате=макс(стр.Результат-Дни*СреднедневнойЗаработок,0);
        Если СуммаКДоплате>0 Тогда
        стрД=ТЧ.Добавить();
        ЗаполнитьЗначенияСвойств(стрД,стр);
        стрД.ВидРасчета=РасчетДоплаты;
        стрД.Результат=СуммаКДоплате;            
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Самый простой вариант, две функции описываешь сам в зависимости от 2.
4 tur0k_mag
 
10.11.13
18:02
(1)Я только начал разбираться как устроены расчеты в ЗУП... пока не хватает знаний к сожалению, а задача срочная.
5 tur0k_mag
 
10.11.13
18:04
(2) по аналогии с расчетом среднего в командировочных
6 mdocs
 
10.11.13
18:04
(3) +  СуммаКДоплате=макс(Дни*СреднедневнойЗаработок*КоэфОтСтажа-стр.Результат,0);
ошибочка.
7 mdocs
 
10.11.13
18:12
(5) тогда
тут ПолучитьСреднедневной();
создает и удаляешь вспомогательный документ ОплатаПоСреднему, нужен только чтобы получить среднедневнойю
а тут ПолучитьДниДоплаты(стр.ДатаНачала,стр.ДатаОкончания)
по пятидневке или производственному календарю считаешь рабочее время;
8 tur0k_mag
 
10.11.13
18:12
(3) mdocs, а эта ф-ция, я так понимаю, должна выполняться каждый раз после выполнения расчета документа?
9 mdocs
 
10.11.13
18:14
(8) Два варианта - регламентрировать - после расчета ткнуть в эту кнопку или пилить типовую. ЗУП не поддерживает пользовательский дорасчет документов (
10 tur0k_mag
 
10.11.13
18:26
(9) "создает и удаляешь вспомогательный документ ОплатаПоСреднему, нужен только чтобы получить среднедневной" - достаточно жесткий подход, может есть еще варианты без создания и удаления вспомогательного документа?... Нельзя ли данную задачу реализовать при помощи дополнительных (новых) видов расчетов или изменения текущего вид расчета "Доплата до среднего заработка"?
11 mdocs
 
10.11.13
18:29
Просто поверь что этот подход самый простой для начинающих)) я не против, можешь в запрос среднего посмотреть.
12 tur0k_mag
 
10.11.13
18:29
Есть же в БЛ реквизит "Доплачивать до среднего заработка", так вот хотелось бы реализовать новую логику доплаты (вместо типовой)...
13 tur0k_mag
 
10.11.13
18:31
(11) Ну я начинающий в ЗУП, а так опыта достаточно)... поэтому хочется более изящного решения.
14 mdocs
 
10.11.13
18:32
Там другое среднее и другие дни. И так и так пилить не мало - с днями еще не очень сложно, со средним хуже - оно после запроса пишется в специальный регистр и оттуда читается.
15 Пеппи
 
10.11.13
18:34
(12) не поняла. ты хочешь эту доплату до среднего который в больничном рассчитывается еще на процент умножить?
16 ilkoder
 
10.11.13
18:34
Типовой больничный в любом случае лучше не трогать - в ЗУП-е его любят менять так, что с новым обновленем там все функции поменяются и вообще ничего работать не будет. или свой документ добавь или какую обработку для заполнения и расчета типового разового начисления.
17 tur0k_mag
 
10.11.13
18:37
Тогда возникает еще один вопрос: допустим в таблице начислений я найду строку с видом расчета "Доплата до среднего" и скорректирую сумму, но в ЗУП кажется можно автоматически выполнить перерасчет документов (или пвр), так не получится ли так, что после этого сумма пересчитается и станет равной сумме без учета моих корректировок?... Заранее извиняюсь, если задал некорректный вопрос)
18 ilkoder
 
10.11.13
18:40
(17) - а лучше отследи подписку на событие при проведении - и при любом перепроведении скорректируй как тебе надо...
19 mdocs
 
10.11.13
18:43
(17) Вопрос хороший, но очень опасный. Много раз встречал что люди наглухо зарывались в таких вопрос и в итоге.. не делали ничего.
На самом деле 1) все настраивается через ведущие/вытесняющие расчеты 2) твой алгоритм дозаполнения.

(18) Я бы за это по ушам давал - бухи не поймут прикола.
20 tur0k_mag
 
10.11.13
18:44
(15) Не совсем так... есть доплата, которая рассчитывается до среднего заработка по ФСС (за два предшествующих года) назовем ее ДоплатаФСС, мы же рассчитываем доплату до среднего фактического заработка за последние 12 месяцев пусть ДоплатаФакт, таким образом логика такая: Макс(ДоплатаФСС, ДоплатаФакт*ПроцентОтСтажа) - это и будет искомая доплата.
21 tur0k_mag
 
10.11.13
18:48
(19) "На самом деле 1) все настраивается через ведущие/вытесняющие расчеты 2) твой алгоритм дозаполнения."...
Так вот и хочется реализовать с помощью видов расчета, но пока нет "картинки" в голове...
22 mdocs
 
10.11.13
18:49
(18) Вот если б была подписка на расчет документа - вот тут я "за" двумя руками.
23 Пеппи
 
10.11.13
19:00
Я пожалуй за...свой документ расчета больничного
24 Пеппи
 
10.11.13
19:01
не трогая типовой естественно
25 tur0k_mag
 
10.11.13
19:18
(23) Вы имеете ввиду создание нового документа, который будет являться дополнением к типовому БЛ?
26 Пеппи
 
10.11.13
20:10
(25) лично я пошла бы другим путем

1) свой способ расчета предопределенный
2) либо приделала бы кнопку для пересчета доплаты



:)
27 tur0k_mag
 
10.11.13
20:21
(26) а как реализовали бы расчет среднего заработка за последние 12 мес?
28 tur0k_mag
 
11.11.13
09:37
В итоге, склоняюсь к следующему варианту:
1) На основании БЛ будет формироваться документ "Оплата по среднему";
2) В сформированном документе заполняются все необходимые реквизиты (период, сотрудник и т.д. из БЛ, и вид расчета "Доплата до фактического заработка"), выполняется расчет и документ проводится.
Но есть следующая проблема: допустим на время больничного (10 ней) попадает два выходных. По документу БЛ выполняются начисления за все 10 дней, а вот при выполнении расчета в документе "Оплата по среднему" получаем начисления только за 8 дней. Как с этим быть?
29 Пеппи
 
11.11.13
09:49
(28) хорошее решение

Посмотри что вид расчета Доплата по среднему и считается только по рабочим дням. Смотри закладку вид времени.
Создавай свой вид расчета на основе существующего и пробуй
30 tur0k_mag
 
11.11.13
09:55
(29) Пеппи, я создал новый вид расчета копированием вида расчета "Доплата по больничным листам", т.е. вид времени указан "Больничный" (галочка "Рабочее время" не установлена), но в документе "Оплата по среднему" все равно получаю 8 дней, вместо ожидаемых 10. Что делаю не так? Также пробовал в новом виде расчета не указывать вид времени, но результат все тот же...
31 mdocs
 
11.11.13
12:35
> но в документе "Оплата по среднему" все равно получаю 8 дней, вместо ожидаемых 10.

Класс! Я бы в вашей организации болел бы не парясь - так заработаешь гораздо больше чем работая. Ищи правильный отчет у авторов вашего коллективного соглашения. Причем очень желательно с письменной форме и в четком виде. Иначе высок риск оказаться крайним.
32 tur0k_mag
 
11.11.13
15:19
(31) Да, я уже сам засомневался, сейчас достану колдоговор и "покурю" его...
33 tur0k_mag
 
11.11.13
19:53
Интересно, а как реализовать не просто надбавку до фактического заработка, но при этом еще и регулировать надбавку в зависимости от стажа (процентом) по шкале. Понятно , что можно самому (в коде) определять в зависимости от стажа процент доплаты, а как сделать тоже самое типовыми механизмами ЗУП: вид расчета, справочник "Размеры начислений в зависимости от стажа".
34 Kashton
 
11.11.13
22:47
Используй оценочную шкалу в произвольной формуле расчета
35 tur0k_mag
 
12.11.13
06:41
(34) Это я понимаю, но пока не понятно следующее: я ввел новый вид расчета, у которого выбрал регламентный способ расчета "Доплата до среднего" ну и соотв-но отображается формула "Результат = Максимум(Средний заработок - Начислено , 0)" - тут нет учета градации по стажу. Если выбираю "Произвольная формула расчета", то как мне в формуле указать параметры "Средний заработок" и "Начислено" (их нет в списке параметров)?
36 Пеппи
 
12.11.13
08:45
(35) Чем тебя не устроила твоя схема в (28) ?
37 tur0k_mag
 
12.11.13
14:48
(36) Ну это фантазии на тему реализации таким образом:
1) Все ограничивается только одним документом "Больничный лист";
2) Необходимая доплата до фактического среднего заработка оформлялась бы автоматическим добавлением начисления с видом расчета "Доплата до фактического заработка по б/л" к существующим: "оплата больничного", "оплата больничного за счет работодателя", "доплата по больничным листам".
3) Данный вид оплаты автоматически рассчитывается по формуле "Максимум(Средний заработок-Начисления, 0)*ПроцентПоСтажу".
В результате, все телодвижения реализуются в рамках одного документа, как и должно быть...наверно.
Но данная реализация, насколько я понимаю, влечет за собой достаточно серьезный переделки конфы.
38 tur0k_mag
 
12.11.13
14:52
(36) Вариант решения описанный в (28) я реализовал, даже, вроде как, все работает... но не покидает меня ощущение, что данная задача должна реализовываться в рамках одного документа - "Б/л" и с минимальными изменениями конфы.
39 Пеппи
 
12.11.13
21:58
(38) нет, я уже писала что твое решение мне понравилось, потому что реализация лишь в одном документе как раз ведет к не минимальным изменениям в конфе- созданием предопределенного способа расчета, что влечет изменения в общих модулях
40 tur0k_mag
 
13.11.13
06:45
(39) После разбора документа "Б/л" становится ясно, что ты права
41 tur0k_mag
 
13.11.13
14:58
Всем спасибо за ответы, задача выполнена.