Как сделать это эффективней



Posted by Сергей Коломиец on November 15, 1999 at 12:30:52:

При попытке использовать индексную базу ФБП получилась форма, которая приведена в конце сообщения. Конечно не совсем удобно работать с вопросами формы, которые через определенное количество перестают задаваться, повторяя последний вопрос. Но это половина вопроса. Основное - почему такая форма "вешает" сервер? Точнее не "вешает", а вынуждает неистово отрабатывать конкретный запрос, оставляя в стороне все остальные.

Вот форма, (урезаный вариант):

* Введение данных о сотруднике
ST=[ia 70]
KD=[cp[n1 *ST],7,3] Формируем префикс ключа индексной базы
*
* Разделы данных
*
:MENUE
T=[im 'Выбор','Отчет','Должностные','Рождение','Ад. прописки']
!T=1
goto RD1 +Отчет+
!T=2
goto RD2 +Должностные данные+
!T=3
goto RD3 +Данные о рождении+
!T=4
goto RD4 +Адрес прописки+
!
*
*
*
:RD1
Работа прекращена ...
stop
*
*
*
:RD2
*001
K1=KD+'001' добавляем суффикс получаем ключ
A1=[ged K1]
!A1=0
A1='ТАЙНЫЙ АГЕНТ'
!
A1=[is 'Должность: ',A1,35] єьхэЄр
T=[sed K1,A1]
*002
K1=KD+'002' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1=' / / '
!
A1=[is 'Принят (дд/мм/гггг): ',A1,10] єьхэЄр
T=[sed K1,A1]
*003
K1=KD+'003' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1='12/12/0001'
!
A1=[is 'Уволен (дд/мм/гггг): ',A1,10]   ш эюьхЁ фюъєьхэЄр
T=[sed K1,A1]
*004
K1=KD+'004' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1='ПО ЖЕЛАНИЮ РУКОВОДИТЕЛЯ'
!
A1=[is 'Причина увольнения: ',A1,30]   ш эюьхЁ фюъєьхэЄр
T=[sed K1,A1]
Введены должностные данные ...
goto MENUE
*
*
*
:RD3
*020
K1=KD+'020' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1=' / / '
!
A1=[is 'Дата рождения (дд/мм/гггг): ',A1,10]
T=[sed K1,A1]
*021
K1=KD+'021' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1=''
!
A1=[is 'Пол фактический (М/Ж): ',A1,1]
T=[sed K1,A1]
*022
K1=KD+'022' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1=''
!
A1=[is 'Национальность: ',A1,20]
T=[sed K1,A1]
goto MENUE
*
*
*
:RD4
*030
K1=KD+'030' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1='000000'
!
A1=[is 'Адрес прописки (индекс): ',A1,6]
T=[sed K1,A1]
*031
K1=KD+'031' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1='КРАСНОДАР'
!
A1=[is 'Адрес прописки (город): ',A1,30]
T=[sed K1,A1]
*032
K1=KD+'032' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1='КАРАСУНСКИЙ Р-Н '
!
A1=[is 'Адрес прописки (район): ',A1,30]
T=[sed K1,A1]
*033
K1=KD+'033' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1='КРАСНОДАРСКИЙ КР.'
!
A1=[is 'Адрес прописки (область): ',A1,30]
T=[sed K1,A1]
*034
K1=KD+'034' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1='РОССИЯ'
!
A1=[is 'Адрес прописки (страна): ',A1,30]
T=[sed K1,A1]
*35
K1=KD+'035' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1=' '
!
A1=[is 'Адрес прописки (улица): ',A1,30]
T=[sed K1,A1]
*036
K1=KD+'036' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1='0001'
!
A1=[is 'Адрес прописки (N.дом.): ',A1,4]
T=[sed K1,A1]
*037
K1=KD+'037' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1='001'
!
A1=[is 'Адрес прописки (N.кв.): ',A1,3]
T=[sed K1,A1]
*038
K1=KD+'038' добавляем суффикс получаем ключ
A1=''
A1=[ged K1]
!A1=0
A1='(8612)556677'
!
A1=[is 'Адрес прописки (тел.): ',A1,12]
T=[sed K1,A1]
*039 пусто!!!
Введены данные об адресе прописки...
goto MENUE



Пpишедшие ответы: