
- •Содержание
- •1.Теоретическая часть
- •1.1 Характеристика предприятия
- •1.2 Экономическая сущность задачи
- •1.3 Характеристика первичной документации
- •1.4 Техническое задание на разработку
- •Требования к входным данным
- •Требования к выходным данным:
- •2 Практическая часть
- •2.1 Проектирование ис
- •2.1.1 Проектирование структуры ис
- •2.1.2 Проектирование структуры бд
- •2.2 Программная реализация ис
- •2.2.1 Создание метаданных бд
- •2.2.2 Разработка интерфейса пользователя
- •2.2.3 Разработка форм ввода
- •2.2.4 Программы формирования выходных документов
- •2.2.5 Реализация сервисных функций
- •Создание справочной системы
2.2.4 Программы формирования выходных документов
Рапорт о выработке
CLEAR
SET BELL OFF
SET TALK OFF
SET SAFETY OFF
SET DATE GERMAN
USE table3.dbf
INDEX ON n TO n1.idx
codepage=1251
ctxtfile = PUTFILE('Имя файла:', 'Рапорт о выработке', 'html')
htxtfile = FCREATE(ctxtfile)
coutstring ="<html><head><title>Рапорт о выработке </title></head><body bgcolor=#bcdbcd><table border=1>" +;
"<CAPTION>Рапорт о выработке</CAPTION>" +;
"<tr><td>Маршрутный лист №</td><td>Таб.№</td><td>Рабочий</td><td>Разряд</td><td>Партия №</td><td>Деталь</td><td>Процесс</td><td>Количество</td><td>Дата</td><td>Время</td><td>з\п. начисленная</td></tr>"
GO TOP
SUMv=0
DO WHILE ! EOF()
suma=0
n1=n
DO WHILE (n1=n)
a=0
a=raz*kol
coutstring =coutstring+ "<tr><td align=center>"+STR(n,3) + "</td><td align=center>" + STR(tn,4) + "</td><td align=center>"+ rab + "</td><td align=center>"+ STR(raz,4) + "</td><td align=center>"+ STR(n_par,4) +"</td><td align=center>"+detal+"</td><td align=center>"+rabo+"</td><td align=center>"+STR(kol,4)+"</td><td align=center>"+DTOC(dt)+"</td><td align=center>"+STR(vrem,4)+"</td><td align=center>"+STR(a,11,2) +"</td></tr align=center>"
skip
suma=suma+a
ENDDO
coutstring =coutstring+"<tr><td>Итого по Маршрутному листу: </td> </td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td align=center>" + str(suma,14,2) + "</td>"
sumv=sumv+suma
ENDDO
CLOSE TABLES
coutstring =coutstring+"<tr><td>Всего з\п: </td> </td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td align=center>" + str(sumv,14,2) + "</td>"
coutstring =coutstring+ "</table></body></html>"
nWriteResult = FPUTS(htxtfile,coutstring)
FCLOSE(htxtfile)
browser=CREATEOBJECT('InternetExplorer.Application')
browser.visible=.t.
browser.Navigate('&ctxtfile')
Рис.2.17 Ведомость начисления зарплаты работникам по нарядам
CLEAR
SET BELL OFF
SET TALK OFF
SET SAFETY OFF
SET DATE GERMAN
USE table2.dbf
INDEX ON n TO n1.idx
codepage=1251
ctxtfile = PUTFILE('Имя файла:', 'Ведомость начисления з.п работникам по нарядам', 'html')
htxtfile = FCREATE(ctxtfile)
coutstring ="<html><head><title>Ведомость начисления з\п </title></head><body bgcolor=#bcdbcd><table border=1>" +;
"<CAPTION>Ведомость начисления зарплаты работникам по нарядам</CAPTION>" +;
"<tr><td>Наряд №</td><td>Таб. №</td><td>Рабочий</td><td>Профессия</td><td>Цех</td><td>Работа</td><td>Разряд</td><td>ед.изм.</td><td>Количество</td><td>Дата</td><td>з\п. начисленная</td></tr>"
GO TOP
SUMv=0
DO WHILE ! EOF()
suma=0
n1=n
DO WHILE (n1=n)
a=0
a=raz*kol
coutstring =coutstring+ "<tr><td align=center>"+STR(n,3) + "</td><td align=center>" + STR(tn,4) + "</td><td align=CENTER>"+ rab + "</td><td align=center>"+ pr + "</td><td align=center>"+ STR(cex,1) +"</td><td align=center>"+rabo+"</td><td align=center>"+STR(raz,5)+"</td><td align=center>"+ed+"</td><td align=center>"+STR(kol,6)+"</td><td align=center>"+DTOC(dt)+"</td><td align=center>"+STR(a,11,2) +"</td></tr align=center>"
SKIP
suma=suma+a
sumv=sumv+suma
ENDDO
ENDDO
CLOSE TABLES
coutstring =coutstring+"<tr><td>Итого:</td> </td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td align=center>" + str(sumv,14,2) + "</td>"
coutstring =coutstring+ "</table></body></html>"
nWriteResult = FPUTS(htxtfile,coutstring)
FCLOSE(htxtfile)
browser=CREATEOBJECT('InternetExplorer.Application')
browser.visible=.t.
browser.Navigate('&ctxtfile')
Рис.2.18 Расчетно-платежная ведомость
CLEAR
SET BELL OFF
SET TALK OFF
SET SAFETY OFF
SET DATE GERMAN
SELECT a
USE table3.dbf
INDEX ON tn TO table3.idx
SELECT b
USE таблица1.dbf
INDEX ON tn TO таблица1.idx
SELECT c
USE table2.dbf
INDEX ON tn TO table2.idx
SELECT a
SET RELATION TO tn INTO b
SELECT c
SET RELATION TO tn INTO b
codepage=1251
ctxtfile = PUTFILE('Имя файла:', 'РАСЧЕТНО-ПЛАТЕЖНАЯ ВЕДОМОСТЬ ', 'html')
htxtfile = FCREATE(ctxtfile)
SELECT a
coutstring ="<html><head><title>РАСЧЕТНО-ПЛАТЕЖНАЯ ВЕДОМОСТЬ</title></head><body bgcolor=#bcdbcd><table border=1>" +;
"<CAPTION>РАСЧЕТНО-ПЛАТЕЖНАЯ ВЕДОМОСТЬ</CAPTION>" +;
"<tr><td>таб.ном.</td><td>Должность</td><td>ФИО</td><td>Разряд</td><td>Количество</td><td>Начислено</td><td>Сумма к выдаче</td><td>Дата</td><td>НДФЛ</td><td>Подпись</td></tr>"
vsego=0
SUMW=0
v=0
DO WHILE ! EOF()
tn1=tn
ndfl=0
DO WHILE (tn1=tn)
SCAN
Vsego=a.raz*a.kol
NDFL=(Vsego-400-(b.kold*600))*0.13
sumw=vsego-NDFL
coutstring =coutstring+ "<tr><td align=center>"+STR(a.tn,4) + "</td><td align=center>" + b.dol + "</td><td>"+ a.rab +"</td><td>"+STR(a.raz) + "</td><td>"+ STR(a.kol,8) +"</td><td>"+STR(vsego,10,2)+"</td><td>"+STR(sumw,10,2)+"</td><td>"+DTOC(a.dt)+"</td><td>"+STR(ndfl,8,2) +"</td><td></td></tr>"
v=v+sumw
ENDSCAN
ENDDO
ENDDO
SELECT c
vsego=0
SUMW=0
DO WHILE ! EOF()
tn1=tn
ndfl=0
DO WHILE (tn1=tn)
SCAN
Vsego=c.raz*c.kol
NDFL=(Vsego-400-(b.kold*600))*0.13
sumw=vsego-NDFL
coutstring =coutstring+ "<tr><td align=center>"+STR(c.tn,4) + "</td><td align=center>" + b.dol + "</td><td>"+ c.rab +"</td><td>"+STR(c.raz) + "</td><td>"+ STR(c.kol,8) +"</td><td>"+STR(vsego,10,2)+"</td><td>"+STR(sumw,10,2)+"</td><td>"+DTOC(c.dt)+"</td><td>"+STR(ndfl,8,2) +"</td><td></td></tr>"
v=v+sumw
ENDSCAN
ENDDO
ENDDO
CLOSE TABLES
coutstring =coutstring+"<tr><td>Итого:</td> </td><td></td><td></td><td></td><td></td><td></td><td>" + str(v,14,2) + "</td>"
coutstring =coutstring+ "</table></body></html>"
nWriteResult = FPUTS(htxtfile,coutstring)
FCLOSE(htxtfile)
browser=CREATEOBJECT('InternetExplorer.Application')
browser.visible=.t.
browser.Navigate('&ctxtfile')
Рис.2.19
Расчетная ведомость