Разработка специализированного программного продукта по работе со счетами-фактуры
Анализ документов, регулирующих применение счетов-фактур. Сущность понятия реляционная модель, теоретическая основа. Характеристика программы Visual FoxPro 5.0. Особенности техники безопасности при работе с ЭВМ. Виды деятельности ОАО "СаратовОблГаз".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 22.05.2012 |
Размер файла | 710,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Необходимо также помнить и обязательно проводить резервное копирование результатов работы разрабатываемого программного средства. Такое копирование целесообразно проводить раз в неделю или чаще, в зависимости от интенсивности производства.
Обязательной мерой является и хранение резервных копий самого программного продукта. Желательно даже в двух копиях.
Все носители информации, предназначенные для резервного ко-пирования, должны быть защищены от записи. Доступ к ним должен быть у ограниченного количества обслуживающего персонала.
Приложение
Текст программы
*: MAIN
p=sys(5)+sys(2003) && узнаем текущий путь
SET path to p && установки среды
SET exclusive off
SET classlib to wizstyle.vcx && подключение библиотек классов
SET classlib to appwiz.vcx additive
SET classlib to proj.vcx additive
Release goApp && уничтожение переменной приложения
PUBLIC goApp && объявление переменной приложения
goApp=CreateObject("cApplication") && создание объекта типа cApplication
goApp.cstartupform="basisform" && объявление главной формы
goApp.show && запуск приложения
Release goApp && уничтожение переменной приложения
****** * BASISFORM.SCX
PROCEDURE Destroy
CLOSE tables
CLOSE all
Release ALL
QUIT
ENDPROC
PROCEDURE Init
Application.Visible=.f.
SET escape off
_SCREEN.caption="Счета-фактуры"
_SCREEN.Icon=thisForm.Icon
CLOSE tables
SET century on
USE f_fact in 1
USE f_oplata in 2
r_opl(-1)
SELECT f_oplata
USE
USE f_otgr in 2
r_otg(-1)
SELECT f_otgr
USE
SELECT f_fact
USE
USE setup SHARED
**on error clear
SET date to german
_asd=dtos(date())
_asd=substr(_asd,5,2)
_asd="01."+_asd+"."+alltrim(str(year(date())))
REPLACE dateot1 with ctod(_asd) &&GOMONTH(date(),-1)
REPLACE dateot2 with date()
ENDPROC
PROCEDURE Activate
Activate Window (THISFORM.Name)
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
thisform.Command7.SetFocus()
thisform.Command7.Click()
ENDIF
ENDPROC
PROCEDURE RightClick
MESSAGEBOX(" СЧЕТА-ФАКТУРЫ v1.0 "+chr(13)+chr(13)+" Flynx(c) 1998г.",64,"О программе")
ENDPROC
PROCEDURE Click
DO form sfgrid
ENDPROC
PROCEDURE Click
DO form spr with 1
ENDPROC
PROCEDURE Click
thisform.release
ENDPROC
PROCEDURE Click
DO form mymd.scx
ENDPROC
PROCEDURE Click
DO form otchet
ENDPROC
PROCEDURE Click
DO form otgr.scx with -10
ENDPROC
PROCEDURE Click
DO form oplata.scx with -10
ENDPROC
****** * DATA1.DBC
&& Функция для создания поля с уникальным возростающим значением
FUNCTION NewID(tcAlias)&& передается имя таблицы
LOCAL lcAlias, ;&& текущая таблица
lcID, ;&& текущее значение уникального поля
lcOldReprocess, ;&& старое значение Reprocess
lnOldArea && номер старой рабочей области
lnOldArea = SELECT() && узнаем номер старой рабочей области
IF PARAMETERS() < 1 && если в функцию не переданно ни одного параметра
lcAlias = ALIAS()&& берем таблицу открытую в текущей раб. области
ELSE
lcAlias = tcAlias&& берем переданный параметр
ENDIF
*lcID = ""
lcOldReprocess = SET('REPROCESS')&& сохраняем старое значение Reprocess
*-- Lock until user presses Esc
SET REPROCESS TO AUTOMATIC&& значение Reprocess ставится автоматическим
IF !USED("SETUP")&& если таблица SETUP не используется
USE data1!setup IN 0&& открываем ее
ENDIF&&
SELECT setup&& переходим на таблицу SETUP
IF SEEK(lcAlias, "setup", "key_name")&& находим в таблице SETUP запись для нужной нам таблицы
IF RLOCK()&& блокируем текущую запись
lcID = setup.value&& берем максимальное значение для уникального поля данной таблицы
REPLACE setup.value WITH lcID +1&& заменяем его большим на единицу
UNLOCK&& разблокируем запись
ENDIF
ENDIF
SELECT (lnOldArea)&& переходим в старую рабочую область
SET REPROCESS TO lcOldReprocess&& возвращаем старое значение Reprocess
RETURN lcID && возвращаем новое уникальное значение на единицу большее предыдущего
ENDFUNC
****** * FREE_NDS.PRG
FUNCTION FREE_NDS(n_sf, s_nds)&& подсчет суммы товаров не облагаемых НДС по конкретному счету-фактуре
&& n_sf номер счета-фактуры
&& s_nds НДС
LOCAL s_sum,nrec,nal&& сумма, номер записи, текущая таблица
nal=alias()&& сохраняем текущую таблицу
SELECT f_factt&& переходим в таблицу реестра счетов-фактур
IF recno()>reccount()or recno()<0&& если указатель записи имеет неправильное значение
nrec=reccount()&& встаем на последнюю запись
ELSE
nrec=recno()&& встаем на нужную запись
ENDIF
SET filter to (счетфакт_id=n_sf)and(ндс=s_nds)&& устанавливаем фильтр для конкретного счета-фактуры с конкретным НДС
SET talk off && убираем эхо
SUM f_factt.колво* f_factt.цена/iif(f_factt.признак_ндс,(1+f_factt.ндс/100),1) to s_sum
&& подсчитываем сумму
SET filter to && убираем фильтр
GO nrec && возвращаемся на сохраненную запись
SELECT &nal && переходим в сохраненную таблицу
RETURN s_sum && возвращаем сумму
ENDFUNC
*: MENU1
*: _s5314r40y
*: _s5314r41k
*: _s5314r425
*: _s5314r42s
*: _s5314r43f
DEFINE POPUP shortcut shortcut RELATIVE FROM MROW(),MCOL()
DEFINE BAR 1 OF shortcut PROMPT "\<Организации"
DEFINE BAR 2 OF shortcut PROMPT "\<Виды товаров"
DEFINE BAR 3 OF shortcut PROMPT "\<Группы товаров"
DEFINE BAR 4 OF shortcut PROMPT "\<Единицы измерения"
DEFINE BAR 5 OF shortcut PROMPT "Ставки \<НДС"
ON SELECTION BAR 1 OF shortcut ;
DO _s5314r40y ;
IN LOCFILE("СЧЕТА-ФАКТУРЫ\MENU1" ,"MPX;MPR|FXP;PRG" ,"WHERE is MENU1?")
ON SELECTION BAR 2 OF shortcut ;
DO _s5314r41k ;
IN LOCFILE("СЧЕТА-ФАКТУРЫ\MENU1" ,"MPX;MPR|FXP;PRG" ,"WHERE is MENU1?")
ON SELECTION BAR 3 OF shortcut ;
DO _s5314r425 ;
IN LOCFILE("СЧЕТА-ФАКТУРЫ\MENU1" ,"MPX;MPR|FXP;PRG" ,"WHERE is MENU1?")
ON SELECTION BAR 4 OF shortcut ;
DO _s5314r42s ;
IN LOCFILE("СЧЕТА-ФАКТУРЫ\MENU1" ,"MPX;MPR|FXP;PRG" ,"WHERE is MENU1?")
ON SELECTION BAR 5 OF shortcut ;
DO _s5314r43f ;
IN LOCFILE("СЧЕТА-ФАКТУРЫ\MENU1" ,"MPX;MPR|FXP;PRG" ,"WHERE is MENU1?")
Activate POPUP shortcut
PROCEDURE _s5314r40y
DO form spr with 1
PROCEDURE _s5314r41k
DO form spr with 2
PROCEDURE _s5314r425
DO form spr with 3
PROCEDURE _s5314r42s
DO form spr with 4
PROCEDURE _s5314r43f
DO form spr with 5
*: MENU2
*: _s5314r4ue
DEFINE POPUP shortcut shortcut RELATIVE FROM MROW(),MCOL()
DEFINE BAR 1 OF shortcut PROMPT "\<Документы оплаты"
ON SELECTION BAR 1 OF shortcut ;
DO _s5314r4ue ;
IN LOCFILE("СЧЕТА-ФАКТУРЫ\MENU2" ,"MPX;MPR|FXP;PRG" ,"WHERE is MENU2?")
Activate POPUP shortcut
PROCEDURE _s5314r4ue
DO form spr with 6
****** * MYMD.SCX
PROCEDURE Deactivate
CLOSE table all
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
thisform.Command2.SetFocus()
thisform.Command2.Click()
ENDIF
ENDPROC
PROCEDURE Click
ON error yyy=error()
PUBLIC sss
sss=ThisForm.Text1.Value
MKDIR alltrim(sss)
IF yyy<>1961
OPEN database data1
USE f_fact in 0
USE f_factt in 0
USE f_nds in 0
USE f_oplata in 0
USE f_otgr in 0
USE f_sprdo in 0
USE f_sprei in 0
USE f_sprgt in 0
USE f_sprvt in 0
USE f_sprpp in 0
USE f_sprb in 0
USE setup in 0
CD alltrim(sss)
**use f_fact
SELECT * FROM f_fact WHERE (year(f_fact.дата) < year(date()))and((f_fact.итого-f_fact.sop)<0.01) into table f_fact
**close tables
**use data1.f_factt
SELECT f_factt.* FROM f_fact F_fact_a LEFT OUTER JOIN f_factt ON F_fact_a.счетфакт_id = f_factt.счетфакт_id WHERE (year(F_fact_a.дата) < year(date()))and((F_fact_a.итого-F_fact_a.sop)<0.01) into table f_factt
**close tables
**use data1.f_nds
SELECT * from f_nds into table f_nds
**close tables
**use data1.f_oplata
SELECT f_oplata.* FROM f_fact F_fact_a LEFT OUTER JOIN f_oplata ON F_fact_a.счетфакт_id = f_oplata.код WHERE (year(F_fact_a.дата) < year(date()))and((F_fact_a.итого-F_fact_a.sop)<0.01) into table f_oplata
**close tables
**use data1.f_otgr
SELECT f_otgr.* FROM f_fact F_fact_a LEFT OUTER JOIN f_otgr ON F_fact_a.счетфакт_id = f_otgr.код WHERE (year(F_fact_a.дата) < year(date()))and((F_fact_a.итого-F_fact_a.sop)<0.01) into table f_otgr
**close tables
**use data1.f_sprdo
SELECT * from f_sprdo into table f_sprdo
**close tables
**use data1.f_sprei
SELECT * from f_sprei into table sprei
**close tables
**use data1.f_sprgt
SELECT * from f_sprgt into table f_sprgt
**close tables
**use data1.f_sprvt
SELECT * from f_sprvt into table f_sprvt
**close tables
**use data1.f_sprpp
SELECT * from f_sprpp into table f_sprpp
**close tables
**use data1.f_sprb
SELECT * from f_sprb into table f_sprb
**close tables
**use data1.setup
SELECT * from setup into table setup
**use
**close tables
CD ..
MESSAGEBOX('Архив был успешно создан!',0,' ')
Release ThisForm
ELSE
MESSAGEBOX('Директория с таким именем уже существует!',0,'Ошибка')
ENDIF
Release sss
ON error
ENDPROC
PROCEDURE Click
Release Thisform
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=13
thisform.Command1.setFocus()
thisform.Command1.Click()
NODEFAULT
ENDIF
ENDPROC
PROCEDURE Init
this.Value='Архив_'+alltrim(str(year(date())))
ENDPROC
*: NDS
FUNCTION NDS(n_sf,s_nds)&& подсчет суммы товаров не облагаемых НДС по конкретному счету-фактуре
&& n_sf номер счета-фактуры
&& s_nds НДС
LOCAL s_sum,nrec,nal&& сумма, номер записи, текущая таблица
nal=alias()&& сохраняем текущую таблицу
SELECT f_factt&& переходим в таблицу реестра счетов-фактур
IF recno()>reccount()or recno()<0 && если указатель записи имеет неправильное значение
nrec=reccount()&& встаем на последнюю запись
ELSE
nrec=recno()&& встаем на нужную запись
ENDIF
SET filter to (счетфакт_id= n_sf)and(ндс=s_nds)&& устанавливаем фильтр для конкретного счета-фактуры с конкретным НДС
SET talk off && убираем эхо
SUM f_factt.колво* f_factt.цена* f_factt.ндс/iif(f_factt.признак_ндс,100+f_factt.ндс,100) to s_sum
&& подсчитываем сумму
SET filter to && убираем фильтр
GO nrec && возвращаемся на сохраненную запись
SELECT &nal && переходим в сохраненную таблицу
RETURN s_sum && возвращаем сумму
ENDFUNC
*: OPLATA
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
thisform.Mypicbtns1.cmdExit.Setfocus()
thisform.Mypicbtns1.cmdExit.Click()
ELSE
IF nKeyCode=-2
www=.t.
thisform.Mypicbtns1.cmdAdd.SetFocus()
thisform.Mypicbtns1.cmdAdd.Click()
ENDIF
ENDIF
ENDPROC
PROCEDURE Destroy
SELECT f_oplata
TABLEUPDATE()
Release ww
ENDPROC
PROCEDURE Activate
thisform.grid2.Column1.Enabled=.f.
thisform.grid1.Column2.Enabled=.f.
thisform.grid1.Column3.Enabled=.f.
thisform.grid1.Column3.Combo1.Enabled=.t.
thisform.grid1.Column4.Enabled=.f.
thisform.grid1.Column5.Enabled=.f.
thisform.Label1.Init()
thisform.Refresh()
ENDPROC
PROCEDURE Init
LPARAM jj
SET century on
SET date to german
PUBLIC ww,www
www=.f.
ww=.t.
IF jj>-2
SELECT f_fact
**messagebox(alias()+str(recno()))
GO jj
ww=.f.
thisform.grid2.Column1.setFocus()
ELSE
thisform.grid2.Column1.setFocus()
ENDIF
ENDPROC
PROCEDURE RightClick
DO MENU2.mpr
ENDPROC
PROCEDURE Deleted
LPARAMETERS nRecNo
SELECT f_oplata
this.Column2.Enabled=.t.
GO nRecNo
this.Column2.Enabled=.f.
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Вы хотите удалить эту запись?"
#DEFINE C_NOLOCK_LOC "Запись не может быть удалена, так как используется."
UNLOCK ALL
* Note: Cascading deletes should be handled via RI triggers in DBC!
IF DELETED()
RECALL
IF ThisForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ELSE
IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
Delete
IF ThisForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ENDIF
ENDIF
IF THISFORM.ShowWindow = 2
Activate Window (THISFORM.Name)
ENDIF
r_opl(f_fact.счетфакт_id)
thisform.Label1.Init()
NODEFAULT
**
ENDPROC
PROCEDURE cmdFind.Click
SELECT f_oplata
DoDefault()
ENDPROC
PROCEDURE cmdExit.Click
SELECT f_oplata
DoDefault()
ENDPROC
PROCEDURE cmdAdd.Click
IF ThisForm.grid1.Column2.Enabled=.t.
this.Parent.EditMode=.f.
this.Parent.ButtonRefresh()
SELECT f_oplata
TABLEUPDATE()
thisform.grid1.Column2.Enabled=.f.
thisform.grid1.Column3.Enabled=.f.
thisform.grid1.Column3.Combo1.Enabled=.t.
thisform.grid1.Column4.Enabled=.f.
thisform.grid1.Column5.Enabled=.f.
IF Thisform.grid2.Enabled=.t.
r_opl(-1)
ELSE
r_opl(f_fact.счетфакт_id)
ENDIF
thisform.Label1.Init()
ELSE
SELECT f_oplata
this.Parent.EditMode=.t.
this.Parent.ButtonRefresh()
thisform.grid1.Column2.Enabled=.t.
thisform.grid1.Column3.Enabled=.t.
thisform.grid1.Column4.Enabled=.t.
thisform.grid1.Column5.Enabled=.t.
SELECT f_oplata
APPEND blank
REPLACE f_oplata.код with f_fact.счетфакт_id
thisform.grid1.Column2.Text1.setFocus()
ENDIF
**ThisForm.refresh()
ENDPROC
PROCEDURE cmdDelete.Click
SELECT f_oplata
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Вы хотите удалить эту запись?"
#DEFINE C_NOLOCK_LOC "Запись не может быть удалена, так как используется."
* Note: Cascading deletes should be handled via RI triggers in DBC!
IF DELETED()
RECALL
IF THIS.Parent.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
this.Parent.ButtonRefresh()
this.Parent.NavRefresh()
thisform.LockScreen = .F.
ELSE
IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
Delete
IF THIS.Parent.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
this.Parent.ButtonRefresh()
this.Parent.NavRefresh()
thisform.LockScreen = .F.
ENDIF
ENDIF
IF THISFORM.ShowWindow = 2
Activate Window (THISFORM.Name)
ENDIF
r_opl(f_fact.счетфакт_id)
thisform.Label1.Init()
ENDPROC
PROCEDURE cmdEdit.Click
IF ThisForm.grid1.Column2.Enabled=.t.
this.Parent.EditMode=.f.
this.Parent.ButtonRefresh()
SELECT f_oplata
**dodefault()
TABLEREVERT()
thisform.grid1.Column2.Enabled=.f.
thisform.grid1.Column3.Enabled=.f.
thisform.grid1.Column3.Combo1.Enabled=.t.
thisform.grid1.Column4.Enabled=.f.
thisform.grid1.Column5.Enabled=.f.
ELSE
this.Parent.EditMode=.t.
this.Parent.ButtonRefresh()
** select f_oplata
**dodefault()
thisform.grid1.Column2.Enabled=.t.
thisform.grid1.Column3.Enabled=.t.
thisform.grid1.Column4.Enabled=.t.
thisform.grid1.Column5.Enabled=.t.
SELECT f_oplata
thisform.grid1.Column2.Text1.setFocus()
ENDIF
**ThisForm.refresh()
ENDPROC
PROCEDURE BeforeRowColChange
LPARAMETERS nColIndex
IF www=.f.
IF ww=.f.
** This.enabled=.f.
** This.Parent.grid1.Column2.setfocus()
NODEFAULT
** ThisForm.refresh()
** ww=.t.
ENDIF
ELSE
this.enabled=.f.
thisform.refresh()
ENDIF
ENDPROC
PROCEDURE AfterRowColChange
LPARAMETERS nColIndex
thisform.Label1.Init()
ENDPROC
PROCEDURE Init
thisform.Label1.Caption='Счет-фактура № '+alltrim(f_fact.n_doc)+iif(f_fact.вид,' (расход)',' (приход)');
+' Оплачено: '+alltrim(str(f_fact.sop,20,2))+' Осталось: ';
+alltrim(str(f_fact.итого-f_fact.sop,20,2))
ENDPROC
PROCEDURE Click
IF This.Value=0
SET deleted off
this.Parent.grid1.DeleteMark=.T.
thisform.Refresh
ELSE
SET deleted on
this.Parent.grid1.DeleteMark=.F.
thisform.Refresh
ENDIF
ENDPROC
****** * OTCHET.SCX
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
thisform.Command3.SetFocus()
thisform.Command3.Click()
ENDIF
ENDPROC
PROCEDURE Init
#DEFINE C_LOC "Книга продаж\;Книга покупок\;Реестр продаж\;Реестр покупок\;Журнал регистрации продаж\;Журнал регистрации покупок"
this.ADDITEM(C_LOC)
this.VALUE = THIS.LIST[1]
ENDPROC
PROCEDURE Click
SET talk off
DO case
CASE ThisForm.List1.ListIndex=1
REPORT form kpr.frx to printer noconsole nowait
CASE ThisForm.List1.ListIndex=2
REPORT form kpk.frx to printer noconsole nowait
CASE ThisForm.List1.ListIndex=3
REPORT form rpr.frx to printer noconsole nowait
CASE ThisForm.List1.ListIndex=4
REPORT form rpk.frx to printer noconsole nowait
CASE ThisForm.List1.ListIndex=5
REPORT form jrp.frx to printer noconsole nowait
CASE ThisForm.List1.ListIndex=6
REPORT form jrk.frx to printer noconsole nowait
ENDCASE
thisform.Refresh()
ENDPROC
PROCEDURE Click
SET talk off
Application.Visible=.t.
DO case
CASE ThisForm.List1.ListIndex=1
REPORT form kpr.frx preview
CASE ThisForm.List1.ListIndex=2
REPORT form kpk.frx preview
CASE ThisForm.List1.ListIndex=3
REPORT form rpr.frx preview
CASE ThisForm.List1.ListIndex=4
REPORT form rpk.frx preview
CASE ThisForm.List1.ListIndex=5
REPORT form jrp.frx preview
CASE ThisForm.List1.ListIndex=6
REPORT form jrk.frx preview
ENDCASE
Application.Visible=.f.
thisform.Refresh()
ENDPROC
PROCEDURE Click
Release ThisForm
ENDPROC
****** * OTGR.SCX
PROCEDURE RightClick
DO MENU2.mpr
ENDPROC
PROCEDURE Destroy
SELECT f_otgr
TABLEUPDATE()
Release ww
ENDPROC
PROCEDURE Activate
thisform.grid2.Column1.Enabled=.f.
thisform.grid1.Column2.Enabled=.f.
thisform.grid1.Column3.Enabled=.f.
thisform.grid1.Column3.Combo1.Enabled=.t.
thisform.grid1.Column4.Enabled=.f.
thisform.grid1.Column5.Enabled=.f.
thisform.Label1.Init()
thisform.Refresh()
ENDPROC
PROCEDURE Init
LPARAM jj
SET century on
SET date to german
PUBLIC ww,www
www=.f.
ww=.t.
IF jj>-2
SELECT f_fact
GO jj
ww=.f.
thisform.grid2.Column1.setFocus()
ELSE
thisform.grid2.Column1.setFocus()
ENDIF
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
thisform.Mypicbtns1.cmdExit.SetFocus()
thisform.Mypicbtns1.cmdExit.Click()
ELSE
IF nKeyCode=-2
www=.t.
thisform.Mypicbtns1.cmdAdd.SetFocus()
thisform.Mypicbtns1.cmdAdd.Click()
ENDIF
ENDIF
ENDPROC
PROCEDURE Deleted
LPARAMETERS nRecNo
SELECT f_otgr
this.Column2.Enabled=.t.
GO nRecNo
this.Column2.Enabled=.f.
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Вы хотите удалить эту запись?"
#DEFINE C_NOLOCK_LOC "Запись не может быть удалена, так как используется."
UNLOCK ALL
* Note: Cascading deletes should be handled via RI triggers in DBC!
IF DELETED()
RECALL
IF ThisForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ELSE
IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
Delete
IF ThisForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1NavRefresh()
thisform.LockScreen = .F.
ENDIF
ENDIF
IF THISFORM.ShowWindow = 2
Activate Window (THISFORM.Name)
ENDIF
r_otg(f_fact.счетфакт_id)
thisform.Label1.Init()
NODEFAULT
ENDPROC
PROCEDURE BeforeRowColChange
LPARAMETERS nColIndex
IF www=.f.
IF ww=.f.
NODEFAULT
** ww=.t.
ENDIF
ELSE
this.enabled=.f.
thisform.refresh()
ENDIF
ENDPROC
PROCEDURE AfterRowColChange
LPARAMETERS nColIndex
thisform.Label1.Init()
ENDPROC
PROCEDURE Init
thisform.Label1.Caption='Счет-фактура № '+alltrim(f_fact.n_doc)+iif(f_fact.вид,' (расход)',' (приход)')+' Отгружено: '+alltrim(str(f_fact.sot))+' Осталось: '+alltrim(str(f_fact.итого-f_fact.sot))
ENDPROC
PROCEDURE Click
IF This.Value=0
SET deleted off
this.Parent.grid1.DeleteMark=.T.
thisform.Refresh
ELSE
SET deleted on
this.Parent.grid1.DeleteMark=.F.
thisform.Refresh
ENDIF
ENDPROC
****** * pDATA.PRG
FUNCTION PDATA(n_sf) && функция возвращает последнюю дату оплаты
&& n_sf номер счета-фактуры
LOCAL pDt,nrec,nal&&последняя дата оплаты, номер записи, текущая таблица
nal=alias() && && сохраняем текущую таблицу
SELECT f_oplatа && переходим в таблицу оплат
IF recno()>reccount()or recno()<0 && если указатель записи имеет неправильное значение
nrec=reccount() && встаем на последнюю запись
ELSE
nrec=recno() && встаем на нужную запись
ENDIF
SET filter to код=n_sf && устанавливаем фильтр для конкретного счета-фактуры
pDt={01.01.1900} && минимальная дата для сравнения
SCAN && начало сканирования таблицы
pDt=max(дата,pDt) && поиск последней даты
ENDSCAN && окончание сканирования
SET filter to && убираем фильтр
GO nrec && возвращаемся на сохранненую запись
SELECT &nal && переходим в сохраненную таблицу
RETURN pDt && возвращаем последнюю дату
ENDFUNC
****** * PPREC.PRG
FUNCTION PPREC(n_sf,p_p)&&функция определения последний или первой записи в отфильтрованной таблице
&&n_sf - номер счета-фактуры
&&p_p - последняя или первая запись (0,1)
LOCAL nfil,nrec,nal&& сохранненые фильтр, запись, таблица
nal=alias()&& сохранение таблицы
SELECT f_factt&& переход в таблицу реестра счетов-фактур
nfil=set("filter")&& сохранение фильтра
SET filter to&& уничтожение фильтра
IF recno()>reccount()&&если номер записи неправильный
RETURN .f.&& вернуть false
ELSE
nrec=recno()&&иначе вернуть номер записи
ENDIF
PUBLIC fff&& объявление переменной для создания фильтра
fff=n_sf
SET filter to f_factt.счетфакт_id=fff&&создаем фильтр для конкретного счета фактуры
ON error fff=fff&& свой обработчик событий (уничтожаем сообщения об ошибках FoxPro)
IF p_p=0&&если переданный параметр =0 значит определяем не первая ли запись
GO top&& переходим вверх
ELSE
GO bottom&& иначе переходим вниз
ENDIF
ON error&&ставим стандартный обработчик событий
IF recno()=nrec && если физический номер записи совпадает с первой записью
SET filter to && уничтожаем фильтр
Release fff && уничтожаем временную переменную
GO nrec && переходим обратно на старую запись
SELECT &nal && переходим на сохранненую таблицу
RETURN .t. && возвращаем true
ELSE
SET filter to &nfil && уничтожаем фильтр
Release fff && уничтожаем временную переменную
GO nrec && переходим обратно на старую запись
SELECT &nal && переходим на сохранненую таблицу
RETURN .f. && возвращаем false
ENDIF
ENDFUNC
****** * R_OPL.PRG
FUNCTION r_opl(n_sf)&&функция подсчета суммы оплаты для конкретного счета-фактуры
LOCAL s_sum,nrec,nal,nfr&&сумма оплаты, номер записи, номер записи в таблице счетов-фактур
nal=alias()&&сохраняем таблицу
nrec=recno()&& сохраняем номер записи
SET talk off&& убираем эхо команд
IF n_sf<0&& если номер счета-фактуры несуществующий
SELECT f_fact &&переходим в таблицу счетов-фактур
nfr=recno()&& сохраняем запись в этой таблице
SCAN&& начинаем сканирование
n_sf2=f_fact.счетфакт_id&&узнаем номер счета-фактуры
SELECT f_oplata&&переходим в таблицу оплат
SUM f_oplata.сумма for !delete() and f_oplata.код=n_sf2 to s_sum &&подсчитываем сумму
SELECT f_fact &&переходим в таблицу счетов-фактур
REPLACE f_fact.sop with s_sum&&заменяем поле-значение оплаты на новый подсчитанный результат
ENDSCAN &&оканчание сканирования
SELECT f_fact
GO nfr &&переходим на сохр. запись
SELECT &nal && переходим в сохр таблицу
GO nrec && перемещаем указатель записи
RETURN 0 && возвращаем значение нормальной работы
ELSE
SELECT f_oplata&&переходим в таблицу оплат
SUM f_oplata.сумма for !delete() and f_oplata.код=n_sf to s_sum &&подсчитываем сумму
SELECT f_fact &&переходим в таблицу счетов-фактур
REPLACE f_fact.sop with s_sum&&заменяем поле-значение оплаты на новый подсчитанный результат
SELECT &nal&&возвращае сохр. значения таблицы
GO nrec&&номера записи
RETURN 0&& возвращаем значение нормальной работы
ENDIF
SELECT f_fact&&переходим в таблицу счетов-фактур
ON error clear &&ставим свой обработчик событий
TABLEUPDATE()&&обновляем таблицу
ON error &&стандартный обработчик событий
ENDFUNC
****** * R_OTG.PRG
FUNCTION r_otg(n_sf)&&функция подсчета суммы отгрузки для конкретного счета-фактуры
LOCAL s_sum,nrec,nal,nfr&&сумма отгрузки, номер записи, номер записи в таблице счетов-фактур
nal=alias()&&сохраняем таблицу
nrec=recno() && сохраняем номер записи
SET talk off&& убираем эхо команд
IF n_sf<0&& если номер счета-фактуры несуществующий
SELECT f_fact &&переходим в таблицу счетов-фактур
nfr=recno()&& сохраняем запись в этой таблице
SCAN&& начинаем сканирование
n_sf2=f_fact.счетфакт_id&&узнаем номер счета-фактуры
SELECT f_otgr&&переходим в таблицу отгрузок
SUM f_otgr.сумма for !delete() and f_otgr.код=n_sf2 to s_sum &&подсчитываем сумму
SELECT f_fact &&переходим в таблицу счетов-фактур
REPLACE f_fact.sot with s_sum&&заменяем поле-значение отгрузки на новый подсчитанный результат
ENDSCAN &&оканчание сканирования
SELECT f_fact
GO nfr &&переходим на сохр. запись
SELECT &nal && переходим в сохр таблицу
GO nrec && перемещаем указатель записи
RETURN 0 && возвращаем значение нормальной работы
ELSE
SELECT f_otgr &&переходим в таблицу отгрузок
SUM f_otgr.сумма for !delete() and f_otgr.код=n_sf to s_sum&&подсчитываем сумму
SELECT f_fact &&переходим в таблицу счетов-фактур
REPLACE f_fact.sot with s_sum&&заменяем поле-значение отгрузки на новый подсчитанный результат
SELECT &nal&&возвращае сохр. значения таблицы
GO nrec &&номера записи
RETURN 0&& возвращаем значение нормальной работы
ENDIF
SELECT f_fact &&переходим в таблицу счетов-фактур
ON error clear &&ставим свой обработчик событий
TABLEUPDATE()&&обновляем таблицу
ON error &&стандартный обработчик событий
ENDFUNC
****** * SFGRID.SCX
PROCEDURE Destroy
SELECT f_fact
SET filter to
ENDPROC
PROCEDURE Resize
thisform.Mypicbtns1.left=ThisForm.Width-184
thisform.Mypicbtns1.top=ThisForm.Height-52
thisform.Optiongroup1.top=ThisForm.Height-60
thisform.Command2.top=ThisForm.Height-54
thisform.Command3.top=ThisForm.Height-54
thisform.grid1.Width=ThisForm.Width-31
thisform.grid1.Height=ThisForm.Height-110
ENDPROC
PROCEDURE Init
**set filter to f_fact.вид=.t.
SET deleted off
SET talk off
GO top
ENDPROC
PROCEDURE Activate
SELECT f_fact
IF (type(set("filter"))<>"U") and (UPPER(set("filter"))<>UPPER("f_fact.вид=.f."));
and (upper(set("filter"))<>upper("f_fact.вид=.t."))
fiend=set("filter")
fiend="and("+fiend+")"
ELSE
fiend=""
ENDIF
IF ThisForm.Command2.ForeColor=0
fiend="f_fact.вид=.f."+fiend
SET filter to &fiend
ELSE
fiend="f_fact.вид=.t."+fiend
SET filter to &fiend
ENDIF
**go top
IF ThisForm.Command3.ForeColor=16711680
thisform.Command3.ForeColor=16711680
thisform.Command2.ForeColor=0
thisform.grid1.Column3.Header1.Caption="Поставщик"
thisform.grid1.Column3.ControlSource="f_sprpp.фирма"
thisform.grid1.Column3.Combo1.ControlSource="f_fact.id_фирмапост"
ELSE
thisform.Command2.ForeColor=16711680
thisform.Command3.ForeColor=0
thisform.grid1.Column3.Header1.Caption="Получатель"
thisform.grid1.Column3.ControlSource="f_sprpp1.фирма"
thisform.grid1.Column3.Combo1.ControlSource="f_fact.id_фирмапол"
ENDIF
thisform.grid1.SetFocus()
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
thisform.Mypicbtns1.cmdExit.SetFocus()
thisform.Mypicbtns1.cmdExit.Click()
ELSE
IF nKeyCode=-2
thisform.Mypicbtns1.cmdAdd.setFocus()
thisform.Mypicbtns1.cmdAdd.Click()
NODEFAULT
ELSE
IF (nKeyCode=13) and (This.ActiveControl.Name="Grid1")
thisform.Mypicbtns1.cmdEdit.setFocus()
thisform.Mypicbtns1.cmdEdit.Click()
NODEFAULT
ENDIF
ENDIF
ENDIF
ENDPROC
PROCEDURE cmdFind.Click
SELECT f_fact
DoDefault()
ENDPROC
PROCEDURE cmdAdd.Click
SELECT f_fact
DO form shet_f with -1,iif(ThisForm.Command2.ForeColor<>0,0,1)
ENDPROC
PROCEDURE cmdDelete.Click
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Вы хотите удалить эту запись?"+chr(13)+"Вместе с ней удалятся записи из таблицы реестра, оплат и отгрузки"
#DEFINE C_NOLOCK_LOC "Запись не может быть удалена, так как используется."
* Note: Cascading deletes should be handled via RI triggers in DBC!
IF DELETED()
RECALL
SELECT f_factt
GO top
RECALL for счетфакт_id=f_fact.счетфакт_id while !eof()
SELECT f_oplata
GO top
RECALL for код=f_fact.счетфакт_id while !eof()
SELECT f_otgr
GO top
RECALL for код=f_fact.счетфакт_id while !eof()
SELECT f_fact
IF THIS.Parent.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
this.Parent.ButtonRefresh()
this.Parent.NavRefresh()
thisform.LockScreen = .F.
ELSE
IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
Delete
SELECT f_factt
GO top
Delete for счетфакт_id=f_fact.счетфакт_id while !eof()
SELECT f_oplata
GO top
Delete for код=f_fact.счетфакт_id while !eof()
SELECT f_otgr
GO top
Delete for код=f_fact.счетфакт_id while !eof()
SELECT f_fact
IF THIS.Parent.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
this.Parent.ButtonRefresh()
this.Parent.NavRefresh()
thisform.LockScreen = .F.
ENDIF
ENDIF
IF THISFORM.ShowWindow = 2
Activate Window (THISFORM.Name)
ENDIF
ENDPROC
PROCEDURE cmdEdit.Click
SELECT f_fact
DO form shet_f with recno(),iif(ThisForm.Command2.ForeColor<>0,0,1)
ENDPROC
PROCEDURE Click
SELECT f_sprpp
SET filter to
SELECT f_fact
SET filter to f_fact.вид=.t.
this.ForeColor=16711680
thisform.Command3.ForeColor=0
thisform.grid1.Column3.Header1.Caption="Получатель"
thisform.grid1.Column3.ControlSource="f_sprpp1.фирма"
thisform.grid1.Column3.Combo1.ControlSource="f_fact.id_фирмапол"
GO top
thisform.grid1.Refresh()
thisform.grid1.SetFocus()
ENDPROC
PROCEDURE Click
SELECT f_sprpp
SET filter to
SELECT f_fact
SET filter to f_fact.вид=.f.
this.ForeColor=16711680
thisform.Command2.ForeColor=0
thisform.grid1.Column3.Header1.Caption="Поставщик"
thisform.grid1.Column3.ControlSource="f_sprpp.фирма"
thisform.grid1.Column3.Combo1.ControlSource="f_fact.id_фирмапост"
GO top
thisform.grid1.Refresh()
thisform.grid1.SetFocus()
ENDPROC
PROCEDURE Deleted
LPARAMETERS nRecNo
GO nRecNo
thisform.Refresh
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Вы хотите удалить эту запись?"+chr(13)+"Вместе с ней удалятся записи из таблицы реестра, оплат и отгрузки"
#DEFINE C_NOLOCK_LOC "Запись не может быть удалена, так как используется."
* Note: Cascading deletes should be handled via RI triggers in DBC!
IF DELETED()
RECALL
SELECT f_factt
GO top
RECALL for счетфакт_id=f_fact.счетфакт_id while !eof()
SELECT f_oplata
GO top
RECALL for код=f_fact.счетфакт_id while !eof()
SELECT f_otgr
GO top
RECALL for код=f_fact.счетфакт_id while !eof()
SELECT f_fact
IF THIS.Parent.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
this.Parent.Mypicbtns1.ButtonRefresh()
this.Parent.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ELSE
IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
Delete
SELECT f_factt
GO top
Delete for счетфакт_id=f_fact.счетфакт_id while !eof()
SELECT f_oplata
GO top
Delete for код=f_fact.счетфакт_id while !eof()
SELECT f_otgr
GO top
Delete for код=f_fact.счетфакт_id while !eof()
IF THIS.Parent.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
this.Parent.Mypicbtns1.ButtonRefresh()
this.Parent.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ENDIF
ENDIF
IF THISFORM.ShowWindow = 2
Activate Window (THISFORM.Name)
ENDIF
GO nRecNo
NODEFAULT
ENDPROC
PROCEDURE Click
SELECT f_fact
SET order to tag n_doc in f_fact
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
SELECT f_fact
SET order to tag дата in f_fact
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
SELECT f_fact
IF This.caption="Получатель"
SET order to tag фирма_пол in f_fact
ELSE
SET order to tag фирма_пост in f_fact
ENDIF
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
SELECT f_fact
SET order to tag итого in f_fact
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
SELECT f_fact
SET order to tag sop in f_fact
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
SELECT f_fact
SET order to tag ost in f_fact
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
IF This.Value=0
SET deleted off
this.Parent.grid1.DeleteMark=.T.
thisform.Refresh
ELSE
SET deleted on
this.Parent.grid1.DeleteMark=.F.
thisform.Refresh
ENDIF
ENDPROC
****** * SHET_F.SCX
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
thisform.Mynew1.Command4.SetFocus()
thisform.Mynew1.Command4.Click()
ELSE
IF nKeyCode=-2
thisform.Mynew1.Command5.SetFocus()
thisform.Mynew1.Command5.Click()
ENDIF
ENDIF
ENDPROC
PROCEDURE Activate
SET deleted off
CursorSetProp("Buffering", 5, "f_fact")
CursorSetProp("Buffering", 5, "f_factt")
thisform.Label5.Caption=ALLTRIM(f_fact.n_doc)
thisform.Label6.Caption=ALLTRIM(f_fact.n_doc)
PUBLIC ar
ar=0
thisform.refresh()
ENDPROC
PROCEDURE Init
PARAM ddd,ddd2
SELECT setup
GO top
qq=setup.value
IF ddd=-1
SELECT f_factt
APPEND blank
REPLACE счетфакт_id with qq
SELECT f_fact
APPEND blank
REPLACE счетфакт_id with qq
REPLACE датасоздзаписи with date()
IF ddd2=1
REPLACE вид with .f.
ENDIF
IF f_fact.вид=.t.
REPLACE f_fact.дата with date()
ENDIF
ELSE
SELECT f_fact
GO ddd
ENDIF
**messagebox(alias()+str(recno()))
thisform.refresh()
SET talk off
ENDPROC
PROCEDURE RightClick
DO MENU1.mpr
ENDPROC
PROCEDURE Destroy
SELECT f_sprpp
SET filter to
SELECT f_sprpp1
SET filter to
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF (nKeyCode=47)and(This.SelStart=len(alltrim(This.value)))
qqq=This.SelStart
this.value=alltrim(This.value)+substr(dtoc(date()),9,2)
this.SelStart=qqq
ENDIF
ENDPROC
PROCEDURE InteractiveChange
thisform.Label5.Caption=This.Value
thisform.Label6.Caption=This.Value
ENDPROC
PROCEDURE Deleted
LPARAMETERS nRecNo
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Вы хотите удалить эту запись?"
#DEFINE C_NOLOCK_LOC "Запись не может быть удалена, так как используется."
SELECT f_factt
GO nRecNo
* Note: Cascading deletes should be handled via RI triggers in DBC!
IF DELETED()
RECALL
ELSE
IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
Delete
ENDIF
ENDIF
IF DELETED()
RECALL
ELSE
Delete
ENDIF
SUM f_factt.msbn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.SSUM1.Value
SUM f_factt.msn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.СУММАНДС1.Value
SUM f_factt.mssn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.Text2.Value
thisform.grid1.Refresh()
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF (nKeyCode=19) or (nKeyCode=15)
NODEFAULT
ENDIF
ENDPROC
PROCEDURE LostFocus
IF признак_ндс=.t.
REPLACE mssn with колво*цена
REPLACE msn with колво*цена*ндс/(100+ндс)
REPLACE msbn with mssn-msn
ELSE
REPLACE msbn with колво*цена
REPLACE msn with колво*цена*ндс/100
REPLACE mssn with msbn+msn
ENDIF
SUM f_factt.msbn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.SSUM1.Value
SUM f_factt.msn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.СУММАНДС1.Value
SUM f_factt.mssn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.Text2.Value
ENDPROC
PROCEDURE InteractiveChange
IF признак_ндс=.t.
REPLACE mssn with колво*цена
REPLACE msn with колво*цена*ндс/(100+ндс)
REPLACE msbn with mssn-msn
ELSE
REPLACE msbn with колво*цена
REPLACE msn with колво*цена*ндс/100
REPLACE mssn with msbn+msn
ENDIF
SUM f_factt.msbn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.SSUM1.Value
SUM f_factt.msn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.СУММАНДС1.Value
SUM f_factt.mssn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.Text2.Value
this.setFocus()
ENDPROC
PROCEDURE LostFocus
ENDPROC
PROCEDURE LostFocus
IF признак_ндс=.t.
REPLACE mssn with колво*цена
REPLACE msn with колво*цена*ндс/(100+ндс)
REPLACE msbn with mssn-msn
ELSE
REPLACE msbn with колво*цена
REPLACE msn with колво*цена*ндс/100
REPLACE mssn with msbn+msn
ENDIF
SUM f_factt.msbn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.SSUM1.Value
SUM f_factt.msn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.СУММАНДС1.Value
SUM f_factt.mssn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.Text2.Value
ENDPROC
PROCEDURE LostFocus
IF признак_ндс=.t.
REPLACE mssn with колво*цена
REPLACE msn with колво*цена*ндс/(100+ндс)
REPLACE msbn with mssn-msn
ELSE
REPLACE msbn with колво*цена
REPLACE msn with колво*цена*ндс/100
REPLACE mssn with msbn+msn
ENDIF
SUM f_factt.msbn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.SSUM1.Value
SUM f_factt.msn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.СУММАНДС1.Value
SUM f_factt.mssn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.Text2.Value
ENDPROC
PROCEDURE LostFocus
IF признак_ндс=.t.
REPLACE msn with msbn*ндс/100
REPLACE mssn with msbn+msn
REPLACE цена with mssn/iif(колво>0,колво,1)
ELSE
REPLACE цена with msbn/iif(колво>0,колво,1)
REPLACE msn with msbn*ндс/100
REPLACE mssn with msbn+msn
ENDIF
SUM f_factt.msbn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.SSUM1.Value
SUM f_factt.msn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.СУММАНДС1.Value
SUM f_factt.mssn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.Text2.Value
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF (nKeyCode=9) or (nKeyCode=4)
NODEFAULT
ENDIF
ENDPROC
PROCEDURE LostFocus
IF признак_ндс=.t.
REPLACE цена with mssn/iif(колво>0,колво,1)
REPLACE msn with mssn*ндс/(100+ндс)
REPLACE msbn with mssn-msn
ELSE
REPLACE msn with mssn*ндс/(100+ндс)
REPLACE msbn with mssn-msn
REPLACE цена with msbn/iif(колво>0,колво,1)
ENDIF
SUM f_factt.msbn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.SSUM1.Value
SUM f_factt.msn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.СУММАНДС1.Value
SUM f_factt.mssn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.Text2.Value
ENDPROC
PROCEDURE Command1.Click
this.Parent.Command2.Enabled=.f.
this.Parent.Command4.Enabled=.f.
SELECT f_fact
TABLEUPDATE(.t.)
SELECT f_factt
TABLEUPDATE(.t.)
Release ThisForm
ENDPROC
PROCEDURE Command2.Click
IF messagebox("Не сохранять изменения?",36,"")=6
SELECT f_fact
TABLEREVERT(.t.)
SELECT f_factt
TABLEREVERT(.t.)
Release ThisForm
ENDIF
ENDPROC
PROCEDURE Command3.Click
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Вы хотите удалить эту запись?"
#DEFINE C_NOLOCK_LOC "Запись не может быть удалена, так как используется."
SELECT f_factt
* Note: Cascading deletes should be handled via RI triggers in DBC!
IF DELETED()
RECALL
ELSE
IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
Delete
ENDIF
ENDIF
SUM f_factt.msbn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.SSUM1.Value
SUM f_factt.msn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.СУММАНДС1.Value
SUM f_factt.mssn for !(deleted())and(f_factt.счетфакт_id=f_fact.счетфакт_id) to ThisForm.Text2.Value
thisform.grid1.Refresh()
ENDPROC
PROCEDURE Command4.Click
rrr=messagebox("Cохранить изменения?",35,"")
DO case
CASE rrr=6
SELECT f_fact
IF CURSORGETPROP("Buffering") > 1
TABLEUPDATE(.t.)
ENDIF
SELECT f_factt
IF CURSORGETPROP("Buffering") > 1
TABLEUPDATE(.t.)
ENDIF
Release ThisForm
CASE rrr=7
SELECT f_fact
IF CURSORGETPROP("Buffering") > 1
TABLEREVERT()
ENDIF
SELECT f_factt
IF CURSORGETPROP("Buffering") > 1
TABLEREVERT()
ENDIF
Release ThisForm
CASE rrr=2
ENDCASE
ENDPROC
PROCEDURE Command5.Click
SELECT f_factt
APPEND blank
REPLACE счетфакт_id with f_fact.счетфакт_id
REPLACE id_товара with 1
thisform.grid1.Column3.Text1.SetFocus()
ENDPROC
PROCEDURE Refresh
this.Value=iif(f_fact.вид,1,2)
IF This.Value=1
SELECT f_sprpp
**LOCATE FOR F_sprpp.вид=.t.
SET filter to f_sprpp.вид=.t.
**if found()
thisform.Combo2.Value=f_sprpp.код_id
thisform.Combo2.Refresh()
** ThisForm.Combo2.Enabled=.f.
**endif
ELSE
SELECT f_sprpp1
**LOCATE FOR F_sprpp.вид=.t.
SET filter to f_sprpp1.вид=.t.
** if found()
thisform.Combo1.Value=f_sprpp1.код_id
thisform.Combo1.Refresh()
** ThisForm.Combo1.Enabled=.f.
** endif
ENDIF
SELECT f_fact
ENDPROC
PROCEDURE Click
SELECT f_fact
PUBLIC ksh
ksh=f_fact.счетфакт_id
REPORT form fact.frx to printer noconsole nowait
Release ksh
SELECT f_factt
SET filter to
SELECT f_fact
SET filter to
thisform.Refresh()
ENDPROC
PROCEDURE Click
SELECT f_fact
TABLEUPDATE()
SELECT f_factt
TABLEUPDATE()
SELECT f_fact
DO form oplata.scx with recno()
ENDPROC
PROCEDURE Click
SELECT f_fact
TABLEUPDATE()
SELECT f_factt
TABLEUPDATE()
SELECT f_fact
DO form otgr.scx with recno()
ENDPROC
PROCEDURE Click
SELECT f_fact
PUBLIC ksh
ksh=f_fact.счетфакт_id
Application.Visible=.t.
REPORT form fact.frx preview
Application.Visible=.f.
Release ksh
SELECT f_factt
SET filter to
SELECT f_fact
SET filter to
thisform.Refresh()
ENDPROC
PROCEDURE Click
IF This.Value=0
SET deleted off
this.Parent.grid1.DeleteMark=.T.
thisform.Refresh
ELSE
SET deleted on
this.Parent.grid1.DeleteMark=.F.
thisform.Refresh
ENDIF
ENDPROC
****** * SPR.SCX
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
IF nError=1884
IF sys(2018)="PRIMARYKEY" then
MESSAGEBOX("Фирма с таким кодом уже существует",16,"Ошибка")
this.Parent.Parent.код_id1.SetFocus
RETURN
ELSE
MESSAGEBOX("Фирма с таким инн уже существует",16,"Ошибка")
this.Parent.Parent.инн1.SetFocus
RETURN
ENDIF
ELSE
DoDefault()
ENDIF
ENDPROC
PROCEDURE Init
LPARAM kkk
this.Form1.Pageframe1.ActivePage=kkk
ENDPROC
PROCEDURE Activate
UNLOCK all
SET deleted off
SET exact on
GO top
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=27
thisform.Mypicbtns1.cmdExit.SetFocus()
thisform.Mypicbtns1.cmdExit.Click()
ELSE
IF nKeyCode=-2
DO case
CASE ThisForm.Pageframe1.ActivePage=1
thisform.Mypicbtns1.cmdAdd.Setfocus()
thisform.Mypicbtns1.cmdAdd.Click()
CASE ThisForm.Pageframe1.ActivePage=2
thisform.Mypicbtns1.cmdAdd.Setfocus()
thisform.Mypicbtns1.cmdAdd.Click()
CASE ThisForm.Pageframe1.ActivePage=3
thisform.Mypicbtns1.cmdAdd.Setfocus()
thisform.Mypicbtns1.cmdAdd.Click()
CASE ThisForm.Pageframe1.ActivePage=4
thisform.Mypicbtns1.cmdAdd.Setfocus()
thisform.Mypicbtns1.cmdAdd.Click()
CASE ThisForm.Pageframe1.ActivePage=5
thisform.Mypicbtns1.cmdAdd.Setfocus()
thisform.Mypicbtns1.cmdAdd.Click()
CASE ThisForm.Pageframe1.ActivePage=6
thisform.Mypicbtns1.cmdAdd.Setfocus()
thisform.Mypicbtns1.cmdAdd.Click()
CASE ThisForm.Pageframe1.ActivePage=7
thisform.Mypicbtns1.cmdAdd.Setfocus()
thisform.Mypicbtns1.cmdAdd.Click()
ENDCASE
NODEFAULT
ENDIF
ENDIF
ENDPROC
PROCEDURE Page1.Activate
thisform.Caption='Справочник фирм поставщиков/потребителей'
thisform.Pageframe1.Page1.FontBold=.T.
SELECT f_sprpp
SET relation to bank into f_sprb1
thisform.Mypicbtns1.nWorkArea=select()
GO top
thisform.Refresh
this.grid1.SetFocus()
ENDPROC
PROCEDURE Page1.Deactivate
thisform.Pageframe1.Page1.FontBold=.F.
SELECT f_sprpp
SET relation off into f_sprb1
ENDPROC
PROCEDURE Page2.Activate
thisform.Caption='Справочник видов товаров'
thisform.Pageframe1.Page2.FontBold=.T.
SELECT f_sprvt
SET relation to код_группы into f_sprgt
thisform.Mypicbtns1.nWorkArea=select()
GO top
thisform.Refresh
this.grid1.SetFocus()
ENDPROC
PROCEDURE Page2.Deactivate
thisform.Pageframe1.Page2.FontBold=.F.
SELECT f_sprvt
SET relation off into f_sprgt
ENDPROC
PROCEDURE Page3.Activate
thisform.Caption='Справочник групп товаров'
thisform.Pageframe1.Page3.FontBold=.T.
SELECT f_sprgt1
thisform.Mypicbtns1.nWorkArea=select()
GO top
thisform.Refresh
this.grid1.SetFocus()
ENDPROC
PROCEDURE Page3.Deactivate
thisform.Pageframe1.Page3.FontBold=.F.
ENDPROC
PROCEDURE Page4.Activate
thisform.Caption='Справочник единиц измерения'
thisform.Pageframe1.Page4.FontBold=.T.
SELECT f_sprei
thisform.Mypicbtns1.nWorkArea=select()
GO top
thisform.Refresh
this.grid1.SetFocus()
ENDPROC
PROCEDURE Page4.Deactivate
thisform.Pageframe1.Page4.FontBold=.F.
ENDPROC
PROCEDURE Page5.Activate
thisform.Caption='Справочник НДС'
thisform.Pageframe1.Page5.FontBold=.T.
SELECT f_nds
thisform.Mypicbtns1.nWorkArea=select()
GO top
thisform.Refresh
this.grid1.SetFocus()
ENDPROC
PROCEDURE Page5.Deactivate
thisform.Pageframe1.Page5.FontBold=.F.
ENDPROC
PROCEDURE Page6.Activate
thisform.Caption='Справочник документов оплаты'
thisform.Pageframe1.Page6.FontBold=.T.
SELECT f_sprdo
thisform.Mypicbtns1.nWorkArea=select()
GO top
thisform.Refresh
this.grid1.SetFocus()
ENDPROC
PROCEDURE Page6.Deactivate
thisform.Pageframe1.Page6.FontBold=.F.
ENDPROC
PROCEDURE Page7.Deactivate
thisform.Pageframe1.Page7.FontBold=.F.
ENDPROC
PROCEDURE Page7.Activate
thisform.Caption='Справочник банков'
thisform.Pageframe1.Page7.FontBold=.T.
SELECT f_sprb
thisform.Mypicbtns1.nWorkArea=select()
GO top
thisform.Refresh
this.grid1.SetFocus()
ENDPROC
PROCEDURE AfterRowColChange
LPARAMETERS nColIndex
thisform.Refresh
ENDPROC
PROCEDURE Deleted
LPARAMETERS nRecNo
GO nRecNo
thisform.Refresh
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Вы хотите удалить эту запись?"
#DEFINE C_NOLOCK_LOC "Запись не может быть удалена, так как используется."
* Note: Cascading deletes should be handled via RI triggers in DBC!
IF DELETED()
RECALL
IF THISForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ELSE
IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
Delete
IF THISForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ENDIF
ENDIF
IF THISFORM.ShowWindow = 2
Activate Window (THISFORM.Name)
ENDIF
GO nRecNo
IF DELETED()
RECALL
ELSE
Delete
ENDIF
ENDPROC
PROCEDURE Click
SELECT f_sprpp
SET order to namef
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
SELECT f_sprpp
SET order to primarykey
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Refresh
IF This.Enabled=.f.
this.Value=alltrim(f_sprpp.телефон)
ENDIF
ENDPROC
PROCEDURE Click
IF This.Value=0
SET deleted off
this.Parent.grid1.DeleteMark=.T.
thisform.Refresh
ELSE
SET deleted on
this.Parent.grid1.DeleteMark=.F.
thisform.Refresh
ENDIF
ENDPROC
PROCEDURE Deleted
LPARAMETERS nRecNo
GO nRecNo
thisform.Refresh
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Вы хотите удалить эту запись?"
#DEFINE C_NOLOCK_LOC "Запись не может быть удалена, так как используется."
* Note: Cascading deletes should be handled via RI triggers in DBC!
IF DELETED()
RECALL
IF THISForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ELSE
IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
Delete
IF THISForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ENDIF
ENDIF
IF THISFORM.ShowWindow = 2
Activate Window (THISFORM.Name)
ENDIF
GO nRecNo
IF DELETED()
RECALL
ELSE
Delete
ENDIF
ENDPROC
PROCEDURE Click
SELECT f_sprvt
SET order to тов_id
this.Parent.Parent.refresh()
ENDPROC
PROCEDURE Click
SELECT f_sprvt
SET order to наименован
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
SELECT f_sprvt
SET order to код_группы
this.Parent.Parent.refresh()
ENDPROC
PROCEDURE Click
IF This.Value=0
SET deleted off
this.Parent.grid1.DeleteMark=.T.
thisform.Refresh
ELSE
SET deleted on
this.Parent.grid1.DeleteMark=.F.
thisform.Refresh
ENDIF
ENDPROC
PROCEDURE AfterRowColChange
LPARAMETERS nColIndex
thisform.Refresh
ENDPROC
PROCEDURE Click
SET order to код_id
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
SET order to наименован
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
IF This.Value=0
SET deleted off
this.Parent.grid1.DeleteMark=.T.
thisform.Refresh
ELSE
SET deleted on
this.Parent.grid1.DeleteMark=.F.
thisform.Refresh
ENDIF
ENDPROC
PROCEDURE AfterRowColChange
LPARAMETERS nColIndex
thisform.Refresh
ENDPROC
PROCEDURE Deleted
LPARAMETERS nRecNo
GO nRecNo
thisform.Refresh
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Вы хотите удалить эту запись?"
#DEFINE C_NOLOCK_LOC "Запись не может быть удалена, так как используется."
* Note: Cascading deletes should be handled via RI triggers in DBC!
IF DELETED()
RECALL
IF THISForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ELSE
IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
Delete
IF THISForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ENDIF
ENDIF
IF THISFORM.ShowWindow = 2
Activate Window (THISFORM.Name)
ENDIF
GO nRecNo
IF DELETED()
RECALL
ELSE
Delete
ENDIF
ENDPROC
PROCEDURE Click
SET order to код_id
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
SET order to ед_изм
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
IF This.Value=0
SET deleted off
this.Parent.grid1.DeleteMark=.T.
thisform.Refresh
ELSE
SET deleted on
this.Parent.grid1.DeleteMark=.F.
thisform.Refresh
ENDIF
ENDPROC
PROCEDURE Deleted
LPARAMETERS nRecNo
GO nRecNo
thisform.Refresh
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Вы хотите удалить эту запись?"
#DEFINE C_NOLOCK_LOC "Запись не может быть удалена, так как используется."
* Note: Cascading deletes should be handled via RI triggers in DBC!
IF DELETED()
RECALL
IF THISForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ELSE
IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
Delete
IF THISForm.Mypicbtns1.UpdateRows() &&success
* Success
IF !EOF()
Skip 1
ENDIF
IF EOF() AND !BOF()
Skip -1
ENDIF
ENDIF
thisform.LockScreen = .T.
thisform.Mypicbtns1.ButtonRefresh()
thisform.Mypicbtns1.NavRefresh()
thisform.LockScreen = .F.
ENDIF
ENDIF
IF THISFORM.ShowWindow = 2
Activate Window (THISFORM.Name)
ENDIF
GO nRecNo
IF DELETED()
RECALL
ELSE
Delete
ENDIF
ENDPROC
PROCEDURE AfterRowColChange
LPARAMETERS nColIndex
thisform.Refresh
ENDPROC
PROCEDURE Click
IF This.Value=0
SET deleted off
this.Parent.grid1.DeleteMark=.T.
thisform.Refresh
ELSE
SET deleted on
this.Parent.grid1.DeleteMark=.F.
thisform.Refresh
ENDIF
ENDPROC
PROCEDURE AfterRowColChange
LPARAMETERS nColIndex
thisform.Refresh
ENDPROC
PROCEDURE Click
SET order to код
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
SET order to наименован
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
IF This.Value=0
SET deleted off
this.Parent.grid1.DeleteMark=.T.
thisform.Refresh
ELSE
SET deleted on
this.Parent.grid1.DeleteMark=.F.
thisform.Refresh
ENDIF
ENDPROC
PROCEDURE AfterRowColChange
LPARAMETERS nColIndex
thisform.Refresh
ENDPROC
PROCEDURE Click
SET order to код
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
SET order to наименован
this.Parent.Parent.Refresh()
ENDPROC
PROCEDURE Click
Подобные документы
Анализ использования автоматизированной системы управления материально-техническим снабжением и средств программирования. Разработка программы на языке Visual FoxPro, процесс ее работы и отладки. Мероприятия по технике безопасности при работе на ЭВМ.
дипломная работа [1,0 M], добавлен 29.06.2012Этапы разработки программы "Информационная система ГИБДД". Характеристика понятия и видов интерфейса программного продукта. Анализ и экономическое обоснование разрабатываемой программы. Изучение общих требований по технике безопасности при работе на ПК.
дипломная работа [3,9 M], добавлен 27.02.2010Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.
курсовая работа [585,5 K], добавлен 24.03.2009Общая характеристика деятельности Калининградского филиала федерального государственного бюджетного учреждения "Центр системы мониторинга рыболовства и связи". Инструктаж на рабочем месте. Анализ базы данных предприятия с помощью программы Visual FoxPro.
отчет по практике [18,7 K], добавлен 10.02.2014Теоретические основы создания баз данных в Visual Foxpro 9.0. Описание программы, использование ее команд. Создание табличной базы данных, отношений между таблицами в многотабличной базе данных больных в больнице. Редактирование табличного отчета.
курсовая работа [681,2 K], добавлен 19.12.2013Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013Особенности алгоритмов, критерии качества. Создание и применение программного продукта на языке Delphi. Тип операционной системы. Внутренняя структура программного продукта. Руководство пользователя и программиста, расчет себестоимости и цены программы.
дипломная работа [1,5 M], добавлен 12.06.2009Разработка программного продукта "ИС Автотранспорт". Автоматизация функционирования автопарка и временного склада товаров, учета заявок клиентов и заполнения путевых листов. Реляционная модель базы данных. Описание функционирования программного продукта.
дипломная работа [1,8 M], добавлен 14.03.2017Обзор возможностей, базовых классов и элементов управления Microsoft Visual Foxpro, описание функций и возможностей языка SQL. Постановка задачи, руководство пользователя и листинг программы. Компоненты информационной системы, основные функции СУБД.
курсовая работа [360,1 K], добавлен 12.06.2010Статус, структура и система управления функциональных подразделений и служб предприятия. Правила и нормы охраны труда, техники безопасности при работе с вычислительной техникой. Тестирование программного продукта. Составление руководства пользователя.
отчет по практике [4,8 M], добавлен 31.03.2015