Начисления индивидуальной сдельной заработной платы на СЦ "Технокомп"

Характеристика деятельности предприятия СЦ "Технокомп", первичная документация. Учет выработки при сдельной форме оплаты труда. Проектирование структуры информационной системы, базы данных. Разработка интерфейса пользователя. Реализация сервисных функций.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 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


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

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