Автоматизированная система начисления заработной платы сотрудникам Частного социально-педагогического учреждения образования 'SOS-Детская деревня Могилев'
Введение
В современном мире автоматизация расчета заработной платы - необходимая
ведения развития бизнеса.
Главная цель автоматизации - создание комплексной системы, хранящей
информацию о сотрудниках и их окладах, отработанных часах, расчет и хранение
данных о начислениях, таких как начисление оплаты, удержание налогов, подсчет
выдаваемой суммы.
Данный курсовой проект позволит решить следующие задачи: повысить
прозрачность и оперативность расчета заработной платы; формировать плановую
отчетность автоматически; организовать эффективную работу бухгалтера путем
уменьшения трудоемких работ.
Автоматизация расчета заработной платы с использованием новейших
программных разработок и комплекса необходимого оборудования поможет
реализовать поставленные задачи.
1. Техническое
задание
.1 Общие
сведения
Наименование ПО - Автоматизированная система начисления заработной платы
сотрудникам Частного социально-педагогического учреждения образования «SOS-Детская деревня Могилев» (ДД)
Основание для выполнения работы: учебный план специальности АСОИР
(Автоматизированные системы обработки информации и управление).
Стороны, участвующие в создании автоматизированной системы:
Заказчик кафедра АСУ БРУ, г. Могилев. От имени заказчика - Вайнилович
Юлия Викторовна (в дальнейшем Заказчик).
Разработчик
ПО Казюко Славяна Павловна, студентка специальности 230102, e-mail:
kaziukoslaviana@gmail.com (в дальнейшем Исполнитель).
Исходные
данные для разработки. Документы, на основании которых создается система:
- руководство по организации работы в SOS Детских деревнях
- "SOS- Детские Деревни" Концепция обеспечения
качества
- Система бухгалтерского учета Частного
социально-педагогического учреждения образования «SOS-Детская деревня Могилев»
- Расчетный лист
Плановые сроки начала и окончания работ по созданию системы.
Срок начала 15 сентября 2012.
Срок окончания работ по проекту 12 декабря 2012.
Последовательность и сроки реализаций стадий и этапов работ, виды и
комплектность документов, передаваемых заказчику определяется в таблице 1.
база
данные заработный вычислительный
Таблица 1 - Последовательность и сроки реализаций стадий и этапов работ
Номер этапа
|
Этап
|
Результат
|
Сроки выполнения
|
1
|
2
|
3
|
4
|
1
|
Техническое задание
|
Разработано и подписано
техническое задание
|
9.10.2012 - 10.10.2012
|
2
|
Разработка объектов
конфигурации
|
Разработаны требуемые
объекты конфигурации
|
15.10.2012 - 01.12.2012
|
3
|
Тестирование разработанной
системы
|
Конфигурация протестирована
и устранены недочеты
|
01.12.2012 - 11.12.2012
|
4
|
Сдача автоматизированной
системы
|
|
12.12.2012 - 15.12.2012
|
|
|
|
|
|
1.2
Назначение и цели создания системы
.2.1 Назначение системы
Проектирование информационной системы. Систему предполагается
использовать на рабочем месте бухгалтера ДД для оптимизации процесса начисления
заработной платы. Система позволит облегчить процесс начисления заработной
платы с учётом вида деятельности сотрудника, поощрений, ему начисляемых,
снимаемых налогов.
.2.2 Цели создания системы
Систему предполагается создать для ускорения и облегчения процесса
начисления заработной платы сотрудникам ДД. Критерий оценки достижений целей
системы - оценка пользователем системы по шкале от 0 до 6. Также критерием
оценки достижения целей системы будет сокращение ошибок при начислении
заработной платы.
1.3
Характеристика объекта автоматизации
.3.1 Краткие сведенияДетские деревни помогают детям-сиротам и детям,
оставшимся без попечения родителей, обрести SOS-семью и домашний уют, а также оказывают комплексную
поддержку семьям, дети из которых по различным причинам рискуют лишиться родительской
опеки.
«SOS-Детская деревня Могилев» включает
следующие отделы:
отдел поддержки семьи и ребенка, отдел долгосрочной опеки, социальный
кризисный центр, бухгалтерский отдел, директор программы.
В «SOS-Детская деревня Могилев» работают:
- Директор программы;
- Заместитель директора по долгосрочной опеке;
- Заместитель директора по сотрудничеству с учреждениями
образования и др.;
- Заместитель директора по профилактике сиротства;
- Руководитель отдела поддержки семьи и ребенка;
- Психологи;
- Социальные работники;
- Социальные педагоги;
- Секретарь;
- Бухгалтер;
- Родители-воспитатели;
- Тети;
- Помощники;
- Инженер по обслуживанию жилищного хозяйства;
- Помощник мастера;
- Рабочий по обслуживанию;
- Дежурные;
- Приглашенные специалисты (на основе договора на оказание
услуг).
Пользователем будущей базы данных будет бухгалтер.
В функции бухгалтера входит:
- Начисление оклада сотрудникам;
- Начисление премий сотрудникам;
- Удержание налогов и других вычетов;
- Формирование бухгалтерской отчетности по заработной плате;
- Начисление оплаты за услуги сотрудникам по договору.
Информация, подлежащая хранению: информация о сотрудниках, информация о
специалистах по договору, информация о подоходном налоге каждого сотрудника,
сведения о видах удержаний и их размерах для каждого сотрудника.
.3.2 Сведения об условиях эксплуатации объекта автоматизации и
характеристиках окружающей среды
Помещения, в которых предполагается размещение технических средств,
относятся к типу учрежденческих (офисных) с соответствующими показателями по
температуре, влажности и освещенности. Условия эксплуатации объекта
автоматизации определяются в соответствии с Гигиеническими требованиями к видео
дисплейным терминалам, персональным электронно-вычислительным машинам и
организации работы.
.4 Требования
к системе
.4.1 Требования к системе в целом
Система должна удовлетворять следующим требованиям:
- Надежности и безопасности, информация хранящаяся в системе должна быть
защищена как от аварийных ситуаций, влияния внешних воздействий, так и программных
сбоев, для этого будет производиться автоматическое сохранение информации, а
также резервное копирование за установлений период;
- Требования к защите информации от несанкционированного
доступа. Должна быть предусмотрена защита от несанкционированного доступа к
данным, ввода данных, их удаления, для реализации данного требования будет
создана учетная;
- Непротиворечивость. Данные должны храниться в соответствии с
имеющимися документами;
Требования к функциям (задачам), выполняемым системой. Функции,
выполняемые подсистемами объекта автоматизации:
- Создание отчетности о начислении заработной платы;
- Ежемесячно заполнение на каждого сотрудника расчетного
листка;
- Получение общих или детализированных данных по итогам работы;
- Создание отчетов о расходуемых средствах на приглашенных
специалистов.
Требования к видам обеспечения. Программное обеспечение системы не должно
зависеть от аппаратных средств компьютера. Необходимое программное обеспечение:
Windows XP, Windows 7 или Windows Vista, 1С Предприятие 7.7.
.5 Порядок
контроля и приемки системы
Передача рабочих материалов и документов между Исполнителем и Заказчиком
осуществляется в электронном виде и на бумажном носителе. Рассмотрение,
коррекция и обратная отправка материалов должна выполняться в срок не более 7
дней.
Приемка работы осуществляется при наличии следующих материалов:
- Программах, исходных кодах и дистрибутивов, протестированных Исполнителем
на не менее 50 (пятидесяти) записях.
- Пояснительная записка - твердая копия, подписанная исполнителем
и электронный вариант. Пояснительная записка выполняется согласно ГОСТ
34.602-89.
.6 Требования
к документированию
Документация на программное обеспечение, разрабатываемая Исполнителем,
предоставляется заказчику на русском языке, в виде твердой копии и в
электронном виде, в состав поставляемой документации должны быть включены:
- Описания всех информационных сущностей базы данных (объектов
конфигурации) и их назначение в виде таблицы.
2.
Документация на программное обеспечение
.1 Описание
объектов конфигурации
Для реализации задачи, поставленной в техническом задании, были созданы
следующие сущности (объекты конфигурации) (таблица 2).
Таблица 2 - Описание информационных сущностей
Вид сущности
|
Наименование сущности
|
Назначение сущности
|
1
|
2
|
3
|
Константа
|
НазваниеОрганизации
|
Хранение названия
организации
|
Константа
|
Директор
|
Хранение фамилии директора
|
Константа
|
Бухгалтер
|
Хранение фамилии бухгалтера
|
Справочник
|
Сотрудники
|
Хранение информации о
сотрудниках, штатных и работающих по договору
|
Справочник
|
Удержания
|
Хранение видов и размеров
удержаний
|
Документ
|
ТабельУчетаРабВрем
|
Ведение табеля
отработанного времени, а также подсчет общего количества отработанных часов
|
Документ
|
Премии
|
Учет размеров премий,
начисляемых конкретному сотруднику в конкретный месяц
|
Документ
|
ПроизвКаленд
|
Хранение информации о
количестве рабочих дней и часов в месяц определенного года, в соответствии с
установленными государством
|
Документ
|
ЗаработнаяПлата
|
Подсчет и хранение всех
видов начислений и удержаний штатным сотрудниками, а также итоговой суммы и
задолженности работодателя, соответствующие конкретному месяцу
|
Документ
|
ПоДоговоруУслуги
|
Подсчет оплаты за услуги и
хранение информации об оказанных услугах сотрудниками по договору
|
Журнал документов
|
КалендРабЧасов
|
Хранение документов «Табель
учета рабочего времени»
|
Журнал документов
|
Премии
|
Хранение документов
«Премии»
|
Журнал документов
|
ПроизвКаледари
|
Хранение документов
«Производственный календарь»
|
Журнал документов
|
ЗаработнаяПлатаЖурнал
|
Хранение документов
«Заработная плата»
|
Журнал документов
|
Услуги
|
Хранение документов «По
договору услуги»
|
Перечисление
|
ТабельВремени
|
Содержит значения вариантов
условных обозначений учета использования рабочего времени
|
Перечисление
|
Месяц
|
Содержит значения всех
возможных названий месяцев
|
Перечисление
|
Год
|
Содержит значения
некоторого количества годов до текущего и после
|
Отчет
|
ВедомостьЗарПлаты
|
Позволяет оперативно
создать отчет со значениями сумм к выдаче штатным сотрудникам за конкретный
период
|
Отчет
|
РасчетныеЛисточки
|
Позволяет оперативно создать
расчетные квитки со всеми видами начислений и значениями, а также удержаний
для конкретного штатного сотрудника за конкретный период
|
Регистр
|
ЗадолжностиРаботодателя
|
Хранит остаточные значения
задолженности работодателя
|
.2 Описание
физической схемы базы данных
Для реализации назначения сущности объекты конфигурации содержат
реквизиты.
Реквизиты справочников представлены в таблицах 3-4.
Таблица 3 - Реквизиты справочника «Сотрудники»
Имя реквизита сущности
|
Тип данных
|
Количество знаков
|
Описание
|
Имя_Отчество
|
строка
|
50
|
Значение имени и отчества
сотрудника
|
Должность
|
строка
|
неограниченно
|
Значение названия должности
сотрудника
|
Оклад
|
число
|
12
|
Значение оклада сотрудника.
Значение является периодическим
|
ДатаПриема
|
дата
|
|
Дата приема на работу
|
ДатаУвольнения
|
дата
|
|
Дата увольнения сотрудника
|
Таблица 4 - Реквизиты справочника «Удержания»
Имя реквизита сущности
|
Тип данных
|
Количество знаков
|
Описание
|
ПроцентУдержания
|
число
|
10
|
Значение конкретного
удержания. Значение является периодическим
|
Значение
|
число
|
10
|
Доля удержания
|
Описания реквизитов документов представлены в таблицах 5-9.
Таблица 5 - Реквизиты документа «ТабельУчетаРабВрем»
Имя реквизита сущности
|
Тип данных
|
Количество знаков
|
Описание
|
1
|
2
|
3
|
4
|
Шапка
|
Организация
|
строка
|
50
|
Название организации
|
Месяц
|
Перечисление. месяц
|
|
Название месяца
|
Год
|
Перечисление. год
|
|
Номер года
|
Многострочная часть
|
Сотрудник
|
Справочник. Сотрудники
|
|
Значение имени и отчества
сотрудника
|
ИтогоЧасов
|
число
|
10
|
Значение названия должности
сотрдника
|
д1
|
Перечисление. ТабельВремени
|
|
Первый день месяца
|
д2
|
Перечисление. ТабельВремени
|
|
Второй день месяца
|
…
|
…
|
…
|
…
|
д31
|
Перечисление. ТабельВремени
|
|
Тридцать первый день месяца
|
Таблица 6 - Реквизиты документа «Премии»
Имя реквизита сущности
|
Тип данных
|
Количество знаков
|
Описание
|
Шапка
|
Месяц
|
Перечисление. месяц
|
|
Название месяца
|
Год
|
Перечисление. год
|
|
Номер года
|
Многострочная часть
|
Сотрудник
|
Справочник. Сотрудники
|
|
Значение имени и отчества
сотрудника
|
РазмерПремии
|
число
|
12
|
Значение премии
|
Таблица 7 - Реквизиты документа «ПроизвКалендарь»
Имя реквизита сущности
|
Тип данных
|
Количество знаков
|
Описание
|
Шапка
|
Год
|
Перечисление. год
|
|
Номер года
|
Многострочная часть
|
Месяц
|
Перечисление. месяц
|
|
Название месяца
|
КолРабДней
|
число
|
10
|
Количество рабочих дней
|
КолРабЧасов
|
число
|
10
|
Количество рабочих часов в
данном месяце
|
Таблица 8 - Реквизиты документа «ЗаработнаяПлата»
Имя реквизита сущности
|
Тип данных
|
Количество знаков
|
Описание
|
1
|
2
|
3
|
4
|
Шапка
|
Организация
|
строка
|
50
|
Название организации
|
Месяц
|
Перечисление. месяц
|
|
Название месяца
|
Год
|
Перечисление. год
|
|
Номер года
|
Многострочная часть
|
Сотрудник
|
Справочники. Сотрудники
|
|
Фамилия сотрудника
|
ПоОкладу
|
число
|
15
|
Значение начисления по
окладу в соответствии с количеством отработанных часов и окладом сотрудника
|
Премия
|
число
|
15
|
Значение начисленной премии
|
ВсегоНач
|
число
|
15
|
Значение суммы начислений
|
НДФЛ
|
число
|
15
|
Значение размера
подоходного налога
|
УПФ
|
число
|
15
|
Значение размера удержания
в пенсионный фонд
|
ПрофВзнос
|
число
|
15
|
Значение размера удержания
в счет профсоюзного взноса
|
ВсегоУдерж
|
число
|
15
|
Значение суммы удержаний
|
Итого
|
число
|
15
|
Результирующее значение
заработной
|
ЗадолжностьРаб
|
число
|
15
|
Значение задолженности
работодателя
|
Таблица 9 - Реквизиты документа «ПоДоговоруУслуги»
Тип данных
|
Количество знаков
|
Описание
|
1
|
2
|
3
|
4
|
Шапка
|
Организация
|
строка
|
50
|
Название организации
|
Месяц
|
Перечисление. месяц
|
|
Название месяца
|
Год
|
Перечисление. год
|
|
Номер года
|
Многострочная часть
|
Сотрудник
|
Справочники. Сотрудники
|
|
Фамилия сотрудника
|
ВидУслуги
|
строка
|
30
|
Наименование предоставляемой
услуги
|
КолЧасов
|
число
|
15
|
Количество отработанных
часов
|
КОплате
|
число
|
15
|
Сумма оплаты
|
Измерения и ресурсы данного регистра представлены в таблице 10.
Таблица 10- Реквизиты регистра «ЗадолжностиРаботодателя»
Имя реквизита сущности
|
Тип данных
|
Количество знаков
|
Описание
|
Измерения
|
Сотрудник
|
Справочники. Сотрудники
|
|
Фамилия сотрудника
|
Ресурсы
|
Задолженность
|
Число
|
10
|
Значение задолженности
работодателя
|
3. Реализация
программного обеспечения
Справочники служат для хранения информации об определенного типа
объектах. Элементом справочника называют отдельную запись в списке. Важнейшее
достоинство справочников заключается в возможности иметь неограниченное
количество реквизитов, т.е. способности хранить большое количество разной
информации.
Основными пунктами создания констант являются установление
идентификатора, типа и длины значения, также можно задать синоним. Создание
констант конфигурации представлено на рисунках 1-3.
Рисунок 1 - Создание константы «НазваниеОрганизации»
Рисунок 2 - Создание константы «Директор»
Рисунок 3 - Создание константы «Бухгалтер»
Создание перечислений включает в себя создание самого перечисления, и
добавление в него значений. Создание перечислений представлены на рисунках 4-6.
Рисунок 4 - создание перечисления «ТабельВремени»
Рисунок 5 - создание перечисления «месяц»
Рисунок 6 - создание перечисления «год»
Система 1С:Предприятие позволяет создавать неограниченное количество
справочников. В курсовой работе были созданы два справочника.
Создадим справочник «Сотрудники». Данный справочник является
двухуровневым. Длина кода элементов справочника 2 символа, длина наименования -
25. Серии кодов нумеруются в пределах подчинения. Тип кода является числовым,
автоматически нумеруемым. Основным представлением элементов справочника
является наименование. Создание справочника в среде 1С:Предприятие показано на
рисунке 7.
Рисунок 7 - Создание справочника «Сотрудники»
Реквизиты справочника «Сотрудники» описаны в таблице 3. Данный справочник
заполняется непосредственно в табличной форме.
Справочник «Удержания» создается подобным образом, за исключением того,
что справочник «Удержания» является одноуровневым. Реквизиты данного
справочника описаны в таблице 4. Его создание представлено на рисунке 8.
Рисунок 8 - Создание справочника «Удержания»
Создание документа предполагает определение идентификатора, синонима,
журнала, хранящего документы данного типа, реквизитов шапки и табличной части
документа, а также параметров нумерации документов.
Документ «ТабельУчетаРабВрем» хранится в журнале «КалендарьРабЧасов».
Синоним - «Табель учета рабочего времени». Описание реквизиов шапки и табличной
части представлено в таблице 5. Создание данного документа представлено на
рисунке 9.
Рисунок 9 - Создание документа «ТабельУчетаРабВрем»
Документ «ТабельУчетаРабВрем» заполняется посредством следующей формы
(рисунок 10).
Рисунок 10 - Форма документа «ТабельУчетаРабВрем»
Печатная форма документа «ТабельУчетаРабВрем» представлен на рисунке 11.
Рисунок 11 - Печатная форма документа «ТабельУчетаРабВрем»
Для работы с этим документом было создано 3 процедуры и 1 функция.
При открытии формы автоматически заполняется поле «Организация» при
помощи процедуры ПриОткрытии:
Процедура ПриОткрытии()
Организация = Константа.НазваниеОрганизации;
КонецПроцедуры
Для автоматического подсчета итогового количества отработанных часов, в
соответствии с заполненными данными, была создана следующая процедура:
Процедура ПриВводе()
ИтогоЧасов=Перебор(д1)+Перебор(д2)+Перебор(д3)+Перебор(д4)+Перебор(д5)+Перебор(д6);
ИтогоЧасов=ИтогоЧасов+Перебор(д7)+Перебор(д8)+Перебор(д9)+Перебор(д10)+Перебор(д11);
ИтогоЧасов=ИтогоЧасов+Перебор(д12)+Перебор(д13)+Перебор(д14)+Перебор(д15);
ИтогоЧасов=ИтогоЧасов+Перебор(д16)+Перебор(д17)+Перебор(д18)+Перебор(д19);
ИтогоЧасов=ИтогоЧасов+Перебор(д20)+Перебор(д21)+Перебор(д22)+Перебор(д23);
ИтогоЧасов=ИтогоЧасов+Перебор(д24)+Перебор(д25)+Перебор(д26)+Перебор(д27);
ИтогоЧасов=ИтогоЧасов+Перебор(д28)+Перебор(д29)+Перебор(д30)+Перебор(д31);
КонецПроцедуры
Для работы данной процедуры была создана дополнительная функция:
Функция Перебор(представление)
Перем числом;
если представление=Перечисление.ТабельВремени.Я
Тогда числом=8;
иначееслипредставление=Перечисление.ТабельВремени.О
Тогда числом=6;
иначееслипредставление=Перечисление.ТабельВремени.В
Тогда числом=0;
иначееслипредставление=Перечисление.ТабельВремени.К
Тогда числом=10;
иначееслипредставление=Перечисление.ТабельВремени.Б
Тогда числом=5.5;
конецесли;
возврат числом;
КонецФункции
Для печати данного документа была создана следующая процедура:
Процедура Печать()
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Печать");
Таб.ВывестиСекцию("Шапка");
Таб.Опции(0,0,0,0);
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Таб.ВывестиСекцию("Строка");
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать Табель учета рабочего
времени","");
КонецПроцедуры
Данная процедура вызывается при нажатии кнопки «Печать» на форме.
Документ «Премии» хранится в журнале «Премии». Данный документ создан для
ввода размера премий в текущем месяце. Реквизиты документа «Премии» описаны в
таблице 6. Создание формы в среде 1С:Предприятие представлено на рисунке 12.
Рисунок 12 - Создание документа «Премии»
Для работы с данным документом создана форма (рисунок 13).
Рисунок 13 - Форма представления документа «Премии»
Документ «ПроизвКаленд» хранится в журнале «ПроизвКаленд». Синоним -
«Производственный календарь». Описание реквизиов шапки и табличной части
представлено в таблице 7. Создание данного документа представлено на рисунке
14.
Рисунок 14 - Создание документа «ПроизвКаленд»
Для работы с документом «ПроизвКаленд» создана форма (рисунок 15).
Рисунок 15 - Форма документа «ПроизвКаленд»
Документ «ЗаработнаяПлата» содержится в журнале «ЗаработнаяПлатыЖурнал».
Синоним - «Заработная плата». Реквизиты шапки и многострочной части описаны в
таблице 8. Нумерация документов проходит автоматически. Тип кода в
многострочной части - числовой. Строки многострочной части нумеруются
автоматически. Создание документа представлено на рисунке 16.
Рисунок 16 - Создание документа «ЗаработнаяПлата»
Работа с данным документом производится с помощью формы документа
(рисунок 17).
Рисунок 17 - Форма документа «ЗаработнаяПлата»
При открытии данной формы список месяцев вносится автоматически с помощью
процедуры ПриОткрытии().
Процедура ПриОткрытии()
Организация = Константа.НазваниеОрганизации;
Если ПолучитьСтрокуПоНомеру(1)=0 Тогда
НоваяСтрока();
месяц = Перечисление.месяц.январь;
НоваяСтрока();
месяц = Перечисление.месяц.февраль;
НоваяСтрока();
месяц = Перечисление.месяц.март;
НоваяСтрока();
месяц = Перечисление.месяц.апрель;
НоваяСтрока();
месяц = Перечисление.месяц.май;
НоваяСтрока();
месяц = Перечисление.месяц.июнь;
НоваяСтрока();
месяц = Перечисление.месяц.июль;
НоваяСтрока();
месяц = Перечисление.месяц.август;
НоваяСтрока();
месяц = Перечисление.месяц.сентябрь;
НоваяСтрока();
месяц = Перечисление.месяц.октябрь;
НоваяСтрока();
месяц = Перечисление.месяц.ноябрь;
НоваяСтрока();
месяц = Перечисление.месяц.декабрь;
КонецЕсли
КонецПроцедуры
Для функционирования данного документа, а именно подсчета всех значений
полей для каждого сотрудника, разработан модуль формы, включающий 2 процедуры и
функцию.
Процедура для автоматического заполнения поля «Организация».
Процедура ПриОткрытии()
Организация = Константа.НазваниеОрганизации;
КонецПроцедуры
Процедура для подсчета полей документа.
Процедура КОплате()
Если месяц<>0 Тогда
Если год<>0 Тогда
ДокПрК = СоздатьОбъект("Документ.ПроизвКаленд");
ДатаНач = НачМесяца(ДатаДок);
ДатаКон = КонМесяца(ДатаДок);
ДокПрК.ВыбратьДокументы(,);
Пока ДокПрК.ПолучитьДокумент()=1 Цикл
Если ДокПрК.ТекущийДокумент().Год=год Тогда
Прервать
КонецЕсли;
КонецЦикла;
Пока ДокПрК.ПолучитьСтроку()=1 Цикл
Если ДокПрК.Месяц=месяц Тогда
Прервать
КонецЕсли;
КонецЦикла;
ДокТУРВ = СоздатьОбъект("Документ.ТабельУчетаРабВрем");
ДокТУРВ.ВыбратьДокументы(,);
Пока ДокТУРВ.ПолучитьДокумент()=1 Цикл
Если (ДокТУРВ.ТекущийДокумент().Год=год) И
(ДокТУРВ.ТекущийДокумент().Месяц=месяц) Тогда
Прервать
КонецЕсли;
КонецЦикла;
ДокПр = СоздатьОбъект("Документ.Премии");
ДокПр.ВыбратьДокументы(,);
Пока ДокПр.ПолучитьДокумент()=1 Цикл
Если (ДокПр.ТекущийДокумент().Год=год) и
(ДокПр.ТекущийДокумент().Месяц=месяц) Тогда
Прервать
КонецЕсли;
КонецЦикла;
ДокТУРВ.ВыбратьСтроки();
СпрУдерж=СоздатьОбъект("Справочник.Удержания");
СпрУдерж.ВыбратьЭлементы();
СпрУдерж.ИспользоватьДату(Дата("20."+Строка(НомерМесяца(месяц))+"."+Строка(год)));
СпрСотр=СоздатьОбъект("Справочник.Сотрудники");
СпрСотр.ВыбратьЭлементы();
СпрСотр.НайтиПоНаименованию("Штатные");
ГрШтатные =СпрСотр.ТекущийЭлемент();
СпрСотр.ИспользоватьРодителя(ГрШтатные);
СпрСотр.ИспользоватьДату(Дата("20."+Строка(НомерМесяца(месяц))+"."+Строка(год)));
Пока ДокТУРВ.ПолучитьСтроку()=1 Цикл
НоваяСтрока();
Сотрудник = ДокТУРВ.Сотрудник;
СпрСотр.НайтиПоНаименованию(Строка(Сотрудник));
ПоОкладу = (ДокТУРВ.ИтогоЧасов / ДокПрК.КолРабЧасов)*СпрСотр.Оклад;
ДокПр.ВыбратьСтроки();
Пока ДокПр.ПолучитьСтроку()=1 Цикл
Если ДокПр.Сотрудник = Сотрудник Тогда
Прервать
КонецЕсли;
КонецЦикла;
Премия = ДокПр.РазмерПремии;
ВсегоНач = ПоОкладу + Премия;
ВсегоУдерж = 0;
СпрУдерж.ВыбратьЭлементы();
Если СпрУдерж.НайтиПоНаименованию("НДФЛ")=1 тогда
НДФЛ=ВсегоНач*СпрУдерж.Значение;
конецесли;
Если СпрУдерж.НайтиПоНаименованию("Проф Взнос")=1 тогда
ПрофВзнос=ВсегоНач*СпрУдерж.Значение;
конецесли;
Если СпрУдерж.НайтиПоНаименованию("На пенсионный фонд")=1 тогда
УПФ=ВсегоНач*СпрУдерж.Значение;
конецесли;
ВсегоУдерж= НДФЛ + ПрофВзнос + УПФ;
РегЗадолж = СоздатьОбъект("Регистр.ЗадолжностиРаботодателя");
ЗадолжностьРаб = РегЗадолж.Остаток(Сотрудник,"задолжность");
Итого = ВсегоНач - ВсегоУдерж + ЗадолжностьРаб;
РегЗадолж.Сотрудник=Сотрудник;
ЗадолжностьРаб=РегЗадолж.Остаток(Сотрудник,"задолжность") +
Итого - Окр(Итого,-1,2);
РегЗадолж.задолжность=ЗадолжностьРаб;
Итого = Окр(Итого,-1,2);
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Также создана вспомогательная функция, возвращающая в соответствии с
именем номер месяца.
Функция НомерМесяца(месяц)
Перем числом;
если месяц=Перечисление.месяц.январь
Тогда числом="01";
иначеЕсли месяц=Перечисление.месяц.февраль
Тогда числом="02";
иначеЕсли месяц=Перечисление.месяц.март
Тогда числом="03";
иначеЕсли месяц=Перечисление.месяц.апрель
Тогда числом="04";
иначеЕсли месяц=Перечисление.месяц.май
Тогда числом="05";
иначеЕсли месяц=Перечисление.месяц.июнь
Тогда числом="06";
иначеЕсли месяц=Перечисление.месяц.июль
Тогда числом="07";
иначеЕсли месяц=Перечисление.месяц.август
Тогда числом="08";
иначеЕсли месяц=Перечисление.месяц.сентябрь
Тогда числом="09";
иначеЕсли месяц=Перечисление.месяц.октябрь
Тогда числом="10";
иначеЕсли месяц=Перечисление.месяц.ноябрь
Тогда числом="11";
иначеЕсли месяц=Перечисление.месяц.декабрь
Тогда числом="12";
конецесли;
возврат числом;
КонецФункции
Документ «ПоДоговоруУслуги» содержится в журнале «Услуги». Синонимом -
«По договору услуги». Реквизиты шапки и многострочной части описаны в таблице
9. Создание документа рассмотрено на рисунке 18.
Рисунок 18 - Создание документа «ПоДоговоруУслуги»
Для ввода данных в документ используется форма, представленная на рисунке
19.
Рисунок 19 - Форма документа «ПоДоговоруУслуги»
При выборе сотрудника, заполнении полей вид услуг и количество часов
значения к оплате считается автоматически при помощи процедуры
Процедура СчетОплата()
СпрСотр=СоздатьОбъект("Справочник.Сотрудники");
СпрСотр.ВыбратьЭлементы();
СпрСотр.НайтиПоНаименованию("ПоДоговору");
ГрДог = СпрСотр.ТекущийЭлемент();
СпрСотр.ИспользоватьРодителя(ГрДог);
СпрСотр.ИспользоватьДату(Дата("20."+Строка(НомерМесяца(месяц))+"."+Строка(год)));
СпрСотр.НайтиПоНаименованию(Строка(Сотрудник));
КОплате = КолЧасов * СпрСотр.Оклад;
КонецПроцедуры
В данной процедуре использовалась функция НомерМесяца [стр. 29].
У данного документа предусмотрена печать.
Процедура Печать()
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Печать");
Таб.ВывестиСекцию("Шапка");
Таб.Опции(0,0,0,0);
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Таб.ВывестиСекцию("Строка");
КонецЦикла;
бухгалтер=Константа.Бухгалтер;
Директор=Константа.Директор;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать По договору услуги","");
КонецПроцедуры
Данная процедура вызывается нажатием на кнопку «Печать». Результатом
является печатная форма (рисунок 20) с требуемыми данными.
Рисунок 20 - Печатная форма документа «ПоДоговоруУслуги»
Создание отчетов включает в себя создание формы для формирования отчета,
написание модуля и печатной формы отчета.
Рисунок 21 - Форма отчета «Ведомость на зарплату»
При открытии формы отчета автоматически заполняется значение года
текущим.
Процедура ПриОткрытии()
годОтбор = ДатаГод(ТекущаяДата());
КонецПроцедуры
Для вывода печатной формы создана процедура Сформировать().
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Перем ВыбНачПериода, ВыбКонПериода;
ВыбНачПериода =
(Дата("01."+Строка(НомерМесяца(месяцОтбор))+"."+Строка(годОтбор)));
ВыбКонПериода = КонМесяца((Дата("20."+Строка(НомерМесяца(месяцОтбор))+"."+Строка(годОтбор))));
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы все;
|Сотрудник = Документ.ЗаработнаяПлата.Сотрудник.Наименование;
|Итого = Документ.ЗаработнаяПлата.Итого;
|Функция ИтогоСумма = Сумма(Итого);
|Группировка Сотрудник;
|"
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Организация=Константа.НазваниеОрганизации;
СрокНач=ВыбНачПериода;
СрокКон=ВыбКонПериода;
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Сч=1;
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Сотрудник
Таб.ВывестиСекцию("Сотрудник");
Сч=Сч+1;
КонецЦикла;
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
датаОтчета=ТекущаяДата();
директор=Константа.Директор;
бухгалтер=Константа.Бухгалтер;
КонецПроцедуры
Данная процедура использует функцию НомерМесяца(месяц) [стр. 29].
Печатная форма отчета «Ведомость на зарплату» представлена на рисунке 22.
Рисунок 22 - Печатная форма отчета «Ведомость на зарплату»
Рисунок 23 - Форма отчета «Расчетные квитки»
При открытии формы отчета автоматически заполняется значение года
текущим.
Процедура ПриОткрытии()
годОтбор = ДатаГод(ТекущаяДата());
КонецПроцедуры
Для вывода печатной формы создана процедура Сформировать().
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
перем С1, С2;
ВыбНачПериода =
(Дата("01."+Строка(НомерМесяца(месяцОтбор))+"."+Строка(годОтбор)));
ВыбКонПериода = КонМесяца((Дата("20."+Строка(НомерМесяца(месяцОтбор))+"."+Строка(годОтбор))));
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы все;
|Организация = Документ.ЗаработнаяПлата.Организация;
|Сотрудник = Документ.ЗаработнаяПлата.Сотрудник.Наименование;
|ПоОкладу = Документ.ЗаработнаяПлата.ПоОкладу;
|Премия = Документ.ЗаработнаяПлата.Премия;
|ВсегоНач = Документ.ЗаработнаяПлата.ВсегоНач;
|НДФЛ = Документ.ЗаработнаяПлата.НДФЛ;
|УПФ = Документ.ЗаработнаяПлата.УПФ;
|ПрофВзнос = Документ.ЗаработнаяПлата.ПрофВзнос;
|ВсегоУдерж = Документ.ЗаработнаяПлата.ВсегоУдерж;
|Итого = Документ.ЗаработнаяПлата.Итого;
|ЗадолжностьРаб = Документ.ЗаработнаяПлата.ЗадолжностьРаб;
|Группировка Сотрудник без упорядочивания;
|"//}}ЗАПРОС
;
//Если задан фильтр по Сотруднику
Если СотрудникОтбор.Выбран()=1 Тогда
ТекстЗапроса=ТекстЗапроса+"Условие(СокрЛП(Сотрудник) =
СотрудникОтбор);";
КонецЕсли;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
Организация=Константа.НазваниеОрганизации;
месяц=ДатаМесяц(ВыбНачПериода);
год= ДатаГод(ВыбНачПериода) ;
// Заполнение полей Сотрудник
Таб.ВывестиСекцию("Сотрудник");
КонецЦикла;
// Заполнение полей "Итого"
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры
Данная процедура использует функцию НомерМесяца(месяц) [стр. 29].
Для очистки поля Сотрудник создана процедура Очистить().
Процедура Очистить()
СотрудникОтбор="";
КонецПроцедуры
Печатная форма отчета «Расчетные квитки» представлена на рисунке 24.
Рисунок 24 - Печатная форма отчета «Расчетные квитки»
4.
Руководство пользователя
Для функционирования конфигурации «Расчет заработной платы сотрудников «SOS-Детская деревня Могилев» необходима
предварительная установка на компьютер компоненты «Оперативный учет» системы
«1С:Предприятие» версии 7.7.
Для работы с данной конфигурацией в режиме 1С:Предприятие необходимо
следовать следующим рекомендациям.
Для начала заполняются значения констант. Для этого необходимо во разделе
меню «Операции» выбрать подпункт «Константы» (рисунок 25).
Рисунок 25 - Открытие подменю «Константы»
Далее заполняются значения констант (рисунок 26).
Рисунок 26 - Заполнение значений констант
Для последующей работы с конфигурацией необходимо заполнить справочник
«Сотрудники». Для того, чтобы начать заполнение справочника необходимо в пункте
меню «Справочники» выбрать подпункт «Сотрудники». Так как данный справочник
двухуровневый, в начале необходимо создать группы. Были созданы 2 папки:
«Штатные» и «По договору».
Рисунок 27 - Заполнение подгруппы «Штатные» справочника «Сотрудники»
Также необходимо заполнить справочник «Удержания». Для этого в пункте
меню «Справочники» выбирается подпункт «Удержания». Открывается форма
заполнения для данного справочника (рисунок 28).
Рисунок 28 - Заполнение справочника «Удержания»
После заполнения справочников возможна последующая их редакция в течение
работы с конфигурацией.
Если заполнены константы и справочники возможна последующая работа с
конфигурацией, а именно заполнение и работа с документами. Построение отчетов.
Для создания документа выбирается необходимый документ пункта подменю
«Создать документ», раздела меню «Документы».
В первую очередь заполняется документ «Производственный календарь»
(рисунок 29).
Рисунок 29 - Заполнение документа «Производственный календарь»
Затем, посредством заполнения форм, можно приступать к заполнению
документов «Табель учета рабочего времени» (рисунок 10), «Премии» (рисунок 13)
и «По договору услуги» (рисунок 19). Заполнение документа «Заработная плата»
(рисунок 17) проводится только после завершения заполнения документов «Табель
учета рабочего времени» и «Премии».
Для редактирования уже созданных документов выбирается необходимый журнал
документов пункта подменю «Просмотреть/изменить документы», раздела меню
«Документы». В появившемся диалоговом окне выбирается требуемый документ
(рисунок 30).
Рисунок 30 - Журнал документов «Производственные календари»
Отчеты содержат выходную информацию, позволяющую проводить анализ оплаты
труда, а также судить о правильности работы программы и корректности ввода
данных.
Перед выводом экранной формы отчета необходимо заполнить диалоговую форму
с входными параметрами. Для вывода экранной формы отчета «Ведомость заработной
платы» необходимо заполнить поля месяц и год, выбрав требуемые значения в
выпадающих списках.
Рисунок 31 - Пример заполнения экранной формы отчета «Ведомость
заработной платы»
Рисунок 32 - Пример вывода отчета «Ведомость заработной платы» за январь
2013 года
Для вывода экранной формы отчета «Расчетные листочки» необходимо
заполнить поля месяц и год, выбрав требуемые значения в выпадающих списках, и,
если это требуется, фамилию сотрудника для которого будет формироваться
расчетный лист.
Заключение
Курсовая работа предназначена для автоматизации расчета заработной платы
сотрудников «SOS-Детская деревня Могилев». Практической
ценностью разработанной программы является то, что начисление заработной платы,
а также удержание налогов, производится автоматически, в соответствии с
информацией о сотрудниках и их окладах, отработанных часах.
Программный продукт разработан в среде программирования «1С:Предприятие».
Понятный и простой интерфейс позволяет пользователю легко и просто проводить
всю необходимую работу. Для удобства пользователей разработаны формы ввода.
Предусмотрено оперативное получение выходной информации в виде отчетов.
Таким образом, результатом работы является программный продукт,
отвечающий предъявленным к нему требованиям.
Список использованных литературных источников
1. Астахов
Ю.Н. «1С: Предприятие версия 7.7 конфигурирование и администрирование», часть
1, «Москва», 2009
2. Мельников К.М. Конспект лекций по дисциплине «Теоретические основы
автоматизированного управления».