-AND- написал(а):
-------------------------------------------------------
> 1.Есть база данных электронной литературы.
> 2.В нее добавил поле 927: Шифр электронного
> документа.
> 3.В этом поле сделал два подполя, из которых
> 927^H - подполе, в котором будет выбираться из
> иерархического справочника индекс ББК(я его
> немного изменил, а точнее поменял русскую букву на
> английскую, для того чтобы можно было в ссылку
> такое название поместить и для совместимости).
> 927^M - подполе для номера, взятого со счетчика с
> помощью AUTOIN.GBL.
Поскольку Вы хотите сделать поле 927 повторяющимся, глобальная корректировка должна выглядеть следующим образом:
ADD
927^m
F
(if p(v927) then if a(v927^m) then &uf('+1W200#',&uf('G0.',927^h)),&uf('DCOUNT,|VD=CNT|,',"(if p(v5000) then if v5000^a=&uf('+1R200') then v5000^b, break fi,fi)"d920)),&uf('+1W200#') fi,fi#)
XXXXXXXXXXXXXXXXXXX
> И еще вопрос: что это за комманда Break? И зачем в
> записи
> if a(v4000^b) then
> &uf('+1W200#',&uf('G0.',v4000^a)),&uf('DCOUNT,|VD=
> MCOUNT|,',"(if p(v5000) then if
> v5000^a=&uf('+1R200') then v5000^b, break
> fi,fi)"d920)),&uf('+1W200#') fi
> d920?
BREAK - команда выхода из повторяющейся группы(цикла). Как и многие другие полезные команды – не документирована. Появилась, если мне не изменяет память, в версии 2005.1(кстати, какую версию Вы используете?). Поскольку все значения 5000^a являются здесь уникальными, то эта команда не обязательна, но она позволяет увеличить скорость получения номера, сразу прерывая процесс "сканирования" повторений после нахождения нужного значения.
> И всеравно возвращаясь к настроечной записи, я не
> понял как именно она делается, где именно
> указывается эта запись, в каком месте должно
> указываться, что в поле 920 VD=MCOUNT?
Чтобы создать настроечную запись нужно:
1. Создать новую запись в любой базе;
2. Пролистать вкладки и найти поле "920: Имя рабочего листа";
3. Вместо того значения, которое будет находиться там по умолчанию – PAZK, ввести MCOUNT;
4. Сохранить запись.
Вот и всё!
> И еще |VD=MCOUNT| - это термин доступа? Если да,
> то как выглядит формат выборки для этого термина
> доступа, и где этот формат был написан(в ТВП или в
> поле 920, при вводе через словарь)?
Да, VD=MCOUNT - это термин доступа, ключ для поиска записи в словаре. VD= - префикс, а MCOUNT - сам термин словаря, которым в данном случае является название рабочего листа.
Попробую пояснить как можно проще. Словарь - это одна большая свалка текстовых строк выделенных из библиографических записей. Чтобы можно было определить, какой термин является автором, а какой заглавием, им назначаются префиксы, состоящие из латинских букв и закачивающиеся, как правило, знаком [=]. То, какой префикс назначается какому термину, определяется в файле [имя базы].fst. Чтобы в словаре появилось значение VD=MCOUNT нужно добавить в этот файл строку:
920 0 "VD="v920
Если настроечная запись находится в CMPL, то там, в CMPL.FST подобная строка уже есть. Ничего добавлять не нужно.
Откройте файл c расширением l01 вашей библиографической базы в любом просмотрщике и попробуйте найти там префиксы [A=], а затем посмотрите на фамилии авторов в модуле Читатель. Многое для Вас тут же прояснится.
> Но счетчик сделаю, это дело принципа:)
Если это "дело принципа", то конечно нужно довести его до конца, но затем я всё-таки рекомендую остановиться на более корректном способе решения данной задачи. ;) Вы можете установить WEB-сервер, действующий в интранете. Если Вы программируете, то Вам гораздо проще будет написать скрипт на PHP или любом другом языке, чем разбираться в премудростях ирбисоводства. Скрипт для обработки HTTP запросов такого вида:
http ://servername/counter.php?filename=333&bbk=63
где filename - имя файла, а bbk - систематический индекс. Он будет возвращать пользователям файл который им нужен, обеспечивать защиту электронной коллекции, если это требуется, и конечно вести необходимые Вам протоколы.
Что касается самой ссылки, то она будет очень легко формироваться в формате просмотра(помогу сделать). У нас она выглядела так:
[
www.elib.nwpi.ru]
Вы получите невероятное удовольствие, перейдя из редактора форматов в Zend PHP Studio, а библиотекари будут благодарны Вам за избавление от бессмысленной работы. :)
PS
> я, насамом деле не тупой, просто имея только
> описание сложно это самому разрулить.
Если бы я сомневался в этом, то не стал бы отвечать на Ваши вопросы. От ИРБИСа кружится голова даже у очень хороших программистов. :)
> Извените, удалялся на праздники.
Судя по тому, что 4 числа Вы уже вышли на работу можно предположить, что Вы проживаете где-то в СНГ. Нельзя ли полюбопытствовать какую библиотеку Вы представляете?
Редактировано 2 раз. Последний раз 08.01.2007 16:54 пользователем Кирилл Соколинский (СЗТУ).