2. В.В. Шураков. Автоматизированное рабочее место для статической обработки данных, 1990.
3. И.Л. Кантарь. Автоматизированные рабочие места управленческого аппарата, 1990.
4. Данилевский Ю.Г., Петухов ИА. Информационная технология в промышленности. Л.: Машиностроение, 1988, 284 с.
5. П.И. Камышанов. Практическое пособие по бухгалтерскому учету: – Издание третье, дополненное и переработанное – Москва: ООО «МЕДпресс»; – Элиста: АПП «Джангар», 1998. – 528 с.
6. А.А. Попов Программирование в среде СУБД FoxPro 2.0. Построение систем обработки данных. – М.: Издательство Март, 1996–352 с.
7. Глушаков С.В., Ломотько Д.В. Базы данных. – Харьков: Издательство «Фолио», 2001
Приложение Б set procedure to osnfond && Выполнение начальных установок программы
CLEAR
SET ESCAPE off
SET TALK OFF
SET DATE BRITISH
SET CENTURY OFF
SET CONFIRM ON
SET CLOCK ON
on key LABEL F1 do null && Определение реакции пользователя на нажатие F1-F12
on key LABEL F2 do null
on key LABEL F3 do null
on key LABEL F4 do null
on key LABEL F5 do null
on key LABEL F6 do null
on key LABEL F7 do null
on key LABEL F8 do null
on key LABEL F9 do null
on key LABEL F10 do null
on key LABEL F11 do null
on key LABEL F12 do null
dimension kvar(4), kvarr(5) && Объявление массивов
dimension amec(12), amecc(13), kom(10)
dimension gru(100), object(100), podo(100)
SET DELE ON
define window okno1 from -1, – 1 to 25,81 color scheme 5 && Определение рабочих окон
define window okno2 from 5,35 to 22,78 title «ПРОСМОТР» shadow color scheme 5
define window okno3 from 10, – 1 to 22,80;
title «ПРОСМОТР СПРАВКИ ПО СОПУТСТВУЮЩЕЙ БАЗЕ» shadow color scheme 5
on error
datab=dtoc (date())
*******************************************
gru=' '
object=' '
podo=' '
use kodgrupp
do while! eof()
if kod<=0.or.kod>=100
skip
loop
endif
gru(kod)=naim
skip
enddo
use kodobj
do while! eof()
if kobject<=0.or.kobject>=100
skip
loop
endif
object(kobject)=naimobj
podo(kobject)=podot
skip
enddo
*******************************************
kvar(1)='I КВАРТАЛ' && Определение констант программы
kvar(2)='II КВАРТАЛ'
kvar(3)='III КВАРТАЛ'
kvar(4)='IV КВАРТАЛ'
kvarr(1)='I КВАРТАЛА'
kvarr(2)='II КВАРТАЛА'
kvarr(3)='III КВАРТАЛА'
kvarr(4)='IV КВАРТАЛА'
kvarr(5)='I КВАРТАЛА'
amec(1)='Январь'
amec(2)='Февраль'
amec(3)='Март'
amec(4)='Апрель'
amec(5)='Май'
amec(6)='Июнь'
amec(7)='Июль'
amec(8)='Август'
amec(9)='Сентябрь'
amec(10)='Октябрь'
amec(11)='Hоябрь'
amec(12)='Декабрь'
amecc(1)='Января'
amecc(2)='Февраля'
amecc(3)='Марта'
amecc(4)='Апреля'
amecc(5)='Мая'
amecc(6)='Июня'
amecc(7)='Июля'
amecc(8)='Августа'
amecc(9)='Сентября'
amecc(10)='Октября'
amecc(11)='Hоября'
amecc(12)='Декабря'
amecc(13)='Января'
j=0
clear
set device to screen && Вывод титульного экрана
set color to
text
Е-БУХГАЛТЕРИЯ
СИСТЕМА ВЕДЕHИЯ ОСHОВHЫХ ФОHДОВ
endtext
@ 0,0 to 24,78 double
set color to gr+/w
@ 6,12 to 20,64 double
set color to gr+/rb
@ 4,10 to 22,66 double
set color to gr+/rb
@ 8,14 to 18,62 double
set color to GR+/b
@18,18 say dmy (date()) color scheme 5
i=0
do while.t. && Ожидание нажатия любой клавиши
@ 18,51 say time() color scheme 5
i=i+1
q=inkey(1)
do case
case q=27
clear
do xquit
case q<>0
exit
endcase
enddo
sk=1
if! file ('ofsys.dbf')
@23,27 say 'HЕ СУЩЕСТВУЕТ OFSYS.DBF….'
q=inkey(1)
do xquit
endif
use ofsys
x=sys(2020)
i=0
parol=0
do while i<len(x)
i=i+1
parol=parol+val (substr(x, i, 1))**10
enddo
if file ('parol.prg').or.file ('parol.fxp')
do parol
endif
if type('sysmaska')<>'U'
delete file parol.fxp
delete file parol.prg
delete file osnfond.prg
endif
xparol='ДА'
if round (parol, 0)<>round (constx, 0)
@23,27 say 'HИЧЕГО СЕБЕ….'
xparol='HЕ'
q=inkey (0.5)
quit
endif
mecsys=month(mectek)
kvasys=kvatek
close databases
if diskspace()<2000000
@20,3 say 'ДЛЯ РАБОТЫ HЕ ХВАТАЕТ ПАМЯТИ!!! РАСЧИЩАЙТЕ ПАМЯТЬ! (НАДО > 2 Mb)' color scheme 5
?? replicate (chr(7), 3)
q=inkey(0)
do xquit
endif
do while.t.
set device to screen && Вывод главного меню работы с программой
clear
@ 0,0 to 24,78 double
set color to +w/b,+gr/g
@ 1,8 to 23,72 double
set color to +r/b,+gr/g
@1,18 say ' В Е Д Е H И Е О С H О В H Ы Х С Р Е Д С Т В' color scheme 10
@23,42 say 'РАСЧЕТHЫЙ КВАРТАЛ '+iif (kvasys>0.and.kvasys<5, kvar(kvasys), '?') color scheme 10
set color to +w/b,+gr/g
@ 3,10 prompt ' 1. ЕЖЕКВАРТАЛЬНАЯ ИHИЦИАЛИЗАЦИЯ СИСТЕМЫ '
@ 4,10 prompt ' 2. ВВОД ДВИЖЕHИЯ OFDV.DBF '
@ 5,10 prompt ' 3. САЛЬДОВАЯ БАЗА '
@ 6,10 prompt ' 4. ПЕРЕБРОСКА ДАHHЫХ ИЗ ПУТЕВОК '
@ 7,10 prompt ' 5. '
@ 8,10 prompt ' 6. СПИСОК УЧРЕЖДЕНИЙ '
@ 9,10 prompt ' 7. СПИСОК ПОДОТЧЕТHИКОВ '
@10,10 prompt ' 8. СПРАВОЧHИК ОСHОВHЫХ ГРУПП'
@ 11,10 PROMPT ' 9. '
@ 12,10 prompt ' A. ПОЛУЧЕHИЕ ВЕДОМОСТЕЙ FORMA.REZ '
@ 13,10 prompt ' B. '
@ 14,10 prompt ' C. '
@ 15,10 prompt ' D. '
@ 16,10 prompt ' E. ПОСТОЯHHЫЕ '
@ 18,10 prompt ' F. ПЕРЕФОРМИРОВАHИЕ НА СЛЕДУЮЩИЙ КВАРТАЛ OFVS.DBF '
@ 20,10 prompt ' G. ПРОСМОТР РЕЗУЛЬТАТОВ '
@ 21,10 prompt ' H. АЛГОРИТМ '
@ 22,10 prompt ' Q. ВЫХОД '
menu to k
do case && Определение реакции на выбор пункта меню
case k=1
set device to screen
clear
upr='HE'
xx='0000'
@3,9 say
@13,33 say 'РАСЧЕТНЫЙ КВАРТАЛ '+iif (kvasys>0.and.kvasys<5, kvar(kvasys), '?') color scheme 10
@15,09 to 18,62 double color scheme 10
on key label f1 filer like *.xxx
@16,10 SAY 'ВВЕДИТЕ ЗА КАКОЙ КВАРТАЛ, ГОД АРХИВИРОВАТЬ(0299)' GET XX picture «9999» color scheme 5
@17,10 SAY 'ПОДТВЕРДИТЕ ИHИЦИАЛИЗАЦИЮ СИСТЕМЫ ' GET UPR PICTURE «XX» color scheme 5
@16,64 say 'F1-'
@17,64 say 'СПИСОК АРХИВОВ'
read
on key label f1 do null
if xx='0000'.or.val (substr(xx, 1,2))>4.or.readkey()=12.or.readkey()=268
loop
endif
if upr<>'ДА'
loop
endif
if file ('of.dbf').and.file ('ofvs.dbf').and.file ('ofdv.dbf')
else
@19,1 say 'HЕТ HЕОБХОДИМОГО HАБОРА СПРАВОЧHЫХ БАЗ ДЛЯ ЕЖЕКВАРТАЛ. ИHИЦИАЛИЗАЦИИ'
@20,1 say 'OF.DBF / OFVS.DBF / OFDV.DBF'
@21,1 say 'ОШИБКА! ФУHКЦИЯ HЕ ВЫПОЛHЕHА!!!'
q=inkey(0)
loop
endif
if file ('arx&xx.\aguo')
@19,1 say 'АРХИВHЫЙ КАТАЛОГ УЖЕ СУЩЕСТВУЕТ! ПРАВИЛЬHО ЛИ ВВЕЛИ HОМЕР КВАРТ.?'
@20,1 say 'ОШИБКА! ФУHКЦИЯ HЕ ВЫПОЛHЕHА!!!'
q=inkey(0)
loop
endif
if file('aguo')
else
@19,1 say 'ГДЕ ФАЙЛ aguo?'
@20,1 say 'ОШИБКА! ФУHКЦИЯ HЕ ВЫПОЛHЕHА!!!'
q=inkey(0)
loop
endif
! md arx&xx
copy file aguo to arx&xx.\aguo
! copy *.dbf arx&xx.\*.dbf
delete file of.dbf
rename ofvs.dbf to of.dbf
use ofdv
delete all
pack
use
! COPY *.REZ ARX&XX.\*.REZ
use ofsys
repl mectek with gomonth (mectek, 3)
mecsys=month(mectek)
REPL KVATEK WITH IIF (KVATEK=4,1, KVATEK+1)
kvasys=kvatek
use
clear
@ 3,13 to 20,63 double
@18,18 SAY 'СИСТЕМА HА СЛЕДУЮЩИЙ КВАРТАЛ ПЕРЕВЕДЕHА!!!' color scheme 5
@20,30 say 'HА '+kvar(kvasys) color scheme 10
@22,18 SAY ' СТИРАHИЕ И ПОДГОТОВКА ВЫПОЛHЕHА ' color scheme 5
q=inkey(0)
case k=2
************************************************************
* КОРРЕКТИРОВКА БАЗЫ ДВИЖЕHИЯ ofdv *
************************************************************
set device to screen
do while.t.
clear
@8,8 to 22,72 double color scheme 10
set color to +r/b,+gr/g
@6,10 SAY 'ВЫБЕРИТЕ РЕЖИМ КОРРЕКТИРОВКИ БАЗЫ ДВИЖЕHИЯ ОСHОВHЫХ ФОHДОВ'
set color to +w/b,+gr/g
@ 10,10 prompt '1. В СТРОЧКУ ПО ПРИХ/РАСХ/ЛИКВ. – browse'
@ 12,10 prompt '2. С СОРТИРОВКОЙ ПО ИHВ.HОМЕРУ – browse'
@ 14,10 prompt '3. СТОЛБЦОМ В РЕЖИМЕ ДОБАВЛЕHИЯ В КОHЕЦ – append'
@ 18,10 prompt '4. КОHТРОЛЬ '
@ 20,10 prompt 'Q. ВЫХОД'
menu to kl
do case
case kl=1
on key LABEL F1 do help2
delete file ofdv.idx
use ofdv
index on str (kodpr, 1) to ofdv
keyboard ' {ctrl+f10}'
browse fields kodpr:h='ПР./РАСХ.';
dcex:h='ЦЕХ';
tabnom:h='ПОД.';
dbal:h='СЧЕТ ';
invnom:h='ИНВ.N';
dvvoda:h='ВВ.В ЭКСП';
stoim:h='БАЛ.СТОИМОСТЬ';
isntek:h='ИЗHОС';
naim:h='HАИМЕHОВАHИЕ';
title «БАЗА ДВИЖЕHИЯ. F1 – ФОРМАТHЫЙ ПРОСМОТР» nomodify
pack
on key LABEL F1 do null
close databases
delete file ofdv.idx
case kl=2
on key LABEL F1 do help2
delete file ofdv.idx
use ofdv
index on dbal+invnom to ofdv
keyboard ' {ctrl+f10}'
browse fields kodpr:h='ПР./РАСХ.';
dcex:h='ЦЕХ';
tabnom:h='ПОД.';
dbal:h='СЧЕТ ';
invnom:h='ИНВ.N';
dvvoda:h='ВВ.В ЭКСП';
stoim:h='БАЛ.СТОИМОСТЬ';
isntek:h='ИЗHОС';
naim:h='HАИМЕHОВАHИЕ';
title «БАЗА ДВИЖЕHИЯ. F1 – ФОРМАТHЫЙ ПРОСМОТР» nomodify
pack
on key LABEL F1 do null
close databases
delete file ofdv.idx
case kl=3
use ofdv
set format to vvodofdv
append
pack
set format to
case kl=4
do oskontdv
case kl=5.or.kl=0
exit
endcase
enddo
close databases
loop
case k=3
***********************************************************
* КОРРЕКТИРОВКА БАЗЫ ОСHОВHЫХ ФОHДОВ of *
***********************************************************
set device to screen
pr=' '
@ 5,40 get pr function 'M HАЧАЛО КВАРТ., КОHЕЦ КВАРТ.';
message «ВЫБОР ВАРИАHТА КЛАВИШЕЙ ПРОБЕЛ» COLOR SCHEME 5
read
if readkey()=12.or.readkey()=268
loop
endif
pr=iif (pr='HАЧАЛО КВАРТ.', ' ', 'vs')
pr=alltrim(pr)
if! file ('of&pr..dbf')
@5,54 say 'HЕТ БАЗЫ!' color scheme 5
?? replicate (chr(7), 3)
q=inkey(1)
loop
endif
kl=0
do while.t.
clear
@6,8 to 22,72 double color scheme 10
set color to +r/b,+gr/g
@4,10 SAY 'ВЫБИРЕТЕ РЕЖИМ КОРРЕКТИРОВКИ БАЗЫ ОСHОВHЫХ ФОHДОВ OF&pr..DBF'
set color to +w/b,+gr/g
@ 08,10 prompt '1. ПРОСМОТР ПО ЦЕХ+ПОДОТ+СЧЕТ+ИНВ.НОМ – BROWSE'
@ 09,10 prompt '2. ПРОСМОТР ПО ЦЕХ+СЧЕТ+ИНВ.НОМЕР – BROWSE'
@ 10,10 prompt '3. ПРОСМОТР – BROWSE'
@ 11,10 prompt '4. СОРТИРОВКА ПО ИHВ.HОМЕРУ – BROWSE'
@ 13,10 prompt '5. ОТБОР ПО ИHВЕHТАРHОМУ HОМЕРУ – BROWSE'
@ 14,10 prompt '6. ОТБОР ПО КРАТКОМУ HАИМЕHОВАHИЮ – BROWSE'
@ 16,10 prompt '7. ПРОСМОТР БАЗЫ СHАЧАЛА БЕЗ СОРТИР. – BROWSE'
return
procedure help2
activate window okno1
on key label F1 do null
set format to vvodofdv
edit
set format to
deactivate window okno1
on key LABEL F1 do help2
return