Как программно получить % от стажа Надбавки за выслугу лет?
По теме из базы знаний
Найденные решения
(11) ivnik, видимо "криво" скачалась - я сейчас скачал и у меня все открылось и отработало %-)
На всякий случай еще раз прикладываю, но уже в архиве.
По поводу передачи вознаграждения - необходимо "закрыть" вопрос и указать "победителя".
На всякий случай еще раз прикладываю, но уже в архиве.
По поводу передачи вознаграждения - необходимо "закрыть" вопрос и указать "победителя".
Прикрепленные файлы:
ВнешняяОбработка2.zip
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Размытый вопрос... Если нужны просто проценты, то находятся в справочнике "Размеры начислений в зависимости от стажа", соответственно, нужно делать запрос в этот справочник. Если нужно получить % для каждого сотрудника, то это нужно для физ лица смотреть основные начисления сотрудника и через них выходить на шкалу и т.д.
Примерно так, а вообще в самой конфигурации куча примеров (используйте глобальный поиск, например "ОтСтажаПроцентом"). В примере я предусмотрел подбор необходимых параметров вручную, а в вашем случае необходимо эти данные брать непосредственно из вида расчета (как во 2-ом варианте).
Прикрепленные файлы:
ВнешняяОбработка1.epf
ВнешняяОбработка2.epf
(10) ivnik, (7) mdie, Внешняя обработка 1 запустилась и дала верный результат!!! А вот 2-я обработка при открытии выдала: Ошибка при выполнении файловой операции 'D:\1С v8\Стаж\ВнешняяОбработка2.epf'
по причине: Неверный формат хранилища данных 'file://D:/1С v8/Стаж/ВнешняяОбработка2.epf'
В общем ответ меня полностью удовлетворил! Но хотелось бы посмотреть и 2-й вариант, как альтернативный и как живой пример обращения к Виду расчета.
Огромное Человеческое Спасибо!!!
P.S. вот только я не знаю, как Вам "отдать" обещанные 20Sm???
по причине: Неверный формат хранилища данных 'file://D:/1С v8/Стаж/ВнешняяОбработка2.epf'
В общем ответ меня полностью удовлетворил! Но хотелось бы посмотреть и 2-й вариант, как альтернативный и как живой пример обращения к Виду расчета.
Огромное Человеческое Спасибо!!!
P.S. вот только я не знаю, как Вам "отдать" обещанные 20Sm???
(11) ivnik, видимо "криво" скачалась - я сейчас скачал и у меня все открылось и отработало %-)
На всякий случай еще раз прикладываю, но уже в архиве.
По поводу передачи вознаграждения - необходимо "закрыть" вопрос и указать "победителя".
На всякий случай еще раз прикладываю, но уже в архиве.
По поводу передачи вознаграждения - необходимо "закрыть" вопрос и указать "победителя".
Прикрепленные файлы:
ВнешняяОбработка2.zip
Если кому надо без запросов, покороче и понятнее, то пойдет такой вариант. Используются функции из стандартного ЗУПа, можно оттуда их вытащить.
Если ЗначениеЗаполнено(ВидРасчета.КоэффициентСтажа) Тогда
СтрокаСтажа = Сотрудник.Физлицо.Стажи.Найти(ВидРасчета.ВидСтажа, "ВидСтажа");
Лет = 0; Месяцев = 0; Дней = 0;
Если СтрокаСтажа <> Неопределено Тогда
ДатаОтсчета = ДобавитьМесяц(СтрокаСтажа.ДатаОтсчета, -СтрокаСтажа.РазмерМесяцев);
Если ЗначениеЗаполнено(ДатаОтсчета) Тогда
ОбщегоНазначенияЗК.РазобратьРазностьДат(НачалоДня(Строка.ДатаПриема), НачалоДня(ДатаОтсчета), Лет, Месяцев, Дней);
Процент = ДенежноеДовольствие.ПолучитьПроцентПоСтажу(Лет * 12 + Месяцев, ВидРасчета.КоэффициентСтажа);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ВидРасчета.КоэффициентСтажа) Тогда
СтрокаСтажа = Сотрудник.Физлицо.Стажи.Найти(ВидРасчета.ВидСтажа, "ВидСтажа");
Лет = 0; Месяцев = 0; Дней = 0;
Если СтрокаСтажа <> Неопределено Тогда
ДатаОтсчета = ДобавитьМесяц(СтрокаСтажа.ДатаОтсчета, -СтрокаСтажа.РазмерМесяцев);
Если ЗначениеЗаполнено(ДатаОтсчета) Тогда
ОбщегоНазначенияЗК.РазобратьРазностьДат(НачалоДня(Строка.ДатаПриема), НачалоДня(ДатаОтсчета), Лет, Месяцев, Дней);
Процент = ДенежноеДовольствие.ПолучитьПроцентПоСтажу(Лет * 12 + Месяцев, ВидРасчета.КоэффициентСтажа);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот