v3.0.0.38: implement register writing (8 registers)
This commit is contained in:
@@ -445,9 +445,130 @@
|
|||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Процедура ЗаписатьДанныеНаСервере()
|
Процедура ЗаписатьДанныеНаСервере()
|
||||||
ГодЗагрузки = ТекущаяДата().Год();
|
// Определяем период
|
||||||
|
ГодЗагрузки = ГодЗагрузки;
|
||||||
|
Если Не ЗначениеЗаполнено(ГодЗагрузки) Тогда
|
||||||
|
ГодЗагрузки = Год(ТекущаяДата());
|
||||||
|
КонецЕсли;
|
||||||
Период = Дата(ГодЗагрузки, Объект.МесяцЗагрузки, 1);
|
Период = Дата(ГодЗагрузки, Объект.МесяцЗагрузки, 1);
|
||||||
Объект.ЗаписатьДанныеРасчета(Объект.ДанныеРасчетаЗП, Период);
|
|
||||||
|
// Создаём документ ПереносДанных
|
||||||
|
ДокПеренос = Документы.ПереносДанных.СоздатьДокумент();
|
||||||
|
ДокПеренос.Дата = Период;
|
||||||
|
|
||||||
|
// Сопоставление сотрудников
|
||||||
|
СоответствиеСотрудников = Новый Соответствие;
|
||||||
|
Для Каждого Эл Из Объект.Сотрудники Цикл
|
||||||
|
СоответствиеСотрудников.Вставить(Эл.Идентификатор, Эл.ФИО);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
// Сопоставление организаций и статей
|
||||||
|
Организация = Справочники.Организации.НайтиПоНаименованию(СокрЛП(Объект.Организация), Истина);
|
||||||
|
СтатьяФинансирования = Справочники.СтатьиФинансированияЗарплата.НайтиПоНаименованию(СокрЛП(Объект.СтатьяФинансирования), Истина);
|
||||||
|
СтатьяРасходов = Справочники.СтатьиРасходовЗарплата.НайтиПоНаименованию(СокрЛП(Объект.СтатьяРасходов), Истина);
|
||||||
|
|
||||||
|
// ============================================
|
||||||
|
// Регистр 1: НачисленияУдержанияПоСотрудникам
|
||||||
|
// ============================================
|
||||||
|
Для Каждого Строка Из Объект.ДанныеРасчетаЗП Цикл
|
||||||
|
ИД = Строка.ИдентификаторСотрудника;
|
||||||
|
|
||||||
|
// Начисления (Оклад, доплаты, надбавки и т.д.)
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "Оклад", Строка.Оклад, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "ДоплатаСовместительство", Строка.ДоплатаСовместительство, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "ДоплатаНочные", Строка.ДоплатаНочные, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "ДоплатаПраздничные", Строка.ДоплатаПраздничные, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "НадбавкаЗаКатегорию", Строка.НадбавкаЗаКатегорию, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "НадбавкаЗаВредность", Строка.НадбавкаЗаВредность, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "ПовышающийКоэффициент", Строка.ПовышающийКоэффициент, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "СтимулирующаяВыплата", Строка.СтимулирующиеВыплаты, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "РайонныйКоэффициент", Строка.РайонныйКоэффициент, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "ПремияРазовая", Строка.ПремияРазовая, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "Отпуск", Строка.Отпуск, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "КомпенсацияЗаНеиспользованныйОтпуск", Строка.КомпенсацияЗаОтпуск, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "ВыходноеПособие", Строка.ВыходноеПособие, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "Родовые", Строка.Родовые, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начисление, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
|
||||||
|
// Удержания
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "НДФЛ", Строка.НДФЛ, Перечисления.ГруппыНачисленияУдержанияВыплаты.Удержание, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "ПрофВзнос", Строка.ПрофВзнос, Перечисления.ГруппыНачисленияУдержанияВыплаты.Удержание, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "ИсполнительныйДокумент", Строка.ИсполнительныеДокументы, Перечисления.ГруппыНачисленияУдержанияВыплаты.Удержание, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
|
||||||
|
// Выплаты
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "Оклад", Строка.Аванс, Перечисления.ГруппыНачисленияУдержанияВыплаты.Выплата, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "Оклад", Строка.ЗарплатаЗаПервуюПоловину, Перечисления.ГруппыНачисленияУдержанияВыплаты.Выплата, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "Касса1", Строка.Касса1, Перечисления.ГруппыНачисленияУдержанияВыплаты.Выплата, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
ЗаписатьНачисление(ДокПеренос, Строка, "БезналичноеПеречисление", Строка.БезналичныеПеречисления, Перечисления.ГруппыНачисленияУдержанияВыплаты.Выплата, Период, Организация, СтатьяФинансирования, СтатьяРасходов);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
// ============================================
|
||||||
|
// Регистр 2: ОтработанноеВремяПоСотрудникам
|
||||||
|
// ============================================
|
||||||
|
Для Каждого Строка Из Объект.ДанныеРасчетаЗП Цикл
|
||||||
|
Если Строка.ОтработаноДней > 0 Или Строка.ОтработаноЧасыПоТабелю > 0 Тогда
|
||||||
|
Движение = ДокПеренос.Движения.ОтработанноеВремяПоСотрудникам.Добавить();
|
||||||
|
Движение.Период = Период;
|
||||||
|
Движение.Организация = Организация;
|
||||||
|
Движение.Начисление = ПланыВидовРасчета.Начисления.Оклад;
|
||||||
|
Движение.ОтработаноДней = Строка.ОтработаноДней;
|
||||||
|
Движение.ОтработаноЧасов = Строка.ОтработаноЧасыПоТабелю;
|
||||||
|
Движение.ОплаченоДней = Строка.ОтработаноДней;
|
||||||
|
Движение.ОплаченоЧасов = Строка.ОтработаноЧасыПоТабелю;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
// ============================================
|
||||||
|
// Регистр 3: СведенияОДоходахНДФЛ
|
||||||
|
// ============================================
|
||||||
|
Для Каждого Строка Из Объект.ДанныеНДФЛ Цикл
|
||||||
|
Движение = ДокПеренос.Движения.СведенияОДоходахНДФЛ.Добавить();
|
||||||
|
Движение.Период = Период;
|
||||||
|
Движение.Организация = Организация;
|
||||||
|
Движение.МесяцНалоговогоПериода = Период;
|
||||||
|
Движение.СуммаДохода = Строка.СуммаВаловогоДохода;
|
||||||
|
Движение.СуммаВычета = Строка.СкидкаДляНДФЛЗаМесяц + Строка.ВычетНаРаботникаЗаМесяц + Строка.ВычетНаИждивенцевЗаМесяц;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
// ============================================
|
||||||
|
// Регистр 4: СтраховыеВзносыПоФизическимЛицам
|
||||||
|
// ============================================
|
||||||
|
Для Каждого Строка Из Объект.ДанныеСтраховыхВзносов Цикл
|
||||||
|
Движение = ДокПеренос.Движения.СтраховыеВзносыПоФизическимЛицам.Добавить();
|
||||||
|
Движение.Период = Период;
|
||||||
|
Движение.Организация = Организация;
|
||||||
|
Движение.ПФРДоПредельнойВеличины = Строка.ДТ6Процент;
|
||||||
|
Движение.ПФРСтраховая = Строка.ПФСтраховая;
|
||||||
|
Движение.ФФОМС = Строка.ФССФОМС;
|
||||||
|
Движение.ФССНесчастныеСлучаи = Строка.НСПЗ;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
// Записываем документ
|
||||||
|
ДокПеренос.Записать();
|
||||||
|
|
||||||
|
// Записываем движения
|
||||||
|
Для Каждого Движение Из ДокПеренос.Движения Цикл
|
||||||
|
Движение.Записать();
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Сообщить("Данные записаны. Документ: " + ДокПеренос.Ссылка);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Вспомогательная процедура для записи начисления/удержания/выплаты
|
||||||
|
&НаСервере
|
||||||
|
Процедура ЗаписатьНачисление(ДокПеренос, Строка, ВидРасчета, Сумма, Группа, Период, Организация, СтатьяФинансирования, СтатьяРасходов)
|
||||||
|
Если Сумма = 0 Тогда Возврат; КонецЕсли;
|
||||||
|
|
||||||
|
// Находим вид расчёта по наименованию
|
||||||
|
ВидРасчёта = ПланыВидовРасчета.Начисления.НайтиПоНаименованию(ВидРасчета, Истина);
|
||||||
|
|
||||||
|
Движение = ДокПеренос.Движения.НачисленияУдержанияПоСотрудникам.Добавить();
|
||||||
|
Движение.Период = Период;
|
||||||
|
Движение.Организация = Организация;
|
||||||
|
Движение.Сумма = Сумма;
|
||||||
|
Движение.Группа = Группа;
|
||||||
|
Движение.СтатьяФинансирования = СтатьяФинансирования;
|
||||||
|
Движение.СтатьяРасходов = СтатьяРасходов;
|
||||||
|
Движение.Сторно = Ложь;
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|||||||
Reference in New Issue
Block a user