Начисления индивидуальной сдельной заработной платы на СЦ "Технокомп"
Характеристика деятельности предприятия СЦ "Технокомп", первичная документация. Учет выработки при сдельной форме оплаты труда. Проектирование структуры информационной системы, базы данных. Разработка интерфейса пользователя. Реализация сервисных функций.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 28.09.2014 |
Размер файла | 4,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
thisform.text2.ReadOnly= .T.
thisform.text3.ReadOnly= .T.
thisform.text4.ReadOnly= .T.
thisform.text5.ReadOnly= .T.
thisform.text7.ReadOnly= .T.
thisform.text8.ReadOnly= .T.
thisform.Text1.Value=0
thisform.Text2.Value=''
thisform.Text3.Value=''
thisform.Text4.Value=0
thisform.Text5.Value=0
thisform.Text7.Value=''
thisform.Text8.Value=''
thisform.Refresh()
ENDIF
Кнопка «Отмена» (click):
thisform.grid1.ReadOnly= .T.
thisform.text1.ReadOnly= .T.
thisform.text2.ReadOnly= .T.
thisform.text3.ReadOnly= .T.
thisform.text4.ReadOnly= .T.
thisform.text5.ReadOnly= .T.
thisform.text7.ReadOnly= .T.
thisform.text8.ReadOnly= .T.
thisform.text9.ReadOnly= .F.
thisform.text1.Value=0
thisform.text2.Value=''
thisform.text3.Value=''
thisform.text4.Value=0
thisform.text5.Value=0
thisform.text7.Value=''
thisform.text8.Value=''
thisform.text9.Value=''
Кнопка «Применить»(click):
IF EMPTY(thisform.Text1.Value)=.t. AND thisform.Text1.ReadOnly= .T.
MESSAGEBOX("Нет объекта для сохранения...Нажмите 'изменить' !!!",0,"ВНИМАНИЕ !!!")
ELSE
IF MESSAGEBOX("Вы хотите применить изменения ?",4,"Внимание...")=6
SELECT Таблица1
REPLACE tn WITH thisform.Text1.Value, fio WITH thisform.Text2.Value, dol WITH thisform.Text3.Value, kold with thisform.Text4.Value, stz WITH thisform.Text5.Value, adr WITH thisform.Text7.Value, obr WITH thisform.Text8.Value
WITH thisform
.Text1.value=0
.Text2.value=""
.Text3.value=""
.Text4.value=0
.Text5.value=0
.Text7.value=""
.Text8.value=""
.Text1.readonly=.t.
.Text2.readonly=.t.
.Text3.readonly=.t.
.Text4.readonly=.t.
.Text5.readonly=.t.
.Text7.readonly=.t.
.Text8.readonly=.t.
.refresh
ENDWITH
ELSE
WITH thisform
.Text1.value=0
.Text2.value=""
.Text3.value=""
.Text4.value=0
.Text5.value=0
.Text7.value=""
.Text8.value=""
.Text1.readonly=.t.
.Text2.readonly=.t.
.Text3.readonly=.t.
.Text4.readonly=.t.
.Text5.readonly=.t.
.Text7.readonly=.t.
.Text8.readonly=.t.
.refresh
ENDWITH
ENDIF
endif
thisform.Refresh
Кнопка «Выход» (click):
CLOSE TABLES
Thisform.Release(
Рис. 2.14 - Форма: narad.scx
Формa INIT:
PUBLIC put
put=SYS(5)+ALLTRIM(SYS(2003))
SET PATH TO &put
SET TALK OFF
OPEN DATABASE 1
USE table2 EXCLUSIVE
thisform.Closable= .F.
WITH thisform
.grid1.RecordSource=.null.
.grid1.RecordSource="table2"
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txtdt.value={}
.txttn.readonly=.t.
.txtcex.readonly=.t.
.txtrab.readonly=.t.
.txtpr.readonly=.t.
.txtraz.readonly=.t.
.txtn.readonly=.t.
.txtrabo.readonly=.t.
.txted.readonly=.t.
.txtkol.readonly=.t.
.txtdt.readonly=.t.
ENDWITH
WITH thisform.grid1
.coLUMN1.width=100
.coLUMN2.width=100
.coLUMN3.width=100
.coLUMN4.width=100
.coLUMN5.width=100
.coLUMN6.width=100
.coLUMN7.width=100
.coLUMN8.width=100
.coLUMN9.width=100
.coLUMN10.width=100
ENDWITH
thisform.Refresh
Формa KeyPress:
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
IF MESSAGEBOX("Вы хотите выйти ?",4,"Внимание")=6
thisform.Release
ELSE
thisform.Refresh
ENDIF
ENDIF
Кнопка «Новая » (click):
WITH thisform
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txtdt.value={}
.txttn.readonly=.f.
.txtcex.readonly=.f.
.txtrab.readonly=.f.
.txtpr.readonly=.f.
.txtraz.readonly=.f.
.txtn.readonly=.f.
.txtrabo.readonly=.f.
.txted.readonly=.f.
.txtkol.readonly=.f.
.txtdt.readonly=.f.
.refresh
ENDWITH
Кнопка «Сохранить» (click):
SET SAFETY OFF
IF thisform.txtn.ReadOnly= .T.
MESSAGEBOX("Нажмите кнопку 'Новая'...",0,"Внимание !!!")
thisform.Refresh
ELSE
IF EMPTY(thisform.txtn.Value)=.f. AND EMPTY(thisform.txttn.Value)=.f. AND EMPTY(thisform.txtcex.Value)=.f. AND EMPTY(thisform.txtrab.Value)=.f. AND EMPTY(thisform.txtpr.Value)=.f. AND EMPTY(thisform.txtraz.Value)=.f. AND EMPTY(thisform.txtkol.Value)=.f.AND EMPTY(thisform.txtrabo.Value)=.f.AND EMPTY(thisform.txted.Value)=.f. AND EMPTY(thisform.txtdt.Value)=.f.
SELECT table2
INDEX on n TO table2.idx
IF SEEK(thisform.txtn.Value)
IF MESSAGEBOX("Запись существует. Заменить ?",4,"Внимание !!!")=6
REPLACE n WITH thisform.txtn.Value, tn WITH thisform.txttn.Value,;
cex WITH thisform.txtcex.Value, rab WITH thisform.txtrab.Value,;
pr WITH thisform.txtpr.Value, raz WITH thisform.txtraz.Value,;
kol WITH thisform.txtkol.Value, rabo WITH thisform.txtrabo.Value, ed WITH thisform.txted.Value, dt WITH thisform.txtdt.Value
thisform.Refresh
WITH thisform
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txtdt.value={}
.txttn.readonly=.t.
.txtcex.readonly=.t.
.txtrab.readonly=.t.
.txtpr.readonly=.t.
.txtraz.readonly=.t.
.txtn.readonly=.t.
.txtrabo.readonly=.t.
.txted.readonly=.t.
.txtkol.readonly=.t.
.txtdt.readonly=.t.
.refresh
ENDWITH
ELSE
WITH thisform
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txtdt.value={}
ENDWITH
thisform.Refresh
ENDIF
ELSE
tn1=thisform.txttn.Value
cex1=thisform.txtcex.Value
rab1=thisform.txtrab.Value
pr1=thisform.txtpr.Value
raz1=thisform.txtraz.Value
n1=thisform.txtn.Value
rabo1=thisform.txtrabo.Value
ed1=thisform.txted.Value
kol1=thisform.txtkol.Value
dt1=thisform.txtdt.Value
INSERT INTO table2(tn,cex,rab,pr,raz,n,kol,rabo,ed,dt) VALUES (tn1,cex1,rab1,pr1,raz1,n1,kol1,rabo1,ed1,dt1)
WITH thisform
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txtdt.value={}
.txttn.readonly=.t.
.txtcex.readonly=.t.
.txtrab.readonly=.t.
.txtpr.readonly=.t.
.txtraz.readonly=.t.
.txtn.readonly=.t.
.txtrabo.readonly=.t.
.txted.readonly=.t.
.txtkol.readonly=.t.
.txtdt.readonly=.t.
.refresh
ENDWITH
ENDIF
ELSE
MESSAGEBOX("Заполните все поля...",0,"Внимание !!!")
WITH thisform
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txtdt.value={}
.refresh
ENDWITH
ENDIF
ENDIF
Кнопка «Отмена» (click):
WITH thisform
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtdt.value={}
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txttn.readonly=.t.
.txtcex.readonly=.t.
.txtrab.readonly=.t.
.txtpr.readonly=.t.
.txtraz.readonly=.t.
.txtn.readonly=.t.
.txtdt.readonly=.t.
.txtrabo.readonly=.t.
.txted.readonly=.t.
.txtkol.readonly=.t.
.refresh
ENDWITH
Кнопка «Удалить» (click):
IF MESSAGEBOX("Вы хотите удалить запись ?",4,"Внимание !!!")=6
SELECT table2
IF DELETED()
PACK
WITH thisform
.grid1.RecordSource=.null.
.grid1.RecordSource="table2"
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtdt.value={}
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txttn.readonly=.t.
.txtcex.readonly=.t.
.txtrab.readonly=.t.
.txtpr.readonly=.t.
.txtraz.readonly=.t.
.txtn.readonly=.t.
.txtdt.readonly=.t.
.txtrabo.readonly=.t.
.txted.readonly=.t.
.txtkol.readonly=.t.
.refresh
ENDWITH
WITH thisform.grid1
.coLUMN1.width=100
.coLUMN2.width=100
.coLUMN3.width=100
.coLUMN4.width=100
.coLUMN5.width=100
.coLUMN6.width=100
.coLUMN7.width=100
.coLUMN8.width=100
.coLUMN9.width=100
.coLUMN10.width=100
ENDWITH
ELSE
DELETE
PACK
WITH thisform
.grid1.RecordSource=.null.
.grid1.RecordSource="table2"
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtdt.value={}
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txttn.readonly=.t.
.txtcex.readonly=.t.
.txtrab.readonly=.t.
.txtpr.readonly=.t.
.txtraz.readonly=.t.
.txtn.readonly=.t.
.txtdt.readonly=.t.
.txtrabo.readonly=.t.
.txted.readonly=.t.
.txtkol.readonly=.t.
.refresh
ENDWITH
WITH thisform.grid1
.coLUMN1.width=100
.coLUMN2.width=100
.coLUMN3.width=100
.coLUMN4.width=100
.coLUMN5.width=100
.coLUMN6.width=100
.coLUMN7.width=100
.coLUMN8.width=100
.coLUMN9.width=100
.coLUMN10.width=100
ENDWITH
ENDIF
ELSE
WITH thisform
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtdt.value={}
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txttn.readonly=.t.
.txtcex.readonly=.t.
.txtrab.readonly=.t.
.txtpr.readonly=.t.
.txtraz.readonly=.t.
.txtn.readonly=.t.
.txtdt.readonly=.t.
.txtrabo.readonly=.t.
.txted.readonly=.t.
.txtkol.readonly=.t.
.refresh
ENDWITH
WITH thisform.grid1
.coLUMN1.width=100
.coLUMN2.width=100
.coLUMN3.width=100
.coLUMN4.width=100
.coLUMN5.width=100
.coLUMN6.width=100
.coLUMN7.width=100
.coLUMN8.width=100
.coLUMN9.width=100
.coLUMN10.width=100
ENDWITH
ENDIF
Кнопка «Изменить»(click):
IF MESSAGEBOX("Вы хотите изменить запись ?",4,"Внимание...")=6
SELECT table2
tn1=tn
cex1=cex
rab1=rab
pr1=pr
raz1=raz
n1=n
dt1=dt
rabo1=rabo
ed1=ed
kol1=kol
thisform.txttn.Value=tn1
thisform.txtcex.Value=cex1
thisform.txtrab.Value=rab1
thisform.txtpr.Value=pr1
thisform.txtraz.Value=raz1
thisform.txtn.Value=n1
thisform.txtdt.Value=dt1
thisform.txtrabo.Value=rabo1
thisform.txted.Value=ed1
thisform.txtkol.Value=kol1
WITH thisform
.txttn.readonly=.f.
.txtcex.readonly=.f.
.txtrab.readonly=.f.
.txtpr.readonly=.f.
.txtraz.readonly=.f.
.txtn.readonly=.f.
.txtdt.readonly=.f.
.txtrabo.readonly=.f.
.txted.readonly=.f.
.txtkol.readonly=.f.
.refresh
ENDWITH
ELSE
thisform.Refresh
ENDIF
Кнопка «Применить»(click):
IF EMPTY(thisform.txtn.Value)=.t. AND thisform.txtn.ReadOnly= .T.
MESSAGEBOX("Нет объекта для сохранения...Нажмите 'изменить' !!!",0,"ВНИМАНИЕ !!!")
ELSE
IF MESSAGEBOX("Вы хотите применить изменения ?",4,"Внимание...")=6
SELECT table2
REPLACE n WITH thisform.txtn.Value, tn WITH thisform.txttn.Value,;
cex WITH thisform.txtcex.Value, rab WITH thisform.txtrab.Value,;
pr WITH thisform.txtpr.Value, raz WITH thisform.txtraz.Value,;
dt WITH thisform.txtdt.Value, rabo WITH thisform.txtrabo.Value, ed WITH thisform.txted.Value, kol WITH thisform.txtkol.Value
WITH thisform
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtdt.value={}
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txttn.readonly=.t.
.txtcex.readonly=.t.
.txtrab.readonly=.t.
.txtpr.readonly=.t.
.txtraz.readonly=.t.
.txtn.readonly=.t.
.txtdt.readonly=.t.
.txtrabo.readonly=.t.
.txted.readonly=.t.
.txtkol.readonly=.t.
.refresh
ENDWITH
ELSE
WITH thisform
.txttn.value=0
.txtcex.value=0
.txtrab.value=""
.txtpr.value=""
.txtraz.value=0
.txtn.value=0
.txtdt.value={}
.txtrabo.value=""
.txted.value=""
.txtkol.value=0
.txttn.readonly=.t.
.txtcex.readonly=.t.
.txtrab.readonly=.t.
.txtpr.readonly=.t.
.txtraz.readonly=.t.
.txtn.readonly=.t.
.txtdt.readonly=.t.
.txtrabo.readonly=.t.
.txted.readonly=.t.
.txtkol.readonly=.t.
.refresh
ENDWITH
ENDIF
ENDIF
Кнопка «Поиск» (click):
SET SAFETY OFF
IF EMPTY(thisform.text1.Value)=.t.
MESSAGEBOX("Введите данные для поиска...",0,"Внимание!")
ELSE
CLOSE INDEXES
SELECT table2
INDEX on n TO table2.idx
*stroka=upper(thisform.text1.Value)
stroka=thisform.text1.Value
IF seek (stroka)
MESSAGEBOX("Запись найдена!",0,"Внимание!")
thisform.text1.Value=0
thisform.Refresh
ELSE
MESSAGEBOX("Запись ненайдена!",0,"Внимание!")
thisform.text1.Value=0
thisform.Refresh
ENDIF
ENDIF
Кнопка «Export в HTML» (click):
codepage=1251
ctxtfile = PUTFILE('Имя файла:', 'report', 'html')
htxtfile = FCREATE(ctxtfile)
SELECT table2
coutstring ="<html><head><title>Отчёт</title></head><body bgcolor=#bcdbcd><table border=1>" +;
"<tr><td>Наряд №</td><td>Таб.ном.</td><td>Цех</td><td>Сотрудник</td><td>Профессия</td><td>Разряд</td><td>Дата</td><td>Работа</td><td>ед.изм.</td><td>Количество</td></tr>"
SCAN
coutstring =coutstring+ "<tr><td>"+STR(n) + "</td><td>"+STR(tn) + "</td><td>"+STR(cex) + "</td><td>"+rab + "</td><td>"+pr + "</td><td>"+STR(raz) + "</td><td>"+DTOC(dt) + "</td><td>"+rabo + "</td><td>"+ed + "</td><td>"+STR(kol) + "</td></tr>"
ENDSCAN
coutstring =coutstring+ "</table></body></html>"
nWriteResult = FPUTS(htxtfile,coutstring)
FCLOSE(htxtfile)
browser=CREATEOBJECT('InternetExplorer.Application')
browser.visible=.t.
browser.Navigate('&ctxtfile')
Кнопка «Отчет в Excel» (click):
PUBLIC w
w=SYS(5)+ALLTRIM(SYS(2003))
SET PATH TO &w
SELECT table2
xls1=CREATEOBJECT("Excel.Application")
xls1.visible=.t.
xls1.workbooks.add
xls1=xls1.Sheets[1]
SELECT table2
xls1.cells(1,1).value='Наряд №'
xls1.cells(1,2).value='Таб.ном.'
xls1.cells(1,3).value='Цех'
xls1.cells(1,4).value='Сотрудник'
xls1.cells(1,5).value='Профессия'
xls1.cells(1,6).value='Разряд'
xls1.cells(1,7).value='Дата'
xls1.cells(1,8).value='Работа'
xls1.cells(1,9).value='ед.изм.'
xls1.cells(1,10).value='Количество'
nRov=1
SCAN
nRov=nRov+1
xls1.cells(nRov,1).value=table2.n
xls1.cells(nRov,2).value=table2.tn
xls1.cells(nRov,3).value=table2.cex
xls1.cells(nRov,4).value=table2.rab
xls1.cells(nRov,5).value=table2.pr
xls1.cells(nRov,6).value=table2.raz
xls1.cells(nRov,7).value=table2.dt
xls1.cells(nRov,8).value=table2.rabo
xls1.cells(nRov,9).value=table2.ed
xls1.cells(nRov,10).value=table2.kol
ENDSCAN
Поле Got Focus:
IF thisform.txtTn.ReadOnly=.f.
SELECT таблица1
index on tn to tn.idx
LOCATE FOR tn=thisform.txttn.Value
a=fio
b=dol
c=stz
thisform.txtrab.Value=a
thisform.txtpr.Value=b
thisform.txtRaz.Value=c
ENDIF
Рис. 2.15 - Форма: m_list.scx
Формa INIT:
PUBLIC put
put=SYS(5)+ALLTRIM(SYS(2003))
SET PATH TO &put
SET TALK OFF
OPEN DATABASE 1
USE table3 EXCLUSIVE
thisform.Closable= .F.
WITH thisform
.grid1.RecordSource=.null.
.grid1.RecordSource="table3"
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
.txttn.readonly=.t.
.txtn_par.readonly=.t.
.txtrabo.readonly=.t.
.txtraz.readonly=.t.
.txtkol.readonly=.t.
.txtdetal.readonly=.t.
.txtrab.readonly=.t.
.txtvrem.readonly=.t.
.txtrac.readonly=.t.
.txtdt.readonly=.t.
.txtn.readonly=.t.
ENDWITH
WITH thisform.grid1
.coLUMN1.width=100
.coLUMN2.width=100
.coLUMN3.width=100
.coLUMN4.width=100
.coLUMN5.width=100
.coLUMN6.width=100
.coLUMN7.width=100
.coLUMN8.width=100
.coLUMN9.width=100
.coLUMN10.width=100
.coLUMN11.width=100
ENDWITH
thisform.Refresh
Формa KeyPress:
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
IF MESSAGEBOX("Вы хотите выйти ?",4,"Внимание")=6
thisform.Release
ELSE
thisform.Refresh
ENDIF
ENDIF
Кнопка «Новая » (click):
WITH thisform
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
.txttn.readonly=.f.
.txtn_par.readonly=.f.
.txtrabo.readonly=.f.
.txtraz.readonly=.f.
.txtkol.readonly=.f.
.txtdetal.readonly=.f.
.txtrab.readonly=.f.
.txtvrem.readonly=.f.
.txtrac.readonly=.f.
.txtdt.readonly=.f.
.txtn.readonly=.f.
.refresh
ENDWITH
Кнопка «Сохранить» (click):
SET SAFETY OFF
IF thisform.txttn.ReadOnly= .T.
MESSAGEBOX("Нажмите кнопку 'Новая'...",0,"Внимание !!!")
thisform.Refresh
ELSE
IF EMPTY(thisform.txtn.Value)=.f. AND EMPTY(thisform.txttn.Value)=.f. AND EMPTY(thisform.txtn_par.Value)=.f. AND EMPTY(thisform.txtrabo.Value)=.f. AND EMPTY(thisform.txtraz.Value)=.f. AND EMPTY(thisform.txtkol.Value)=.f. AND EMPTY(thisform.txtdetal.Value)=.f.AND EMPTY(thisform.txtrab.Value)=.f.AND EMPTY(thisform.txtvrem.Value)=.f. AND EMPTY(thisform.txtrac.Value)=.f. AND EMPTY(thisform.txtdt.Value)=.f.
SELECT table3
INDEX on tn TO table3.idx
IF SEEK(thisform.txttn.Value)
IF MESSAGEBOX("Запись существует. Заменить ?",4,"Внимание !!!")=6
REPLACE n WITH thisform.txtn.Value, tn WITH thisform.txttn.Value,;
rabo WITH thisform.txtrabo.Value, raz WITH thisform.txtraz.Value,;
kol WITH thisform.txtkol.Value, detal WITH thisform.txtdetal.Value,;
rab WITH thisform.txtrab.Value, vrem WITH thisform.txtvrem.Value, rac WITH thisform.txtrac.Value, dt WITH thisform.txtdt.Value, n_par WITH thisform.txtn_par.Value
thisform.Refresh
WITH thisform
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
.txttn.readonly=.t.
.txtn_par.readonly=.t.
.txtrabo.readonly=.t.
.txtraz.readonly=.t.
.txtkol.readonly=.t.
.txtdetal.readonly=.t.
.txtrab.readonly=.t.
.txtvrem.readonly=.t.
.txtrac.readonly=.t.
.txtdt.readonly=.t.
.txtn.readonly=.t.
.refresh
ENDWITH
ELSE
WITH thisform
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
ENDWITH
thisform.Refresh
ENDIF
ELSE
tn1=thisform.txttn.Value
n_par1=thisform.txtn_par.Value
rab1=thisform.txtrab.Value
detal1=thisform.txtdetal.Value
raz1=thisform.txtraz.Value
n1=thisform.txtn.Value
rabo1=thisform.txtrabo.Value
rac1=thisform.txtrac.Value
kol1=thisform.txtkol.Value
dt1=thisform.txtdt.Value
vrem1=thisform.txtvrem.Value
INSERT INTO table3(tn,n_par,rab,detal,raz,n,rabo,rac,kol,dt,vrem) VALUES (tn1,n_par1,rab1,detal1,raz1,n1,rabo1,rac1,kol1,dt1,vrem1)
WITH thisform
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
.txttn.readonly=.t.
.txtn_par.readonly=.t.
.txtrabo.readonly=.t.
.txtraz.readonly=.t.
.txtkol.readonly=.t.
.txtdetal.readonly=.t.
.txtrab.readonly=.t.
.txtvrem.readonly=.t.
.txtrac.readonly=.t.
.txtdt.readonly=.t.
.txtn.readonly=.t.
.refresh
ENDWITH
ENDIF
ELSE
MESSAGEBOX("Заполните все поля...",0,"Внимание !!!")
WITH thisform
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
.refresh
ENDWITH
ENDIF
ENDIF
Кнопка «Отмена» (click):
WITH thisform
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
.txttn.readonly=.t.
.txtn_par.readonly=.t.
.txtrabo.readonly=.t.
.txtraz.readonly=.t.
.txtkol.readonly=.t.
.txtdetal.readonly=.t.
.txtrab.readonly=.t.
.txtvrem.readonly=.t.
.txtrac.readonly=.t.
.txtdt.readonly=.t.
.txtn.readonly=.t.
.refresh
ENDWITH
Кнопка «Удалить» (click):
IF MESSAGEBOX("Вы хотите удалить запись ?",4,"Внимание !!!")=6
SELECT table3
IF DELETED()
PACK
WITH thisform
.grid1.RecordSource=.null.
.grid1.RecordSource="table3"
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
.txttn.readonly=.t.
.txtn_par.readonly=.t.
.txtrabo.readonly=.t.
.txtraz.readonly=.t.
.txtkol.readonly=.t.
.txtdetal.readonly=.t.
.txtrab.readonly=.t.
.txtvrem.readonly=.t.
.txtrac.readonly=.t.
.txtdt.readonly=.t.
.txtn.readonly=.t.
.refresh
ENDWITH
WITH thisform.grid1
.coLUMN1.width=100
.coLUMN2.width=100
.coLUMN3.width=100
.coLUMN4.width=100
.coLUMN5.width=100
.coLUMN6.width=100
.coLUMN7.width=100
.coLUMN8.width=100
.coLUMN9.width=100
.coLUMN10.width=100
.coLUMN11.width=100
ENDWITH
ELSE
DELETE
PACK
WITH thisform
.grid1.RecordSource=.null.
.grid1.RecordSource="table3"
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
.txttn.readonly=.t.
.txtn_par.readonly=.t.
.txtrabo.readonly=.t.
.txtraz.readonly=.t.
.txtkol.readonly=.t.
.txtdetal.readonly=.t.
.txtrab.readonly=.t.
.txtvrem.readonly=.t.
.txtrac.readonly=.t.
.txtdt.readonly=.t.
.txtn.readonly=.t.
.refresh
ENDWITH
WITH thisform.grid1
.coLUMN1.width=100
.coLUMN2.width=100
.coLUMN3.width=100
.coLUMN4.width=100
.coLUMN5.width=100
.coLUMN6.width=100
.coLUMN7.width=100
.coLUMN8.width=100
.coLUMN9.width=100
.coLUMN10.width=100
.coLUMN11.width=100
ENDWITH
ENDIF
ELSE
WITH thisform
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
.txttn.readonly=.t.
.txtn_par.readonly=.t.
.txtrabo.readonly=.t.
.txtraz.readonly=.t.
.txtkol.readonly=.t.
.txtdetal.readonly=.t.
.txtrab.readonly=.t.
.txtvrem.readonly=.t.
.txtrac.readonly=.t.
.txtdt.readonly=.t.
.txtn.readonly=.t.
.refresh
ENDWITH
WITH thisform.grid1
.coLUMN1.width=100
.coLUMN2.width=100
.coLUMN3.width=100
.coLUMN4.width=100
.coLUMN5.width=100
.coLUMN6.width=100
.coLUMN7.width=100
.coLUMN8.width=100
.coLUMN9.width=100
.coLUMN10.width=100
.coLUMN11.width=100
ENDWITH
ENDIF
Кнопка «Изменить»(click):
IF MESSAGEBOX("Вы хотите изменить запись ?",4,"Внимание...")=6
SELECT table3
tn1=tn
n_par1=n_par
rab1=rab
detal1=detal
raz1=raz
n1=tn
rabo1=rabo
rac1=rac
kol1=kol
dt1=dt
vrem1=vrem
thisform.txttn.Value=tn1
thisform.txtn_par.Value=n_par1
thisform.txtrab.Value=rab1
thisform.txtdetal.Value=detal1
thisform.txtraz.Value=raz1
thisform.txtn.Value=n1
thisform.txtrabo.Value=rabo1
thisform.txtrac.Value=rac1
thisform.txtkol.Value=kol1
thisform.txtdt.Value=dt1
thisform.txtvrem.Value=vrem1
WITH thisform
.txttn.readonly=.f.
.txtn_par.readonly=.f.
.txtrabo.readonly=.f.
.txtraz.readonly=.f.
.txtkol.readonly=.f.
.txtdetal.readonly=.f.
.txtrab.readonly=.f.
.txtvrem.readonly=.f.
.txtrac.readonly=.f.
.txtdt.readonly=.f.
.txtn.readonly=.f.
.refresh
ENDWITH
ELSE
thisform.Refresh
ENDIF
Кнопка «Применить»(click):
IF EMPTY(thisform.txtn.Value)=.t. AND thisform.txtn.ReadOnly= .T.
MESSAGEBOX("Нет объекта для сохранения...Нажмите 'изменить' !!!",0,"ВНИМАНИЕ !!!")
ELSE
IF MESSAGEBOX("Вы хотите применить изменения ?",4,"Внимание...")=6
SELECT table3
REPLACE n WITH thisform.txtn.Value, tn WITH thisform.txttn.Value,;
rabo WITH thisform.txtrabo.Value, raz WITH thisform.txtraz.Value,;
kol WITH thisform.txtkol.Value, detal WITH thisform.txtdetal.Value,;
rab WITH thisform.txtrab.Value, vrem WITH thisform.txtvrem.Value, rac WITH thisform.txtrac.Value, dt WITH thisform.txtdt.Value, n_par WITH thisform.txtn_par.Value
WITH thisform
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
.txttn.readonly=.t.
.txtn_par.readonly=.t.
.txtrabo.readonly=.t.
.txtraz.readonly=.t.
.txtkol.readonly=.t.
.txtdetal.readonly=.t.
.txtrab.readonly=.t.
.txtvrem.readonly=.t.
.txtrac.readonly=.t.
.txtdt.readonly=.t.
.txtn.readonly=.t.
.refresh
ENDWITH
ELSE
WITH thisform
.txttn.value=0
.txtn_par.value=0
.txtrabo.value=""
.txtraz.value=0
.txtkol.value=0
.txtdetal.value=""
.txtrab.value=""
.txtvrem.value=0
.txtrac.value=0
.txtdt.value={}
.txtn.value=0
.txttn.readonly=.t.
.txtn_par.readonly=.t.
.txtrabo.readonly=.t.
.txtraz.readonly=.t.
.txtkol.readonly=.t.
.txtdetal.readonly=.t.
.txtrab.readonly=.t.
.txtvrem.readonly=.t.
.txtrac.readonly=.t.
.txtdt.readonly=.t.
.txtn.readonly=.t.
.refresh
ENDWITH
ENDIF
ENDIF
Кнопка «Выход» (click):
IF MESSAGEBOX("Вы хотите выйти ?",4,"Внимание")=6
thisform.Release
ELSE
thisform.Refresh
ENDIF
Кнопка «Поиск » (click):
SET SAFETY OFF
IF EMPTY(thisform.text1.Value)=.t.
MESSAGEBOX("Введите данные для поиска...",0,"Внимание!")
ELSE
CLOSE INDEXES
SELECT table3
INDEX on n TO table3.idx
*stroka=upper(thisform.text1.Value)
stroka=thisform.text1.Value
IF seek (stroka)
MESSAGEBOX("Запись найдена!",0,"Внимание!")
thisform.text1.Value=0
thisform.Refresh
ELSE
MESSAGEBOX("Запись ненайдена!",0,"Внимание!")
thisform.text1.Value=0
thisform.Refresh
ENDIF
ENDIF
Кнопка «Export в HTML» (click):
codepage=1251
ctxtfile = PUTFILE('Имя файла:', 'report', 'html')
htxtfile = FCREATE(ctxtfile)
SELECT table3
coutstring ="<html><head><title>Отчёт</title></head><body bgcolor=#bcdbcd><table border=1>" +;
"<tr><td>Маршрутный лист №</td><td>Таб.ном.</td><td>Ном.партии</td><td>Процесс</td><td>Разряд</td><td>Количество</td><td>Деталь</td><td>Рабочий</td><td>Время</td><td>Расценка</td><td>Дата</td></tr>"
SCAN
coutstring =coutstring+ "<tr><td>"+STR(n) + "</td><td>"+STR(tn) + "</td><td>"+STR(n_par) + "</td><td>"+rabo + "</td><td>"+STR(raz) + "</td><td>"+STR(kol) + "</td><td>"+detal + "</td><td>"+rab + "</td><td>"+STR(vrem) + "</td><td>"+STR(rac)+ "</td><td>"+dtoc(dt) + "</td></tr>"
ENDSCAN
coutstring =coutstring+ "</table></body></html>"
nWriteResult = FPUTS(htxtfile,coutstring)
FCLOSE(htxtfile)
browser=CREATEOBJECT('InternetExplorer.Application')
browser.visible=.t.
browser.Navigate('&ctxtfile')
Кнопка «Отчет в Excel» (click):
PUBLIC w
w=SYS(5)+ALLTRIM(SYS(2003))
SET PATH TO &w
SELECT table3
xls1=CREATEOBJECT("Excel.Application")
xls1.visible=.t.
xls1.workbooks.add
xls1=xls1.Sheets[1]
SELECT table3
xls1.cells(1,1).value='Маршрутный лист №'
xls1.cells(1,2).value='Таб.ном.'
xls1.cells(1,3).value='Номер партии'
xls1.cells(1,4).value='Процесс'
xls1.cells(1,5).value='Разряд'
xls1.cells(1,6).value='Количество'
xls1.cells(1,7).value='Деталь'
xls1.cells(1,8).value='Рабочий'
xls1.cells(1,9).value='Время'
xls1.cells(1,10).value='Расценка'
xls1.cells(1,11).value='Дата'
nRov=1
SCAN
nRov=nRov+1
xls1.cells(nRov,1).value=table3.n
xls1.cells(nRov,2).value=table3.tn
xls1.cells(nRov,3).value=table3.n_par
xls1.cells(nRov,4).value=table3.rabo
xls1.cells(nRov,5).value=table3.raz
xls1.cells(nRov,6).value=table3.kol
xls1.cells(nRov,7).value=table3.detal
xls1.cells(nRov,8).value=table3.rab
xls1.cells(nRov,9).value=table3.vrem
xls1.cells(nRov,10).value=table3.rac
xls1.cells(nRov,11).value=table3.dt
ENDSCAN
Поле Got Focus:
IF thisform.txttn.ReadOnly=.f.
SELECT таблица1
index on tn to tn.idx
LOCATE FOR tn=thisform.txttn.Value
a=fio
b=stz
thisform.txtRab.Value=a
thisform.txtRaz.Value=b
ENDIF
Рис. 2.16 - Форма: otchet.scx
Поле Text2:
m2=''
m1=0
m1=MONTH(thisform.Text1.Value)
IF m1<=12
*****
IF m1=1
m2='ЯНВАРЬ'
ENDIF
IF m1=2
m2='ФЕВРАЛЬ'
ENDIF
IF m1=3
m2='МАРТ'
ENDIF
IF m1=4
m2='АПРЕЛЬ'
ENDIF
IF m1=5
m2='МАЙ'
ENDIF
IF m1=6
m2='ИЮНЬ'
ENDIF
IF m1=7
m2='ИЮЛЬ'
ENDIF
IF m1=8
m2='АВГУСТ'
ENDIF
IF m1=9
m2='СЕНТЯБРЬ'
ENDIF
IF m1=10
m2='ОКТЯБРЬ'
ENDIF
IF m1=11
m2='НОЯБРЬ'
ENDIF
IF m1=12
m2='ДЕКАБРЬ'
ENDIF
Thisform.Refresh()
****
ELSE
MESSAGEBOX('Такого Месяца НЕТ !!!',0,'ВНИМАНИЕ!!!')
m2=''
Thisform.Refresh()
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 - Расчетная ведомость
2.2.5 Реализация сервисных функций
Сохранение баз:
Sochranenie.scx
Формa INIT:
CLOSE DATABASES
CLOSE TABLES
WITH thisform
.text1.readonly=.t.
ENDWITH
thisform.Refresh
Формa KeyPress:
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
IF MESSAGEBOX("Вы хотите выйти ?",4,"Внимание")=6
thisform.Release
ELSE
thisform.Refresh
ENDIF
ENDIF
Кнопка «Сохранить» (click):
LOCAL strcop,OUT,IN1
IF EMPTY(thisform.text1.Value)=.t.
MESSAGEBOX("Путь не указан копирование не возможно, нажмите кнопку '...'!!!",0,"Внимание !!!")
thisform.Refresh
ELSE
out=""
strcop=""
in1=""
in1=ALLTRIM(thisform.text1.value)
out=SYS(5) + ALLTRIM(sys(2003)) + "\"
strcop="COPY FILE " + out + "table1.DBF TO " + in1 + "table1.dbf"
&strcop
strcop="COPY FILE " + out + "table2.DBF TO " + in1 + "table2.dbf"
&strcop
strcop="COPY FILE " + out + "table3.DBF TO " + in1 + "table3.dbf"
&strcop
strcop="COPY FILE " + out + "таблица1.DBF TO " + in1 + "таблица1.dbf"
&strcop
MESSAGEBOX("Операция прошла успешно!!!",0,"Внимание !!!")
ENDIF
Кнопка «Выход» (click):
IF MESSAGEBOX("Вы хотите выйти ?",4,"Внимание")=6
thisform.Release
ELSE
thisform.Refresh
ENDIF
Кнопка «выбора» (click):
a=0
b=0
b=PUTFILE('Имя файла:','copy','log')
pozic=RAT("\",b)
a=SUBSTR(b,1,pozic)
WITH thisform
.text1.Value=ALLTRIM(a)
.refresh
ENDWITH
Рис. 2.20 - Сохранение баз
Ochistka.scx
Кнопка «очистка» (click):
IF MESSAGEBOX('Вы хотите очистить основные базы ?',4,'ВНИМАНИЕ !!!')=6
CLOSE ALL
CLOSE TABLES
SELECT 1
USE table1
ZAP
use
SELECT 2
USE table2
ZAP
USE
SELECT 3
USE table3
ZAP
use
SELECT 4
USE Таблица1
ZAP
USE
thisform.Refresh()
ELSE
thisform.Refresh()
ENDIF
Кнопка «Выход» (click):
IF MESSAGEBOX("Вы хотите выйти ?",4,"Внимание")=6
thisform.Release
ELSE
thisform.Refresh
ENDIF
Рис. 2.21 - Очистка баз
Vostanovlenie.scx
Формa INIT:
CLOSE DATABASES
CLOSE TABLES
WITH thisform
.text1.readonly=.t.
ENDWITH
thisform.Refresh
Формa KeyPress:
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
IF MESSAGEBOX("Вы хотите выйти ?",4,"Внимание")=6
thisform.Release
ELSE
thisform.Refresh
ENDIF
ENDIF
Кнопка «Восстановить» (click):
LOCAL strcop,OUT,IN1
IF EMPTY(thisform.text1.Value)=.t.
MESSAGEBOX("Путь не указан копирование не возможно, нажмите кнопку '...'!!!",0,"Внимание !!!")
thisform.Refresh
ELSE
out=""
strcop=""
in1=""
in1=ALLTRIM(thisform.text1.value)
out=SYS(5) + ALLTRIM(sys(2003)) + "\"
strcop="COPY FILE " + in1 + "table1.DBF TO " + out + "table1.dbf"
&strcop
strcop="COPY FILE " + in1 + "table2.DBF TO " + out + "table2.dbf"
&strcop
strcop="COPY FILE " + in1 + "table3.DBF TO " + out + "table3.dbf"
&strcop
strcop="COPY FILE " + in1 + "таблица1.DBF TO " + out + "таблица1.DBF"
&strcop
MESSAGEBOX("Операция прошла успешно!!!",0,"Внимание !!!")
ENDIF
Кнопка «Выход» (click):
IF MESSAGEBOX("Вы хотите выйти ?",4,"Внимание")=6
thisform.Release
ELSE
thisform.Refresh
ENDIF
Кнопка «выбора» (click):
a=0
b=0
MESSAGEBOX("Выберите папку где хранятся ваши базы!",0,"Внимание!")
b=PUTFILE('Имя файла:','copy','log')
pozic=RAT("\",b)
a=SUBSTR(b,1,pozic)
WITH thisform
.text1.Value=ALLTRIM(a)
.refresh
ENDWITH
Рис. 2.22 - Восстановление
Создание справочной системы
Данная программа предназначена для сбора и начисления сдельной заработной платы на предприятии. Главная цель данной программы является начисление сдельной заработной платы сотрудникам за количесво сделанных изделий. Пункт меню "ВВОД ДАННЫХ" предназначен для заполнения баз. Пункт меню "СПРАВОЧНИКИ" предназначен для заполнения постоянных сведений на предприятии. Пункт меню "ПРОСМОТР" предназначен для просмотра таблиц. Пункт меню "ОТЧЕТЫ" предназначен для вывода на печать сведений о предприятии и сотрудниках работающих на данном предприятии. Пункт меню "ДОКУМЕНТЫ" предназначен для просмотра расчетов начисления заработной платы сотрудникам и выдачи её с применением расчетно - платёжной ведомости. Пункт меню "СЕРВИС" предназначен для управления данными, получения справочной информации о сотрудниках и различных операций с данными. Пункт меню "ВЫХОД" предназначен для выхода из программы. Пункт меню "СПРАВКА" предназначен для получения справочной информации о работе с программой. Для работы с программой необходимо следовать сообщениям и перемещаться по программе используя клавиши TAB, ENTER, и с помощью мыши.
Рис. 2.23 - Справка
Заключение
Подходя к завершающей части дипломного проекта, можно сделать вывод, что заработная плата является основным стимулом побуждающего работника к эффективному выполнению своих обязанностей.
В данном дипломном проекте было создано предприятие, на котором велся бухгалтерский учет. Как ведется бухгалтерский учет на предприятии по начислению индивидуально-сдельной заработной платы, было описано в первой главе.
В первой части работы рассмотрены теоретические аспекты учета начисления сдельной заработной платы на предприятии.
В практической части создавалась БД, в которой производились расчеты по начислению сдельной заработной платы. На основании первичных документов была получена Расчетно-платежная ведомость.
Учет труда и заработной платы должен обеспечить оперативный контроль за количеством и качеством труда, за использованием средств, включаемых в фонд заработной платы и выплаты социального характера.
Исходя из всего выше описанного, можно сказать, что без начисления заработной платы предприятие не смогло бы стабильно функционировать и осуществлять свою деятельность.
Учет труда и заработной платы по праву занимает одно из центральных мест во всей системе учета на предприятии.
Список используемой литературы
1. Бухгалтерский учет (налоговый, финансовый, управленческий) на современном предприятии. И. Е. Глушков, Москва, 2012г. 120с.
2. Бухгалтерский учет. Богаченко В. М., Кириллова Н. А., Москва, 2010г. 117 с.
3. «Бухгалтерский учет». Кондраков Н.П Учебное пособие,2 издание. «Инфра - М». Москва.2012г.- 312 с.
4. Баженова И.Ю. Visual FoxPro 6.0. - M.: Диалог-МИФИ, 2009. - 416 с.
5. Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем. - М.: Финансы и статистика,2010. - 176 с.
6. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем: Учебник. - СПб.: Питер,. 2009. - 384 с.
7. Диго С.М. Проектирование баз данных. - М.: Финансы и статистика, 2011. - 216 с.
8. Информационные системы общего назначения (Аналитический обзор систем управления базами данных): Пер. с англ. - М.:. Статистика, 2013. - 472 с.
9. Калянов Г.Н. CASE структурный системный анализ (автоматизация и применение). - М.: Лори, 2009.
10. Каратыгин С.А., Тихонов А.Ф., Тихонов Л.Н. Visual FoxPro 6. - М.: ЗАО «Изд-во «Бином», 2012. - 784 с.
11. Карпова Т. Базы данных. Модели, разработка, реализация. - СПб.: Питер, 2001. - 304 с.
12. Когаловский М.Р. Технология баз данных на персональных ЭВМ. - М.: Финансы и статистика, 2013. - 224 с.
13. Конноли Т., Бэгг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика. 2-е изд.: Пер. с англ. - М.: Издательский дом «Вильямс», 2010. - 1120 с.
14. Корнеев В.В., Гариев А.Ф., Васютин С.В., Райх В.В. Базы данных. Интеллектуальная обработка информации. - М.: Нолидж, 2010.- 352 с.
15. Майерс Г. Архитектура современных ЭВМ. Т.2. М.: Мир, 1985.
16. Попов А.А. Создание приложений для FoxPro 2.5/2.6 в DOS и WINDOWS. - М.: Издательство «ДЕСС», 2009. - 672 с.
17. Саймон А.Р. Стратегические технологии баз данных: менеджмент на 2011 год: Пер. с англ. / Под ред. и с предисл. М.Р. Когаловского. - М.: Финансы и статистика, 2011. - 479 с.
18. Ульман Дж. Основы систем баз данных: Пер. с англ. / Под ред. М.Р. Когаловского. - М.: Финансы и статистика, 2012. - 334 с.
19. Rentsch Т. Object-Oriented Programming. SIGPLAN Notices. Vol. 17(12). September 2012. P. 51.
20. http://ru.wikipedia.org/wiki/FoxPro
21. http://cusoft.ru/foxpro.php
Размещено на Allbest.ru
Подобные документы
Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.
дипломная работа [2,3 M], добавлен 25.05.2014Изучение порядка начисления заработной платы и системы расчета оплаты труда. Проектирование программного обеспечения для рационализации данной системы. Состав диаграмм потоков данных, разработка командных файлов, предназначенных для ведения базы.
курсовая работа [5,4 M], добавлен 28.02.2011Анализ предметной области, главных функций организации. Разработка макета внутренней структуры программного обеспечения информационной системы в виде диаграммы классов. Составление схемы базы данных. Разработка интерфейса и руководства пользователя.
курсовая работа [866,3 K], добавлен 02.06.2015Разработка и анализ интерфейса пользователя базы данных. Ознакомление с процессом поэтапного создания проекта и добавления файла локальной базы данных. Исследование и характеристика главных принципов программирования функциональной части интерфейса.
дипломная работа [3,0 M], добавлен 27.09.2017Разработка информационной системы начисления заработной платы. Описание физической схемы базы данных. Реализация программного обеспечения. Требования к видео дисплейным терминалам, персональным электронно-вычислительным машинам и организации работы.
курсовая работа [2,7 M], добавлен 15.02.2016Исследование особенностей начисления заработной платы на предприятиях торговли. Анализ фонда заработной платы ООО ТД "Селенга". Выбор программных средств проектирования информационной системы. Описание процесса автоматизации деятельности предприятия.
дипломная работа [2,6 M], добавлен 23.06.2013Составление схемы концептуальной модели данных. Разработка структуры реляционной базы данных и интерфейса пользователя. Особенности главных этапов проектирования базы данных. Способы реализации запросов и отчетов. Специфика руководства пользователя.
курсовая работа [186,9 K], добавлен 18.12.2010Выбор программного обеспечения для разработки интерфейса информационной системы. Создание базы данных для расчета заработной платы сотрудникам средне-специальных учебных заведений, создание выходной информации в виде отчетов, установочного файла.
дипломная работа [2,4 M], добавлен 11.04.2010Разработка базы данных для хранения сведений и расчета заработной платы работников ОАО "Печатный двор". Построение ER-диаграммы на основании информации о персонале. Построение нормальных форм отношений. Разработка запросов и пользовательского интерфейса.
курсовая работа [1,4 M], добавлен 23.12.2010Характеристика предприятия и его деятельности. Описание основных сущностей и их функций. Обоснование выбора системы управления БД и анализ имеющихся программных средств. Проектирование базы данных. Разработка интерфейса и алгоритмов реализации системы.
дипломная работа [1,4 M], добавлен 18.10.2015