Разработка подсистемы "Зарплата" на базе платформы 1С:Предприятие 7.7 для ГОУ ВПО СевКавГТУ

Разработка инфологической и даталогической модели, обобщенного алгоритма и средств защиты программы по автоматизации начисления заработной платы на основе платформы 1С:Предприятие 7.7, входные и выходные параметры, программный код проведения документа.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 23.06.2011
Размер файла 2,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Способом разрешения одной из выявленных проблем является разработка автоматизированной подсистемы расчета заработной платы для специалистов расчетного отдела ГОУ ВПО СевКавГТУ.

В процессе проектирования рабочего места были рассмотрены все этапы разработки для максимально успешного результата.

Подробно рассмотрены процессы проектирования АПС, произведен расчет финансовых и трудовых затрат. Изучена предметная область и выявлены все задачи, которые должны выполнятся разрабатываемым программным средством. Проанализировано состояние рабочей области на соответствие нормам СанПин.

Таким образом, в процессе дипломного проектирования было разработано программное средство, учитывающее особенности информационного, программного и технического обеспечения АСУ и позволяющее реализовать на ПЭВМ АПС специалистов ПФО ГОУ ВПО СевКавГТУ. При этом в качестве системы программирования использован 1С:Предприятие.

Автоматизация процесса внесения новых данных в БД позволяет не только сократить объем ручного труда и времени на обработку данных, но и повысить надежность работы системы в целом.

Разработка АПС не будет остановлена на достигнутом результате, в будущем предполагается ее расширение, проектирование новых функций и дополнение новыми задачами и возможностями. Все изменения будут производиться для максимально удобной работы специалистов согласно их просьбам и предложениям.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1 Мамиконов А.Г. "Проектирование АСУ", М.: "Высшая школа", 87г.

2 Глушков В.М. "Введение в АСУ", Киев : "Техника" , 72г.

3 Глушков В.М. "Основы безбумажной информатики" , М.: ""Наука" , 87г.

4 Модин А.А. "Основы разработки и развития АСУ", М.: "Наука" , 80г.

5 Модин А.А. "Справочник разработчика АСУ", М.: "Экономика" , 78г.

6 Федорова Г.С. "Основы проектирования и организации АСУ", М.: "Финансы и статистика" , 82г.

7 Цвиркун А.Д. "Структура сложных систем", М.: "Советское радио", 75г

8 Иоффе А.Ф. "ПЭВМ в организационном управлении", М.:."Наука", 88г.

9 Бокарёв Т. «Энциклопедия интернет-рекламы», М. «Промо-РУ», 2000г.

10 Грофф Д., Вайнберг П. «SQL: полное руководство», К. «Издательская группа BHV», 9 г.

11 Шумаков П., Фаронов В. «Delphi6: Руководство разработчика баз данных», М «Нолидж», 99г.

12 Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2-е изд. Т. Конноли, К. Бегг, А. Страчан - М.: Издательский дом «Вильямс», 2000.

13 Устав Северо-Кавказского Государственного технического университета № 24Г-0280 от 01.04.99 года.

14 Северо-Кавказскому Государственному техническому университету - 30 лет. - Ст.: Типография ГОУ ВПО СевКавГТУ, 2001.

15 http://www.ncstu.ru - Официальный сервер Северо-Кавказского Государственного технического университета.

16 Автоматизация управления предприятия /Баранов В.В., Калянов Г.Н. и др.-М.: ИНФА, 2000.-178.

17 Разработка клиент серверных систем баз данных. Корнеев - М.: Издательство «Век», 2001г.

18 SQL: полное руководство. Грофф Д., Вайнберг П. - К. «Издательская группа BHV», 99 г.

19 SQL. Мартин Грабер, - М.: Изд. «Лори», 2001.

20 Безопасность. Технологии, средства, услуги. Барсуков В.С. - М.: Кудиц-образ, 2001 - 496 с.

21 Экология и безопасность жизнедеятельности: Учеб. пособие для вузов / Д.А. Кривошеин, Л.А. Муравей, Н.Н. Роева и др.; Под ред. Л.А. Муравья. - М.: ЮНИТИ-ДАНА, 2000.

22 Бурлак Г.Н. Безопасность при работе на компьютере: Организация труда на предприятиях информационного обслуживания: Учеб. пособие. - М.: Финансы и статистика, 1998.

23 Гигиенические требования к видео дисплейным терминалам, персональным электронно-вычислительным машинам и организации работы: СанПиН 2.2.2.542-96. - М.: Госкомсанэпиднадзор России, 1996.

24 Естественное и искусственное освещение: СНиП 23-05-95. Минстрой России. - М., 1995.

25 Пожарная безопасность зданий и сооружений: СНиП 21-01-97. Госстрой России. - М., 1997.

26 Автоматизированные информационные технологии в экономике /Семёнов М.И., Трубин И.Т., Лойко В.И., Барановская Т.П. - М.: Финансы и статистика, 1992.- 154.

ПРИЛОЖЕНИЕ 1. Экранные формы

Главная форма программы

Формы конфигуратора системы

Форма начисления заработной платы с выбором вида начисления

Экранная форма видов начислений

Форма основных сведений о сотруднике

Форма просмотра надбавок к окладу сотрудника

Форма истории сотрудника

ПРИЛОЖЕНИЕ 2. Программный код (процесс обработки документа)

Перем СписокНеПроводимыхДокументов;

Перем Обновить;

Перем Расшифровка;

Перем Таб;

Функция РасшифровкаОбновить(Обновить)

Расшифровка.Установить("Обновить", Обновить);

Возврат Расшифровка;

КонецФункции

Процедура ПереносГруппы(Источник, Приемник)

Для i=1 По Источник.РазмерСписка() Цикл

Представление = "";

Значение = Источник.ПолучитьЗначение(i, Представление);

Приемник.ДобавитьЗначение(Значение, Представление);

КонецЦикла;

Источник.УдалитьВсе();

Приемник.СортироватьПоПредставлению();

КонецПроцедуры //ПереносГруппы

Процедура ПереносЭлемента(Источник,Приемник)

Если Источник.ТекущаяСтрока() > 0 Тогда

Представление = "";

Значение = Источник.ПолучитьЗначение(Источник.ТекущаяСтрока(), Представление);

Приемник.ДобавитьЗначение(Значение, Представление);

ИсточникПозиция = Источник.ТекущаяСтрока();

Если ИсточникПозиция = Источник.РазмерСписка() Тогда

ИсточникПозиция = ИсточникПозиция - 1;

КонецЕсли;

Источник.УдалитьЗначение(Источник.ТекущаяСтрока());

Источник.ТекущаяСтрока(ИсточникПозиция);

Приемник.СортироватьПоПредставлению();

КонецЕсли;

КонецПроцедуры //ПереносЭлемента

Процедура ПриВыбореОбработки()

ВидОбработки = СписокВидовОбработки.ПолучитьЗначение(СписокВидовОбработки.ТекущаяСтрока());

СохранитьЗначение("ВидОбработки", ВидОбработки);

КонецПроцедуры

Процедура Выполнить(Обработка)

Перем БИ;

Если ВыбранныеДокументы.РазмерСписка() = 0 Тогда

Возврат;

КонецЕсли;

Док = СоздатьОбъект("Документ");

Если ВыбрКонтрагент.Выбран() = 1 Тогда

Док.ВыбратьПоЗначению(Дата1,Дата2,"Контрагент",ВыбрКонтрагент);

Иначе

Док.ВыбратьДокументы(Дата1,Дата2);

КонецЕсли;

Если (Обработка = "Печать") или (Обработка = "ПечатьСКомментарием") Тогда

Док.ИспользоватьЖурнал("Общий",0);

Если Обновить = 2 Тогда

СтрокаДействийФормы = "#Закрыть";

КонецЕсли;

Если (ТипЗначенияСтр(Таб) <> "Таблица") ИЛИ (Обновить = 0) Тогда

Таб = СоздатьОбъект("Таблица");

Иначе

Таб.Очистить();

КонецЕсли;

Таб.ИсходнаяТаблица( "Таблица" );

Расшифровка = СоздатьОбъект("СписокЗначений");

Расшифровка.Установить("Отчет","ОбработкаДокументов");

Расшифровка.Установить("Дата1", Дата1);

Расшифровка.Установить("Дата2", Дата2);

Расшифровка.Установить("ВыбранныеДокументы", ВыбранныеДокументы);

Расшифровка.Установить("ВсеДокументы", ВсеДокументы);

Расшифровка.Установить("ВыбрКонтрагент", ВыбрКонтрагент);

Расшифровка.Установить("ВыбрСтрока", ВыбрСтрока);

Расшифровка.Установить("ВыбрСтрокаКом", ВыбрСтрокаКом);

Расшифровка.Установить("Признак", СписокПризнаков.ПолучитьЗначение(СписокПризнаков.ТекущаяСтрока()));

Расшифровка.Установить("ВидОбработки", СписокВидовОбработки.ПолучитьЗначение(СписокВидовОбработки.ТекущаяСтрока()));

Заголовок = "";

Если ВыбрКонтрагент.Выбран() = 1 Тогда

Заголовок = "по контрагенту " + СокрП(ВыбрКонтрагент.Наименование);

КонецЕсли;

Если ПустаяСтрока(ВыбрСтрока) = 0 Тогда

Если ПустаяСтрока(Заголовок) = 0 Тогда

Заголовок = Заголовок + "; ";

КонецЕсли;

Заголовок = Заголовок + "строка: """ + СокрП(ВыбрСтрока) + """";

КонецЕсли;

Если ПустаяСтрока(ВыбрСтрокаКом) = 0 Тогда

Если ПустаяСтрока(Заголовок) = 0 Тогда

Заголовок = Заголовок + "; ";

КонецЕсли;

Заголовок = Заголовок + "комментарий: """ + СокрП(ВыбрСтрокаКом) + """";

КонецЕсли;

Если СписокПризнаков.ТекущаяСтрока() > 1 Тогда

Если ПустаяСтрока(Заголовок) = 0 Тогда

Заголовок = Заголовок + "; ";

КонецЕсли;

Стр = "";

СписокПризнаков.ПолучитьЗначение(СписокПризнаков.ТекущаяСтрока(),Стр);

Заголовок = Заголовок + "только " + Нрег(Стр);

КонецЕсли;

Если Обработка = "Печать" Тогда

Таб.ВывестиСекцию("Отчет|Основная");

Иначе

Таб.ВывестиСекцию("Отчет");

КонецЕсли;

Иначе

Если Дата1 <= Константа.ДатаЗапретаРедактирования Тогда

Предупреждение("Нельзя обрабатывать документы с датой, более ранней, чем дата запрета редактирования документов!");

Возврат;

КонецЕсли;

Если (Обработка = "Провести") И (МонопольныйРежим() = 1) Тогда

БИ = СоздатьОбъект("БухгалтерскиеИтоги");

БИ.Актуальность(1);

Иначе

НачатьТранзакцию();

КонецЕсли;

КонецЕсли;

НПП = 0;

СуммаВсего = 0;

Коммент = "Выполнено обработкой ""Обработка документов""";

ТипСобытия = "Документ";

Пока Док.ПолучитьДокумент() = 1 Цикл

Событие = "";

Объект = "";

Категория = 0;

//Проверка вида документа

Если ВыбранныеДокументы.НайтиЗначение(Док.Вид()) = 0 Тогда

Продолжить;

КонецЕсли;

//Проверка строки операции

Если ПустаяСтрока(ВыбрСтрока) = 1 Тогда

ИначеЕсли Док.СуществуетОперация() = 0 Тогда

Продолжить;

ИначеЕсли Найти(ВРег(Док.Операция.Содержание),ВРег(ВыбрСтрока)) = 0 Тогда

Продолжить;

КонецЕсли;

//Проверка строки комментария

Если ПустаяСтрока(ВыбрСтрокаКом) = 1 Тогда

ИначеЕсли Найти(ВРег(Док.Комментарий),ВРег(ВыбрСтрокаКом)) = 0 Тогда

Продолжить;

КонецЕсли;

//Проверка признака документа

Признак = СписокПризнаков.ПолучитьЗначение(СписокПризнаков.ТекущаяСтрока());

Если Признак = "Проведенные" Тогда

Если Док.Проведен() = 0 Тогда

Продолжить;

КонецЕсли;

ИначеЕсли Признак = "Непроведенные" Тогда

Если (Док.Проведен() = 1) или (Док.Вид() = "Операция") Тогда

Продолжить;

КонецЕсли;

ИначеЕсли Признак = "Помеченные" Тогда

Если Док.ПометкаУдаления() = 0 Тогда

Продолжить;

КонецЕсли;

ИначеЕсли Признак = "НеПомеченные" Тогда

Если Док.ПометкаУдаления() = 1 Тогда

Продолжить;

КонецЕсли;

КонецЕсли;

Состояние("Обработка "+Док.ДатаДок);

НПП=НПП+1;

Если Обработка = "Выкл" Тогда

Если Док.ПометкаУдаления() = 1 Тогда

ИначеЕсли Док.СуществуетОперация() = 0 Тогда

ИначеЕсли Док.Операция.ВключитьПроводки() = 0 Тогда

Иначе

Сообщить("Выключение проводок "+Док);

Док.Операция.ВключитьПроводки(0);

Событие = "ПроводкиВыключены";

Объект = Док.ТекущийДокумент();

Категория = 2;

КонецЕсли;

ИначеЕсли Обработка = "Вкл" Тогда

Если Док.ПометкаУдаления() = 1 Тогда

ИначеЕсли Док.СуществуетОперация() = 0 Тогда

ИначеЕсли Док.Операция.ВключитьПроводки() = 1 Тогда

Иначе

Сообщить("Включение проводок "+Док);

Док.Операция.ВключитьПроводки(1);

Событие = "ПроводкиВключены";

Объект = Док.ТекущийДокумент();

Категория = 2;

КонецЕсли;

ИначеЕсли Обработка = "Пометить" Тогда

Если Док.ПометкаУдаления() = 0 Тогда

Сообщить("Пометка на удаление "+Док);

Док.Удалить(0);

Событие = "ПомеченНаУдаление";

Объект = Док.ТекущийДокумент();

Категория = 2;

КонецЕсли;

ИначеЕсли Обработка = "ОтменитьПометку" Тогда

Если Док.ПометкаУдаления() = 1 Тогда

Сообщить("Отмена пометки на удаление "+Док);

Док.СнятьПометкуУдаления();

Событие = "СнятаПометкаНаУдаление";

Объект = Док.ТекущийДокумент();

Категория = 2;

КонецЕсли;

ИначеЕсли Обработка = "ОтменаПроведения" Тогда

Если Док.Проведен() = 1 Тогда

Сообщить("Отмена проведения "+Док);

Док.СделатьНеПроведенным();

Событие = "СделанНеПроведенным";

Объект = Док.ТекущийДокумент();

Категория = 2;

КонецЕсли;

ИначеЕсли Обработка = "Провести" Тогда

Если Док.ПометкаУдаления() = 1 Тогда

ИначеЕсли СписокНеПроводимыхДокументов.НайтиЗначение(Док.Вид()) = 0 Тогда

Сообщить("Проведение "+Док);

Если МонопольныйРежим() = 1 Тогда

БИ.Рассчитать(, Док.ТекущийДокумент());

КонецЕсли;

Если Док.Провести() = 0 Тогда

Возврат;

КонецЕсли;

Событие = "Проведен";

Объект = Док.ТекущийДокумент();

Категория = 2;

КонецЕсли;

ИначеЕсли Обработка = "Печать" Тогда

Таб.ВывестиСекцию("Строка|Основная");

СуммаВсего = СуммаВсего + Док.Графа("Сумма");

ИначеЕсли Обработка = "ПечатьСКомментарием" Тогда

Таб.ВывестиСекцию("Строка");

СуммаВсего = СуммаВсего + Док.Графа("Сумма");

КонецЕсли;

Если (Обработка = "Печать")

или (Обработка = "ПечатьСКомментарием") Тогда

Иначе

ЗаписьЖурналаРегистрации(Коммент,ТипСобытия,Событие,Объект,Категория);

КонецЕсли;

КонецЦикла;

Если (Обработка = "Печать") или (Обработка = "ПечатьСКомментарием") Тогда

Если Обработка = "Печать" Тогда

Таб.ВывестиСекцию("КонецОтчета|Основная");

Таб.Опции(0, 0, 5, 0, "ОпцииПечатиРеестраКраткаяФорма", "ОкноРеестраКраткаяФорма");

Таб.ТолькоПросмотр(1);

Таб.Показать("Реестр документов");

Таб.ПараметрыСтраницы(1);

Таб.ОбластьПечати(2,2,6+НПП,7);

Иначе

Таб.ВывестиСекцию("КонецОтчета");

Таб.Опции(0, 0, 5, 0, "ОпцииПечатиРеестраСКомментарием", "ОкноРеестраСКомментарием");

Таб.ТолькоПросмотр(1);

Таб.Показать("Реестр документов");

Таб.ПараметрыСтраницы(2);

Таб.ОбластьПечати(2,2,6+НПП,8);

КонецЕсли;

Иначе

Если (Обработка = "Провести") И (МонопольныйРежим() = 1) Тогда

Иначе

ЗафиксироватьТранзакцию();

КонецЕсли;

Предупреждение("Обработка закончена!");

КонецЕсли;

КонецПроцедуры

//_________________________________________________________

Процедура ПриОткрытии()

СписокВидовОбработки.УдалитьВсе();

СписокВидовОбработки.ДобавитьЗначение("Печать", "Печать реестра (краткая форма)");

СписокВидовОбработки.ДобавитьЗначение("ПечатьСКомментарием", "Печать реестра (с комментарием)");

СписокВидовОбработки.ДобавитьЗначение("Выкл", "Выключить проводки");

СписокВидовОбработки.ДобавитьЗначение("Вкл", "Включить проводки");

СписокВидовОбработки.ДобавитьЗначение("Пометить", "Пометить на удаление");

СписокВидовОбработки.ДобавитьЗначение("ОтменитьПометку", "Отменить пометки на удаление");

СписокВидовОбработки.ДобавитьЗначение("ОтменаПроведения", "Сделать не проведенными");

СписокВидовОбработки.ДобавитьЗначение("Провести", "Провести");

СписокПризнаков.УдалитьВсе();

СписокПризнаков.ДобавитьЗначение("Все","Все, удовлетворяющие заданным условиям");

СписокПризнаков.ДобавитьЗначение("Проведенные","Проведенные");

СписокПризнаков.ДобавитьЗначение("Непроведенные","Непроведенные");

СписокПризнаков.ДобавитьЗначение("Помеченные","Помеченные на удаление");

СписокПризнаков.ДобавитьЗначение("НеПомеченные","Не помеченные на удаление");

СписокНеПроводимыхДокументов = СоздатьОбъект("СписокЗначений");

ВсеДокументы.УдалитьВсе();

Для Индекс=1 По Метаданные.Документ() Цикл

Значение = Метаданные.Документ(Индекс).Идентификатор;

Представление = Метаданные.Документ(Индекс).Представление();

Комментарий = Метаданные.Документ(Индекс).Комментарий;

Если ПустаяСтрока(Комментарий) = 0 Тогда

Представление = Представление + " (" + Комментарий +")";

КонецЕсли;

ВсеДокументы.ДобавитьЗначение(Значение, Представление);

Если Метаданные.Документ(Индекс).РазрешитьПроведение = 0 Тогда

СписокНеПроводимыхДокументов.ДобавитьЗначение(Значение, Представление);

КонецЕсли;

КонецЦикла;

Дата1 = НачалоПериодаБИ();

Дата2 = КонецПериодаБИ();

ВсеДокументы.СортироватьПоПредставлению();

ВидОбработки = ВосстановитьЗначение("ВидОбработки");

СписокВидовОбработки.ТекущаяСтрока(СписокВидовОбработки.НайтиЗначение(ВидОбработки));

ВыбрКонтрагент.ВыборГруппы(0);

Если глФлагРасшифровки = 0 Тогда

Обновить = 0;

Иначе

Обновить = глОбновить;

Расшифровка = глРасшифровка;

Дата1 = Расшифровка.Получить("Дата1");

Дата2 = Расшифровка.Получить("Дата2");

Спс = Расшифровка.Получить("ВыбранныеДокументы");

ВыбранныеДокументы.УдалитьВсе();

Спс.Выгрузить(ВыбранныеДокументы);

Спс = Расшифровка.Получить("ВсеДокументы");

ВсеДокументы.УдалитьВсе();

Спс.Выгрузить(ВсеДокументы);

ВыбрКонтрагент = Расшифровка.Получить("ВыбрКонтрагент");

ВыбрСтрока = Расшифровка.Получить("ВыбрСтрока");

ВыбрСтрокаКом = Расшифровка.Получить("ВыбрСтрокаКом");

Признак = Расшифровка.Получить("Признак");

СписокПризнаков.ТекущаяСтрока(СписокПризнаков.НайтиЗначение(Признак));

ВидОбработки = Расшифровка.Получить("ВидОбработки");

СписокВидовОбработки.ТекущаяСтрока(СписокВидовОбработки.НайтиЗначение(ВидОбработки));

Если Обновить <> 0 Тогда

Таб = глТаблица;

КонецЕсли;

Если Обновить <> 2 Тогда

Выполнить(ВидОбработки);

СтатусВозврата(0);

Возврат;

КонецЕсли;

КонецЕсли;

КонецПроцедуры

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.