/
Введение
В современном мире автоматизация расчета заработной платы - необходимая ведения развития бизнеса.
Главная цель автоматизации - создание комплексной системы, хранящей информацию о сотрудниках и их окладах, отработанных часах, расчет и хранение данных о начислениях, таких как начисление оплаты, удержание налогов, подсчет выдаваемой суммы.
Данный курсовой проект позволит решить следующие задачи: повысить прозрачность и оперативность расчета заработной платы; формировать плановую отчетность автоматически; организовать эффективную работу бухгалтера путем уменьшения трудоемких работ.
Автоматизация расчета заработной платы с использованием новейших программных разработок и комплекса необходимого оборудования поможет реализовать поставленные задачи.
1. Техническое задание
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 Назначение и цели создания системы
1.2.1 Назначение системы
Проектирование информационной системы. Систему предполагается использовать на рабочем месте бухгалтера ДД для оптимизации процесса начисления заработной платы. Система позволит облегчить процесс начисления заработной платы с учётом вида деятельности сотрудника, поощрений, ему начисляемых, снимаемых налогов.
1.2.2 Цели создания системы
Систему предполагается создать для ускорения и облегчения процесса начисления заработной платы сотрудникам ДД. Критерий оценки достижений целей системы - оценка пользователем системы по шкале от 0 до 6. Также критерием оценки достижения целей системы будет сокращение ошибок при начислении заработной платы.
1.3 Характеристика объекта автоматизации
1.3.1 Краткие сведения
SOS-Детские деревни помогают детям-сиротам и детям, оставшимся без попечения родителей, обрести SOS-семью и домашний уют, а также оказывают комплексную поддержку семьям, дети из которых по различным причинам рискуют лишиться родительской опеки.
«SOS-Детская деревня Могилев» включает следующие отделы:
отдел поддержки семьи и ребенка, отдел долгосрочной опеки, социальный кризисный центр, бухгалтерский отдел, директор программы.
В «SOS-Детская деревня Могилев» работают:
- Директор программы;
- Заместитель директора по долгосрочной опеке;
- Заместитель директора по сотрудничеству с учреждениями образования и др.;
- Заместитель директора по профилактике сиротства;
- Руководитель отдела поддержки семьи и ребенка;
- Психологи;
- Социальные работники;
- Социальные педагоги;
- Секретарь;
- Бухгалтер;
- Родители-воспитатели;
- Тети;
- Помощники;
- Инженер по обслуживанию жилищного хозяйства;
- Помощник мастера;
- Рабочий по обслуживанию;
- Дежурные;
- Приглашенные специалисты (на основе договора на оказание услуг).
Пользователем будущей базы данных будет бухгалтер.
В функции бухгалтера входит:
- Начисление оклада сотрудникам;
- Начисление премий сотрудникам;
- Удержание налогов и других вычетов;
- Формирование бухгалтерской отчетности по заработной плате;
- Начисление оплаты за услуги сотрудникам по договору.
Информация, подлежащая хранению: информация о сотрудниках, информация о специалистах по договору, информация о подоходном налоге каждого сотрудника, сведения о видах удержаний и их размерах для каждого сотрудника.
1.3.2 Сведения об условиях эксплуатации объекта автоматизации и характеристиках окружающей среды
Помещения, в которых предполагается размещение технических средств, относятся к типу учрежденческих (офисных) с соответствующими показателями по температуре, влажности и освещенности. Условия эксплуатации объекта автоматизации определяются в соответствии с Гигиеническими требованиями к видео дисплейным терминалам, персональным электронно-вычислительным машинам и организации работы.
1.4 Требования к системе
1.4.1 Требования к системе в целом
Система должна удовлетворять следующим требованиям:
- Надежности и безопасности, информация хранящаяся в системе должна быть защищена как от аварийных ситуаций, влияния внешних воздействий, так и программных сбоев, для этого будет производиться автоматическое сохранение информации, а также резервное копирование за установлений период;
- Требования к защите информации от несанкционированного доступа. Должна быть предусмотрена защита от несанкционированного доступа к данным, ввода данных, их удаления, для реализации данного требования будет создана учетная;
- Непротиворечивость. Данные должны храниться в соответствии с имеющимися документами;
Требования к функциям (задачам), выполняемым системой. Функции, выполняемые подсистемами объекта автоматизации:
- Создание отчетности о начислении заработной платы;
- Ежемесячно заполнение на каждого сотрудника расчетного листка;
- Получение общих или детализированных данных по итогам работы;
- Создание отчетов о расходуемых средствах на приглашенных специалистов.
Требования к видам обеспечения. Программное обеспечение системы не должно зависеть от аппаратных средств компьютера. Необходимое программное обеспечение:
Windows XP, Windows 7 или Windows Vista, 1С Предприятие 7.7.
1.5 Порядок контроля и приемки системы
Передача рабочих материалов и документов между Исполнителем и Заказчиком осуществляется в электронном виде и на бумажном носителе. Рассмотрение, коррекция и обратная отправка материалов должна выполняться в срок не более 7 дней.
Приемка работы осуществляется при наличии следующих материалов:
- Программах, исходных кодах и дистрибутивов, протестированных Исполнителем на не менее 50 (пятидесяти) записях.
- Пояснительная записка - твердая копия, подписанная исполнителем и электронный вариант. Пояснительная записка выполняется согласно ГОСТ 34.602-89.
1.6 Требования к документированию
Документация на программное обеспечение, разрабатываемая Исполнителем, предоставляется заказчику на русском языке, в виде твердой копии и в электронном виде, в состав поставляемой документации должны быть включены:
- Описания всех информационных сущностей базы данных (объектов конфигурации) и их назначение в виде таблицы.
2. Документация на программное обеспечение
2.1 Описание объектов конфигурации
Для реализации задачи, поставленной в техническом задании, были созданы следующие сущности (объекты конфигурации) (таблица 2).
Таблица 2 - Описание информационных сущностей
Вид сущности |
Наименование сущности |
Назначение сущности |
|
1 |
2 |
3 |
|
Константа |
НазваниеОрганизации |
Хранение названия организации |
|
Константа |
Директор |
Хранение фамилии директора |
|
Константа |
Бухгалтер |
Хранение фамилии бухгалтера |
|
Справочник |
Сотрудники |
Хранение информации о сотрудниках, штатных и работающих по договору |
|
Справочник |
Удержания |
Хранение видов и размеров удержаний |
|
Документ |
ТабельУчетаРабВрем |
Ведение табеля отработанного времени, а также подсчет общего количества отработанных часов |
|
Документ |
Премии |
Учет размеров премий, начисляемых конкретному сотруднику в конкретный месяц |
|
Документ |
ПроизвКаленд |
Хранение информации о количестве рабочих дней и часов в месяц определенного года, в соответствии с установленными государством |
|
Документ |
ЗаработнаяПлата |
Подсчет и хранение всех видов начислений и удержаний штатным сотрудниками, а также итоговой суммы и задолженности работодателя, соответствующие конкретному месяцу |
|
Документ |
ПоДоговоруУслуги |
Подсчет оплаты за услуги и хранение информации об оказанных услугах сотрудниками по договору |
|
Журнал документов |
КалендРабЧасов |
Хранение документов «Табель учета рабочего времени» |
|
Журнал документов |
Премии |
Хранение документов «Премии» |
|
Журнал документов |
ПроизвКаледари |
Хранение документов «Производственный календарь» |
|
Журнал документов |
ЗаработнаяПлатаЖурнал |
Хранение документов «Заработная плата» |
|
Журнал документов |
Услуги |
Хранение документов «По договору услуги» |
|
Перечисление |
ТабельВремени |
Содержит значения вариантов условных обозначений учета использования рабочего времени |
|
Перечисление |
Месяц |
Содержит значения всех возможных названий месяцев |
|
Перечисление |
Год |
Содержит значения некоторого количества годов до текущего и после |
|
Отчет |
ВедомостьЗарПлаты |
Позволяет оперативно создать отчет со значениями сумм к выдаче штатным сотрудникам за конкретный период |
|
Отчет |
РасчетныеЛисточки |
Позволяет оперативно создать расчетные квитки со всеми видами начислений и значениями, а также удержаний для конкретного штатного сотрудника за конкретный период |
|
Регистр |
ЗадолжностиРаботодателя |
Хранит остаточные значения задолженности работодателя |
2.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. Мельников К.М. Конспект лекций по дисциплине «Теоретические основы автоматизированного управления».