Подскажите пожалуйста,кто знает, надо ввести новый расчет "Выплата надбавки за стаж". Каким образом завести этот расчет, куда ввести шкалу процентов для начисления выплаты?
Подскажите пожалуйста,кто знает, надо ввести новый расчет "Выплата надбавки за стаж". Каким образом завести этот расчет, куда ввести шкалу процентов для начисления выплаты?
Вводите Документ Ввод расчета сотруднику. Выбираете вид расчета Надбавка за выслугу лет. В форме появляется окно % от стажа. Нажимаете кнопку и открывается справочник Процентные надбавки по стажу. Добавляете новый элемент Пишите наименование например Надбавка за стаж, выбираете Вид надбавки Надбавка за выслугу лет. Внизу есть кнопка шкала. Заполняете Шкалу процентами. в документе еще указываете Стаж на определенную дату. Да и в периоде действия доплаты указываете начальную дату. Конечную оставьте пустой.
Спасибо большое за помощь.
Еще бы неплохо было бы, чтобы по умолчанию предлагался стаж из справочника сотрудника. Не довольны бухи.
Во-первых, стаж вводится в справочник Физические лица, во-вторых, туда можно ввести неограниченное количество стажей. Какой из них?
> Во-первых, стаж вводится в справочник Физические лица, во-вторых, туда можно ввести неограниченное количество стажей. Какой из них?<br><br>В семерке нет справочника "Физлица". Просто автор все соединил в одну кучу- и "1С 7,7(286)", и "ЗУП". Но я все-таки думаю, что речь идет о ЗиК.<br>Для своих бухгалтеров( тоже недовольных) я "подтягивала" стаж работы на предприятии. <br>niki-rt,если вы программист, могу поделиться, если нет - не имеет смысла - у вас возникнут проблемы с обновлением.<br><br>
Действительно, магические цифры 286 мимо взгляда проскользнули. Прошу прощения.
У меня очень мало опыта в 1С. Но если поделитесь- буду благодарна.
"Писала очень давно- когда тоже опыта почти не было - сейчас бы все сделала иначе,а тогда просто чуть-чуть переделала стандартную глСтажРаботыНа Предприятии, но... работает, поэтому не трогаю.<br><br>1) В модуле формы документа:<br>а) Добавить:<br><br>Функция СтажРаботыДляВыслуги (Объект,ДатаСтажа) //,Лет=0,Месяцев=0,Дней=0 <br> Если Пустаястрока(Объект.СтажОбщий)=0 Тогда<br> Стаж=Объект.СтажОбщий;<br>Иначе<br> <br> ПустаяДата = Дата(0);<br> РабочДата = РабочаяДата();<br> <br> ДатаПриема = ПустаяДата;<br> Если ПустоеЗначение(ДатаСтажа)=1 Тогда <br> ДатаУвольнения = РабочДата;<br> ДатаАктуальности = РабочДата;<br> Иначе<br> ДатаУвольнения = ДатаСтажа;<br> ДатаАктуальности = ДатаСтажа;<br> КонецЕсли;<br> СтажРаботыНаПредприятии = """";<br> НайденоУвольнение = 0;<br> Лет = 0;<br> Месяцев = 0;<br> Дней = 0;<br> <br> Периодический = СоздатьОбъект("Периодический");<br> Периодический.ИспользоватьОбъект("СостояниеФизлица",Объект);<br> Периодический.ОбратныйПорядок(1);<br> Периодический.ВыбратьЗначения(,ДатаАктуальности);<br> Пока Периодический.ПолучитьЗначение()=1 Цикл<br> <br> Если (Найти(Строка(Периодический.ТекущийДокумент()),"Прием на работу")=1) или (Найти(Строка(Периодический.ТекущийДокумент()),"Приказ о зачислении в списки части")=1) Тогда<br> ДатаПриема = Периодический.ДатаЗнач;<br> Прервать;<br> КонецЕсли;<br> <br> КонецЦикла; <br><br> // Не нашли даты приема, проверим в договорниках.<br> Если ДатаПриема = ПустаяДата Тогда <br> ДокументДоговор = СоздатьОбъект("Документ");<br> ДокументДоговор.ОбратныйПорядок(1);<br> ДокументДоговор.ВыбратьПоЗначению(,,"Сотрудник",Объект);<br> Пока ДокументДоговор.ПолучитьДокумент() = 1 Цикл <br> ТекДок = ДокументДоговор.ТекущийДокумент();<br> Если ТекДок.Вид() = "ДоговорГраждПравХаракт" Тогда<br> ДатаПриема = ТекДок.Начало; <br> Если ПустоеЗначение(ТекДок.Окончание) = 0 Тогда<br> ДатаУвольнения = ТекДок.Окончание <br> КонецЕсли;<br> КонецЕсли; <br> КонецЦикла;<br> Если ДатаПриема = ПустаяДата Тогда <br> ДатаПриема = ДатаУвольнения;<br> КонецЕсли; <br> КонецЕсли; <br> Стаж=ДатаПриема;<br> КонецЕсли;<br> <br> Дн=Строка(ДатаЧисло(Стаж));<br> Мес=Строка(ДатаМЕсяц(Стаж));<br> Год=Строка(ДатаГод(Стаж));<br> <br> СтажРаботыНаПредприятии=?(СтрДлина(Дн)=1,"0"+Дн,Дн)+"."+?(СтрДлина(Мес)=1,"0"+Мес,Мес)+"."+Год;<br> Возврат СтажРаботыНаПредприятии;<br> <br>КонецФункции// СтажРаботы <br><br><br>А в Процедуре ПриНачалеВыбораЗначения() вставить строчку:<br>....<br> ИначеЕсли Элемент="ТекстСтаж" Тогда<br> // редактирование стажа<br> ФлагОбработки = 0;<br> Параметры = СоздатьОбъект("СписокЗначений"); <br> Стаж=СтажРаботыДляВыслуги (Сотрудник,ДатаДок);//// эту строчку!!!!!! <br> Параметры.ДобавитьЗначение(Стаж);<br> Параметры.ДобавитьЗначение(ДатаДок);<br> ОткрытьФормуМодально("Обработка.ВводСтажа", Параметры);<br> Если ТипЗначения(Параметры)=2 Тогда<br> Стаж = Параметры;<br> ТекстСтаж = глПредставлениеСтажа(ДатаДок, Стаж);<br> КонецЕсли;<br>...<br><br>"
Большое спасибо,Svetlana_E!!!