Алгоритм занесения данных из таблицы MS Excel происходит по нажатию на кнопку «Занести данные».
После нажатия на кнопку «Занести данные» происходит следующее:
- 1) Создается диалоговое окно для выбора файла;
- 2) Устанавливается расширение выбираемого файла;
- 3) Пользователь выбирает файл;
- 4) Происходит проверка, имеет ли файл нужное расширение:
a. Если имеет, то идем дальше;
b. Если нет, ничего не делаем.
- 5) Создается элемент DataTable;
- 6) Переносим информацию из Excel в DataTable;
- 7) Информацию из DataTable заносим в DataGridView.
Алгоритм расчета заработной платы происходит по нажатию на кнопку «Рассчитать».
После нажатия на кнопку «Рассчитать» происходит следующее:
- 1) Название колонки «Количество детей» изменяем на «Льготы на детей».
- 2) Создаем цикл по столбцу, в котором происходит следующее:
a. Выбираем 3-ю колонку и проходя по каждой колонке сравниваем количество детей (>1 или =1) и умножаем на необходимую сумму по льготе, и после сравнения заносим полученные данные обратно в ячейку;
b. Выбираем 1-ю и 2-ю колонку и проходя по строкам, умножаем значение из 1-й колонки на значение из 2-й деленное на 100, полученный результат заносим во 2-ю колонку.
- 3) Добавляем недостающие колонки: «Начислено», «Отчислено», «К выдаче»;
- 4) Создаем цикл по столбцу, в котором происходит следующее:
a. В 5-ю колонку заносим сумму значений из 1-й и 2-й колонок;
b. В 6-ю колонку заносим значение, которое получаем исходя из разности 5-й колонки и 3-й и 4-й колонок. Но перед занесением в колонку необходимо сравнить значение 5-й колонки с ПСНН:
- § Если значение из 5-й колонки меньше ПСНН, тогда к разности вычитаем льготу на работника — 730 000 руб.
- § Если значение 5-й колонки больше ПСНН, тогда ничего не делаем
c. В 6-й колонке необходимо ещё учесть ПФ и ПВ, для этого значения из 5-й колонки умножаем на 1%, и полученный результат два раза вычитаем из разности полученной в пункте b.
d. В 7-ю колонку заносим разность 5-й и 6-й колонок.
Данный «механизм расчета» создать было довольно трудно, т.к. постоянно нужно было учитывать все нюансы и все льготы необходимые для расчета заработной платы.