v3.0.0.75
This commit is contained in:
@@ -0,0 +1,187 @@
|
||||
// Маппинг данных
|
||||
// Парсинг Excel-листов, маппинг колонок на ПВР
|
||||
// Зависит от: ЗагрузкаДанныхИзExcel_ЧтениеЭксель
|
||||
|
||||
&НаКлиенте
|
||||
Функция НомерМесяцаВТекст(НомерМесяца)
|
||||
Массив = Новый Массив;
|
||||
Массив.Добавить("Январь"); Массив.Добавить("Февраль");
|
||||
Массив.Добавить("Март"); Массив.Добавить("Апрель");
|
||||
Массив.Добавить("Май"); Массив.Добавить("Июнь");
|
||||
Массив.Добавить("Июль"); Массив.Добавить("Август");
|
||||
Массив.Добавить("Сентябрь"); Массив.Добавить("Октябрь");
|
||||
Массив.Добавить("Ноябрь"); Массив.Добавить("Декабрь");
|
||||
Если НомерМесяца >= 1 И НомерМесяца <= 12 Тогда
|
||||
Возврат Массив[НомерМесяца - 1];
|
||||
КонецЕсли;
|
||||
Возврат "";
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция СтрокаМесяцаНаЛистеСотрудника()
|
||||
Смещение = Объект.МесяцЗагрузки;
|
||||
Если Не ЗначениеЗаполнено(Смещение) Тогда Смещение = 1; КонецЕсли;
|
||||
Возврат 35 + Смещение;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция НайтиЛистСотрудника(Книга, ЛистРасчет, НомерСтроки)
|
||||
Формула = ЛистРасчет.Cells(НомерСтроки, 1).Formula;
|
||||
Если ЗначениеЗаполнено(Формула) Тогда
|
||||
ИмяЛиста = ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ИзвлечьИмяЛистаИзФормулы(Формула);
|
||||
Если ЗначениеЗаполнено(ИмяЛиста) Тогда
|
||||
Возврат ЗагрузкаДанныхИзExcel_ЧтениеЭксель.НайтиЛист(Книга, ИмяЛиста);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
ФИО = ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуСтрока(ЛистРасчет, НомерСтроки, 1);
|
||||
Если ЗначениеЗаполнено(ФИО) Тогда
|
||||
Возврат ЗагрузкаДанныхИзExcel_ЧтениеЭксель.НайтиЛист(Книга, ФИО);
|
||||
КонецЕсли;
|
||||
Возврат Неопределено;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ПрочитатьКарточкуСотрудника(ЛистСотрудника)
|
||||
Данные = Новый Структура;
|
||||
Данные.Вставить("ФИО", ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуСтрока(ЛистСотрудника, 2, 3));
|
||||
Данные.Вставить("ИНН", "");
|
||||
Данные.Вставить("СНИЛС", "");
|
||||
Данные.Вставить("ЛицевойСчетВБанке", ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 4));
|
||||
Данные.Вставить("ВидЗанятости", ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуСтрока(ЛистСотрудника, 5, 1));
|
||||
Данные.Вставить("АдресРегистрации", "");
|
||||
Возврат Данные;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ПрочитатьРасчетныеДанные(ЛистРасчет, Ном, ФИО)
|
||||
Ч = ЗагрузкаДанныхИзExcel_ЧтениеЭксель;
|
||||
С = Новый Структура;
|
||||
С.Вставить("ФИО", ФИО);
|
||||
С.Вставить("Должность", Ч.ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 2));
|
||||
С.Вставить("СчетБК", Ч.ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 3));
|
||||
С.Вставить("ВидЗанятости", Ч.ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 4));
|
||||
С.Вставить("Оклад", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 8, ФИО));
|
||||
С.Вставить("КоличествоСтавок", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 7, ФИО));
|
||||
С.Вставить("ОтработаноДней", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 6, ФИО));
|
||||
С.Вставить("ЧасыДежурства", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 9, ФИО));
|
||||
С.Вставить("ЧасыНочные", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 10, ФИО));
|
||||
С.Вставить("ЧасыПраздничные", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 11, ФИО));
|
||||
С.Вставить("РабочиеЧасыПоТабелю", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 12, ФИО));
|
||||
С.Вставить("ИзРасчетаМесячногоОкладаДни", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 13, ФИО));
|
||||
С.Вставить("ДоплатаСовместительство", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 14, ФИО));
|
||||
С.Вставить("ДоплатаСовмещениеПроцент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 15, ФИО));
|
||||
С.Вставить("ДоплатаИнтенсивность", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 16, ФИО));
|
||||
С.Вставить("ИзРасчетаМесячногоОкладаЧасы", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 17, ФИО));
|
||||
С.Вставить("ДоплатаНочные", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 18, ФИО));
|
||||
С.Вставить("ДоплатаПраздничные", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 19, ФИО));
|
||||
С.Вставить("ЗаСтаж", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 20, ФИО));
|
||||
С.Вставить("НадбавкаЗаКатегорию", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 21, ФИО));
|
||||
С.Вставить("НадбавкаЗаВредность", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 22, ФИО));
|
||||
С.Вставить("ПовышающийКоэффициент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 23, ФИО));
|
||||
С.Вставить("СтимулирующиеВыплаты", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 24, ФИО));
|
||||
С.Вставить("СтимулирующаяНадбавка", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 25, ФИО));
|
||||
С.Вставить("РайонныйКоэффициент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 26, ФИО));
|
||||
С.Вставить("ВыплатыПоУказу597", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 27, ФИО));
|
||||
С.Вставить("ПремияРазовая", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 28, ФИО));
|
||||
С.Вставить("БольничныйЛистЗаСчетПредприятия", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 29, ФИО));
|
||||
С.Вставить("ДоплатаПрофактиву", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 30, ФИО));
|
||||
С.Вставить("ПусковыеОбсервация", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 31, ФИО));
|
||||
С.Вставить("Отпуск", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 32, ФИО));
|
||||
С.Вставить("КомпенсацияЗаОтпуск", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 33, ФИО));
|
||||
С.Вставить("ПрочиеКомандировочныйУчебныйОтпуск", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 34, ФИО));
|
||||
С.Вставить("ВыходноеПособие", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 35, ФИО));
|
||||
С.Вставить("ПоУходуЗаРебенкомИнвалидом", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 36, ФИО));
|
||||
С.Вставить("ДоплатаДоМРОТ", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 37, ФИО));
|
||||
С.Вставить("Родовые", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 38, ФИО));
|
||||
С.Вставить("ИтогоНачислено", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 39, ФИО));
|
||||
С.Вставить("НДФЛ", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 40, ФИО));
|
||||
С.Вставить("ПрофВзнос", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 41, ФИО));
|
||||
С.Вставить("ИсполнительныеДокументы", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 42, ФИО));
|
||||
С.Вставить("Аванс", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 43, ФИО));
|
||||
С.Вставить("ПФСофинансирование", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 44, ФИО));
|
||||
С.Вставить("ПремияУдержание", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 45, ФИО));
|
||||
С.Вставить("Касса1", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 46, ФИО));
|
||||
С.Вставить("Касса2", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 47, ФИО));
|
||||
С.Вставить("Касса3", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 48, ФИО));
|
||||
С.Вставить("ПособиеДо3ЛетУдержание", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 49, ФИО));
|
||||
С.Вставить("БезналичныеПеречисления", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 50, ФИО));
|
||||
С.Вставить("ВозвратВКассу", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 51, ФИО));
|
||||
С.Вставить("Депонент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 52, ФИО));
|
||||
С.Вставить("ОстатокНаНачало", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 54, ФИО));
|
||||
С.Вставить("ВсегоНаРуки", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 55, ФИО));
|
||||
С.Вставить("ЗарплатаЗаПервуюПоловину", 0); // TODO: определить колонку
|
||||
С.Вставить("ПремияАванс", 0); // TODO: определить колонку
|
||||
С.Вставить("ВыплатыВМежрасчетный", 0); // TODO: определить колонку
|
||||
С.Вставить("ИтогоУдержано",
|
||||
С.НДФЛ + С.ПрофВзнос + С.ИсполнительныеДокументы + С.ПФСофинансирование
|
||||
+ С.ПремияУдержание + С.ПособиеДо3ЛетУдержание + С.Депонент);
|
||||
С.Вставить("ИтогоВыплачено",
|
||||
С.Аванс + С.Касса1 + С.Касса2 + С.Касса3
|
||||
+ С.БезналичныеПеречисления + С.ВозвратВКассу);
|
||||
Возврат С;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ПрочитатьНДФЛСоЛиста(ЛистСотрудника, ФИО)
|
||||
Ч = ЗагрузкаДанныхИзExcel_ЧтениеЭксель;
|
||||
СД = СтрокаМесяцаНаЛистеСотрудника();
|
||||
Если СД = 0 Тогда Возврат Неопределено; КонецЕсли;
|
||||
Если Не ЗначениеЗаполнено(ФИО) Тогда Возврат Неопределено; КонецЕсли;
|
||||
С = Новый Структура;
|
||||
С.Вставить("ФИО", ФИО);
|
||||
С.Вставить("МесяцРасчета", Ч.ПрочитатьЯчейкуСтрока(ЛистСотрудника, СД, 1));
|
||||
С.Вставить("СуммаВаловогоДохода", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 4, ФИО));
|
||||
С.Вставить("СуммаВаловогоДоходаСНачалаГода", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 6, ФИО));
|
||||
С.Вставить("СкидкаДляНДФЛЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 8, ФИО));
|
||||
С.Вставить("СкидкаДляНДФЛЗаГод", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 9, ФИО));
|
||||
С.Вставить("СкидкаДляСВЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 10, ФИО));
|
||||
С.Вставить("ВычетНаРаботникаЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 12, ФИО));
|
||||
С.Вставить("ВычетНаИждивенцевЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 13, ФИО));
|
||||
С.Вставить("ВсегоВычетовЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 14, ФИО));
|
||||
С.Вставить("ОблагаемыйДоходЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 15, ФИО));
|
||||
С.Вставить("ОблагаемыйДоходЗаГод", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 16, ФИО));
|
||||
С.Вставить("НачисленныйНДФЛЗаГод", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 17, ФИО));
|
||||
С.Вставить("ИтогоНДФЛЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 18, ФИО));
|
||||
С.Вставить("НалоговаяБазаПоСВЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 23, ФИО));
|
||||
С.Вставить("ИтогоФСС", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 37, ФИО));
|
||||
Возврат С;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ПрочитатьВзносыИзРасчета(ЛистРасчет, Ном, ФИО)
|
||||
Ч = ЗагрузкаДанныхИзExcel_ЧтениеЭксель;
|
||||
С = Новый Структура;
|
||||
С.Вставить("ФИО", ФИО);
|
||||
С.Вставить("ДТ6Процент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 58, ФИО));
|
||||
С.Вставить("ДТ4Процент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 59, ФИО));
|
||||
С.Вставить("ПФСтраховая", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 60, ФИО));
|
||||
С.Вставить("ФССФОМС", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 61, ФИО));
|
||||
С.Вставить("НСПЗ", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 62, ФИО));
|
||||
С.Вставить("Итого", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 63, ФИО));
|
||||
С.Вставить("НалоговаяБазаПоСВЗаМесяц", 0);
|
||||
С.Вставить("ИтогоФСС", 0);
|
||||
Возврат С;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ОределитьГодЗагрузки(ЛистРасчет)
|
||||
ГодЗначение = ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуЧисло(ЛистРасчет, 3, 1, "");
|
||||
Если ГодЗначение > 0 Тогда
|
||||
Возврат Цел(ГодЗначение);
|
||||
КонецЕсли;
|
||||
ГодЗначение = ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуЧисло(ЛистРасчет, 4, 1, "");
|
||||
Если ГодЗначение > 2000 Тогда
|
||||
Возврат Цел(ГодЗначение);
|
||||
КонецЕсли;
|
||||
Возврат 0;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ОпределитьОрганизацию(ЛистРасчет)
|
||||
Возврат СокрЛП(Строка(ЛистРасчет.Cells(4, 20).Value));
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ОпределитьСтатьюФинансирования(ЛистРасчет)
|
||||
Возврат СокрЛП(Строка(ЛистРасчет.Cells(8, 20).Value));
|
||||
КонецФункции
|
||||
Reference in New Issue
Block a user