1С 7,7(286) ЗУП Надбавка за стаж
Показывать по
10
20
40
сообщений
- 1
- 2
01.10.2009
09:55
#1
Подскажите пожалуйста,кто знает, надо ввести новый расчет "Выплата надбавки за стаж". Каким образом завести этот расчет, куда ввести шкалу процентов для начисления выплаты?
01.10.2009
11:47
#2
Вводите Документ Ввод расчета сотруднику. Выбираете вид расчета Надбавка за выслугу лет. В форме появляется окно % от стажа. Нажимаете кнопку и открывается справочник Процентные надбавки по стажу. Добавляете новый элемент Пишите наименование например Надбавка за стаж, выбираете Вид надбавки Надбавка за выслугу лет. Внизу есть кнопка шкала. Заполняете Шкалу процентами. в документе еще указываете Стаж на определенную дату. Да и в периоде действия доплаты указываете начальную дату. Конечную оставьте пустой.
02.10.2009
14:53
#4
Еще бы неплохо было бы, чтобы по умолчанию предлагался стаж из справочника сотрудника. Не довольны бухи.
02.10.2009
15:13
#5
Во-первых, стаж вводится в справочник Физические лица, во-вторых, туда можно ввести неограниченное количество стажей. Какой из них?
02.10.2009
15:53
#6
> Во-первых, стаж вводится в справочник Физические лица, во-вторых, туда можно ввести неограниченное количество стажей. Какой из них?
В семерке нет справочника "Физлица". Просто автор все соединил в одну кучу- и "1С 7,7(286)", и "ЗУП". Но я все-таки думаю, что речь идет о ЗиК.
Для своих бухгалтеров( тоже недовольных) я "подтягивала" стаж работы на предприятии.
niki-rt,если вы программист, могу поделиться, если нет - не имеет смысла - у вас возникнут проблемы с обновлением.
В семерке нет справочника "Физлица". Просто автор все соединил в одну кучу- и "1С 7,7(286)", и "ЗУП". Но я все-таки думаю, что речь идет о ЗиК.
Для своих бухгалтеров( тоже недовольных) я "подтягивала" стаж работы на предприятии.
niki-rt,если вы программист, могу поделиться, если нет - не имеет смысла - у вас возникнут проблемы с обновлением.
02.10.2009
16:32
#9
"Писала очень давно- когда тоже опыта почти не было - сейчас бы все сделала иначе,а тогда просто чуть-чуть переделала стандартную глСтажРаботыНа Предприятии, но... работает, поэтому не трогаю.
1) В модуле формы документа:
а) Добавить:
Функция СтажРаботыДляВыслуги (Объект,ДатаСтажа) //,Лет=0,Месяцев=0,Дней=0
Если Пустаястрока(Объект.СтажОбщий)=0 Тогда
Стаж=Объект.СтажОбщий;
Иначе
ПустаяДата = Дата(0);
РабочДата = РабочаяДата();
ДатаПриема = ПустаяДата;
Если ПустоеЗначение(ДатаСтажа)=1 Тогда
ДатаУвольнения = РабочДата;
ДатаАктуальности = РабочДата;
Иначе
ДатаУвольнения = ДатаСтажа;
ДатаАктуальности = ДатаСтажа;
КонецЕсли;
СтажРаботыНаПредприятии = """";
НайденоУвольнение = 0;
Лет = 0;
Месяцев = 0;
Дней = 0;
Периодический = СоздатьОбъект("Периодический");
Периодический.ИспользоватьОбъект("СостояниеФизлица",Объект);
Периодический.ОбратныйПорядок(1);
Периодический.ВыбратьЗначения(,ДатаАктуальности);
Пока Периодический.ПолучитьЗначение()=1 Цикл
Если (Найти(Строка(Периодический.ТекущийДокумент()),"Прием на работу")=1) или (Найти(Строка(Периодический.ТекущийДокумент()),"Приказ о зачислении в списки части")=1) Тогда
ДатаПриема = Периодический.ДатаЗнач;
Прервать;
КонецЕсли;
КонецЦикла;
// Не нашли даты приема, проверим в договорниках.
Если ДатаПриема = ПустаяДата Тогда
ДокументДоговор = СоздатьОбъект("Документ");
ДокументДоговор.ОбратныйПорядок(1);
ДокументДоговор.ВыбратьПоЗначению(,,"Сотрудник",Объект);
Пока ДокументДоговор.ПолучитьДокумент() = 1 Цикл
ТекДок = ДокументДоговор.ТекущийДокумент();
Если ТекДок.Вид() = "ДоговорГраждПравХаракт" Тогда
ДатаПриема = ТекДок.Начало;
Если ПустоеЗначение(ТекДок.Окончание) = 0 Тогда
ДатаУвольнения = ТекДок.Окончание
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если ДатаПриема = ПустаяДата Тогда
ДатаПриема = ДатаУвольнения;
КонецЕсли;
КонецЕсли;
Стаж=ДатаПриема;
КонецЕсли;
Дн=Строка(ДатаЧисло(Стаж));
Мес=Строка(ДатаМЕсяц(Стаж));
Год=Строка(ДатаГод(Стаж));
СтажРаботыНаПредприятии=?(СтрДлина(Дн)=1,"0"+Дн,Дн)+"."+?(СтрДлина(Мес)=1,"0"+Мес,Мес)+"."+Год;
Возврат СтажРаботыНаПредприятии;
КонецФункции// СтажРаботы
А в Процедуре ПриНачалеВыбораЗначения() вставить строчку:
....
ИначеЕсли Элемент="ТекстСтаж" Тогда
// редактирование стажа
ФлагОбработки = 0;
Параметры = СоздатьОбъект("СписокЗначений");
Стаж=СтажРаботыДляВыслуги (Сотрудник,ДатаДок);//// эту строчку!!!!!!
Параметры.ДобавитьЗначение(Стаж);
Параметры.ДобавитьЗначение(ДатаДок);
ОткрытьФормуМодально("Обработка.ВводСтажа", Параметры);
Если ТипЗначения(Параметры)=2 Тогда
Стаж = Параметры;
ТекстСтаж = глПредставлениеСтажа(ДатаДок, Стаж);
КонецЕсли;
...
"
1) В модуле формы документа:
а) Добавить:
Функция СтажРаботыДляВыслуги (Объект,ДатаСтажа) //,Лет=0,Месяцев=0,Дней=0
Если Пустаястрока(Объект.СтажОбщий)=0 Тогда
Стаж=Объект.СтажОбщий;
Иначе
ПустаяДата = Дата(0);
РабочДата = РабочаяДата();
ДатаПриема = ПустаяДата;
Если ПустоеЗначение(ДатаСтажа)=1 Тогда
ДатаУвольнения = РабочДата;
ДатаАктуальности = РабочДата;
Иначе
ДатаУвольнения = ДатаСтажа;
ДатаАктуальности = ДатаСтажа;
КонецЕсли;
СтажРаботыНаПредприятии = """";
НайденоУвольнение = 0;
Лет = 0;
Месяцев = 0;
Дней = 0;
Периодический = СоздатьОбъект("Периодический");
Периодический.ИспользоватьОбъект("СостояниеФизлица",Объект);
Периодический.ОбратныйПорядок(1);
Периодический.ВыбратьЗначения(,ДатаАктуальности);
Пока Периодический.ПолучитьЗначение()=1 Цикл
Если (Найти(Строка(Периодический.ТекущийДокумент()),"Прием на работу")=1) или (Найти(Строка(Периодический.ТекущийДокумент()),"Приказ о зачислении в списки части")=1) Тогда
ДатаПриема = Периодический.ДатаЗнач;
Прервать;
КонецЕсли;
КонецЦикла;
// Не нашли даты приема, проверим в договорниках.
Если ДатаПриема = ПустаяДата Тогда
ДокументДоговор = СоздатьОбъект("Документ");
ДокументДоговор.ОбратныйПорядок(1);
ДокументДоговор.ВыбратьПоЗначению(,,"Сотрудник",Объект);
Пока ДокументДоговор.ПолучитьДокумент() = 1 Цикл
ТекДок = ДокументДоговор.ТекущийДокумент();
Если ТекДок.Вид() = "ДоговорГраждПравХаракт" Тогда
ДатаПриема = ТекДок.Начало;
Если ПустоеЗначение(ТекДок.Окончание) = 0 Тогда
ДатаУвольнения = ТекДок.Окончание
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если ДатаПриема = ПустаяДата Тогда
ДатаПриема = ДатаУвольнения;
КонецЕсли;
КонецЕсли;
Стаж=ДатаПриема;
КонецЕсли;
Дн=Строка(ДатаЧисло(Стаж));
Мес=Строка(ДатаМЕсяц(Стаж));
Год=Строка(ДатаГод(Стаж));
СтажРаботыНаПредприятии=?(СтрДлина(Дн)=1,"0"+Дн,Дн)+"."+?(СтрДлина(Мес)=1,"0"+Мес,Мес)+"."+Год;
Возврат СтажРаботыНаПредприятии;
КонецФункции// СтажРаботы
А в Процедуре ПриНачалеВыбораЗначения() вставить строчку:
....
ИначеЕсли Элемент="ТекстСтаж" Тогда
// редактирование стажа
ФлагОбработки = 0;
Параметры = СоздатьОбъект("СписокЗначений");
Стаж=СтажРаботыДляВыслуги (Сотрудник,ДатаДок);//// эту строчку!!!!!!
Параметры.ДобавитьЗначение(Стаж);
Параметры.ДобавитьЗначение(ДатаДок);
ОткрытьФормуМодально("Обработка.ВводСтажа", Параметры);
Если ТипЗначения(Параметры)=2 Тогда
Стаж = Параметры;
ТекстСтаж = глПредставлениеСтажа(ДатаДок, Стаж);
КонецЕсли;
...
"
- 1
- 2
Как рассчитать НДФЛ удержанный при выплате "Накопленной задолженности" в ЗиК?Как, находясь в базе 2009 года, выписать счета-фактуры на полученные в 2008 году
Читают тему
(гостей: 1)