Расчет дополнительных тарифов в зависимости от классов условий труда - Каминсофт

Расчет дополнительных тарифов в зависимости от классов условий труда

12 фев 2014 08:58 #1
от Андрей
На предприятии по результатам оценки условий труда установлены несколько значений подклассов с разными ставками доптарифов. в Камине же имеем только ДопТариф1 и ДопТариф2 с едиными ставками. Как настроить расчет?
Тема закрыта.

12 фев 2014 12:27 #2
от Наталья Иванова ГК КАМИН
Данная возможность расчета страховые взносы по доп. тарифу 1 и 2 в соответствии с классами условий труда будет реализована в следующем релизе.

Иванова Наталья
Группа компаний КАМИН
Тема закрыта.

12 март 2014 10:28 #3
от Романов Алексей Иванович
А когда ожидается следующий релиз? По всем другим версиям камина обновления по данной теме уже есть.
Тема закрыта.

12 март 2014 14:58 #4
от Наталья Иванова ГК КАМИН
Планируется до конца марта.

Иванова Наталья
Группа компаний КАМИН
Тема закрыта.

31 март 2014 10:52 #5
от Романов Алексей Иванович
Конец месяца наступил, а обновления как не было так и нет. Так все же когда?
Тема закрыта.

02 апр 2014 08:13 #6
от ermolino
Ну когда уже разродитесь обновлением???
Тема закрыта.

23 апр 2014 10:44 #7
от ООО "АЙТИ ПРО-ФИТ"
Добрый день.
Обработка ИЗМЕНЕНИЕ ПЕРИОДИЧЕСКИХ РЕКВИЗИТОВ ДЛЯ РАСЧЕТА ВЗНОСОВ В ПФ ПО ДОПОЛНИТЕЛЬНЫМ ТАРИФАМ

Релиз 095.
Некорректно обрабатывает таблицу с сотрудниками.

Процедура ОбрТаблица()
Перем л_Сотрудник,л_Процент,л_БазоваяСумма,л_Сумма,л_РК,л_СЕВ;
Если рд_Таблица.КоличествоСтрок()=0 тогда
Возврат;
КонецЕсли;
л_Строка = рд_Таблица.НомерСтроки;
л_Колонка = рд_Таблица.ТекущаяКолонка();
л_Значение = рд_Таблица.ПолучитьЗначение(л_Строка,л_Колонка);
//Если ((л_Колонка = "ДопТариф") или (рд_ФлагДопТариф = 1))
//или ((л_Колонка = "ДопТариф1") или (рд_ФлагДопТариф1 = 1))
// Если ((л_Колонка = "ДопТариф1") или (рд_ФлагДопТариф1 = 1))
или ((л_Колонка = "ДопТариф2") или (рд_ФлагДопТариф2 = 1)) Тогда

Если (л_Колонка = "ДопТариф1") или (л_Колонка = "ДопТариф2") Тогда
Если л_Значение = 2 Тогда
л_Значение = 1;
Иначе
л_Значение = 2;
КонецЕсли;
рд_Таблица.УстановитьЗначение(л_Строка,л_Колонка,л_Значение);
ИначеЕсли л_Колонка = "Дата" Тогда
Если ВвестиДату(л_Значение,,15) = 1 Тогда
рд_Таблица.УстановитьЗначение(л_Строка,л_Колонка,л_Значение);
КонецЕсли;
ИначеЕсли (л_Колонка = "КлассДопТариф1") или (л_Колонка = "КлассДопТариф2") Тогда
л_Значение = "";
Если ВвестиЗначение(л_Значение,,"Перечисление.КлассыУсловийТруда")=1 Тогда
рд_Таблица.УстановитьЗначение(л_Строка,л_Колонка,л_Значение);
КонецЕсли;
КонецЕсли;
КонецПроцедуры


при сохранении данных таблицы, сотруднику не устанавливался Класс дополнительного тарифа.


Процедура Сохранить()
л_Сотрудник = СоздатьОбъект("Справочник.Сотрудники");
рд_Таблица.ВыбратьСтроки();
Пока рд_Таблица.ПолучитьСтроку() = 1 Цикл
л_Сотрудник.НайтиЭлемент(рд_Таблица.Сотрудник);
//Если рд_ФлагДопТариф = 1 Тогда
// Если рд_Таблица.ДопТариф = 2 Тогда
// л_Сотрудник.ДопТариф.Установить(рд_Таблица.Дата, 1);
// Иначе
// л_Сотрудник.ДопТариф.Установить(рд_Таблица.Дата, 0);
// КонецЕсли;
//КонецЕсли;
Если рд_ФлагДопТариф1 = 1 Тогда
Если рд_Таблица.ДопТариф1 = 2 Тогда
л_Сотрудник.ДопТариф1.Установить(рд_Таблица.Дата, 1);
Иначе
л_Сотрудник.ДопТариф1.Установить(рд_Таблица.Дата, 0);
КонецЕсли;
КонецЕсли;
Если рд_ФлагДопТариф2 = 1 Тогда
Если рд_Таблица.ДопТариф2 = 2 Тогда
л_Сотрудник.ДопТариф2.Установить(рд_Таблица.Дата, 1);
Иначе
л_Сотрудник.ДопТариф2.Установить(рд_Таблица.Дата, 0);
КонецЕсли;
КонецЕсли;
Если рд_ПодклассыДопТариф1 = 1 Тогда
Если ПустоеЗначение(рд_Таблица.КлассДопТариф1) = 0 Тогда
//+++
//л_Сотрудник.КлассДопТариф1.Установить(рд_Таблица.Дата, 0);
//+++
л_Сотрудник.КлассДопТариф1.Установить(рд_Таблица.Дата,рд_Таблица.КлассДопТариф1);
//+++
КонецЕсли;
КонецЕсли;
Если рд_ПодклассыДопТариф2 = 1 Тогда
Если ПустоеЗначение(рд_Таблица.КлассДопТариф2) = 0 Тогда
//+++
//л_Сотрудник.КлассДопТариф1.Установить(рд_Таблица.Дата, 0);
//+++
л_Сотрудник.КлассДопТариф2.Установить(рд_Таблица.Дата,рд_Таблица.КлассДопТариф2);
//+++
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Тема закрыта.

23 апр 2014 23:47 #8
от ООО "АЙТИ ПРО-ФИТ"
Добрый вечер.
Обработка СВОД ОТЧИСЛЕНИЙ И НАЛОГОВ с 2013 года.
При формировании отчета, нет аналитики по всем классам доп.тарифов.

Причина.
Процедура ЗаполнитьТаблицуПодклассов(л_СписокСотрудников)

.....
строка 1520
БИПодклассы.ИспользоватьСубконто(ВидыСубконто.Справочник1,ОтчДопТариф2);
Аналитика в запросе только по ОтчДопТариф2
исправил
БИПодклассы.ИспользоватьСубконто(ВидыСубконто.Справочник1);
.....
Тема закрыта.

27 апр 2014 15:09 #9
от Юрий
В обработке DopTarif.ert даже в исправленном варианте, если надо снять класс, то не отработает.
Проще написать так:
Процедура Сохранить()
	л_Сотрудник = СоздатьОбъект("Справочник.Сотрудники");
	рд_Таблица.ВыбратьСтроки();
	Пока рд_Таблица.ПолучитьСтроку() = 1 Цикл
		л_Сотрудник.НайтиЭлемент(рд_Таблица.Сотрудник);
		Если рд_ФлагДопТариф1 = 1 Тогда
			л_Сотрудник.ДопТариф1.Установить(рд_Таблица.Дата, рд_Таблица.ДопТариф1 - 1);
		КонецЕсли;
		Если рд_ФлагДопТариф2 = 1 Тогда
			л_Сотрудник.ДопТариф2.Установить(рд_Таблица.Дата, рд_Таблица.ДопТариф2 - 1);
		КонецЕсли;
		Если рд_ПодклассыДопТариф1 = 1 Тогда
			л_Сотрудник.КлассДопТариф1.Установить(рд_Таблица.Дата, рд_Таблица.КлассДопТариф1);
		КонецЕсли;
		Если рд_ПодклассыДопТариф2 = 1 Тогда
			л_Сотрудник.КлассДопТариф2.Установить(рд_Таблица.Дата, рд_Таблица.КлассДопТариф2);
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры
Тема закрыта.
Спасибо сказали: ООО "АЙТИ ПРО-ФИТ"
27 апр 2014 16:09 #10
от Юрий
В обработке DopTarif.ert можно еще добавить проверку, что значение не поменялось, чтобы не писать лишнее в историю значений.
Новый вариант:
Процедура Сохранить()
	л_Сотрудник = СоздатьОбъект("Справочник.Сотрудники");
	рд_Таблица.ВыбратьСтроки();
	Пока рд_Таблица.ПолучитьСтроку() = 1 Цикл
		л_Сотрудник.НайтиЭлемент(рд_Таблица.Сотрудник);
		Если рд_ФлагДопТариф1 = 1 Тогда
			Если рд_Таблица.ДопТариф1 - 1 <> л_Сотрудник.ДопТариф1.Получить(рд_Таблица.Дата) Тогда
				л_Сотрудник.ДопТариф1.Установить(рд_Таблица.Дата, рд_Таблица.ДопТариф1 - 1);
			КонецЕсли;
		КонецЕсли;
		Если рд_ФлагДопТариф2 = 1 Тогда
			Если рд_Таблица.ДопТариф2 - 1 <> л_Сотрудник.ДопТариф2.Получить(рд_Таблица.Дата) Тогда
				л_Сотрудник.ДопТариф2.Установить(рд_Таблица.Дата, рд_Таблица.ДопТариф2 - 1);
			КонецЕсли;
		КонецЕсли;
		Если рд_ПодклассыДопТариф1 = 1 Тогда
			Если рд_Таблица.КлассДопТариф1 <> л_Сотрудник.КлассДопТариф1.Получить(рд_Таблица.Дата) Тогда
				л_Сотрудник.КлассДопТариф1.Установить(рд_Таблица.Дата, рд_Таблица.КлассДопТариф1);
			КонецЕсли;
		КонецЕсли;
		Если рд_ПодклассыДопТариф2 = 1 Тогда
			Если рд_Таблица.КлассДопТариф2 <> л_Сотрудник.КлассДопТариф2.Получить(рд_Таблица.Дата) Тогда
				л_Сотрудник.КлассДопТариф2.Установить(рд_Таблица.Дата, рд_Таблица.КлассДопТариф2);
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры

и еще в процедуре ЗаполнитьСтроку() вместо РабочаяДата() поставить рд_Дата:
//рд_Таблица.ДопТариф1 = п_Сотрудник.ДопТариф1.Получить(РабочаяДата())+1;
	//рд_Таблица.ДопТариф2 = п_Сотрудник.ДопТариф2.Получить(РабочаяДата())+1;
	//рд_Таблица.КлассДопТариф1 = п_Сотрудник.КлассДопТариф1.Получить(РабочаяДата())+1;
	//рд_Таблица.КлассДопТариф2 = п_Сотрудник.КлассДопТариф2.Получить(РабочаяДата())+1;
	рд_Таблица.ДопТариф1 = п_Сотрудник.ДопТариф1.Получить(рд_Дата)+1;
	рд_Таблица.ДопТариф2 = п_Сотрудник.ДопТариф2.Получить(рд_Дата)+1;
	рд_Таблица.КлассДопТариф1 = п_Сотрудник.КлассДопТариф1.Получить(рд_Дата);
	рд_Таблица.КлассДопТариф2 = п_Сотрудник.КлассДопТариф2.Получить(рд_Дата);
Тема закрыта.
Спасибо сказали: Романов Алексей Иванович, ООО "АЙТИ ПРО-ФИТ"

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie и пользовательских данных в целях функционирования сайта, проведения ретаргетинга и статистических исследований, обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.

Принять