Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Общие вопросы Ирбис64 :  ИРБИС Irbis
 
Вопросы по autoin.gbl
Пользователь: slay (IP-адрес скрыт)
Дата: 09, November, 2011 14:03

Есть несколько вопросов по работе с файлом autoin.gbl

1. Как внутри этого файла узнать какой МФН будет у новой записи?
2. Выполнение этого файла монопольно?
3. Как узнать что запись удаляют?



Редактировано 1 раз. Последний раз 09.11.2011 14:51 пользователем slay.

Re: Вопросы по autoin.gbl
Пользователь: Gena (IP-адрес скрыт)
Дата: 09, November, 2011 14:56

1. Никак
2. ...
3. Вопрос не ясен. Что вы имеет в виду?

Re: Вопросы по autoin.gbl
Пользователь: slay (IP-адрес скрыт)
Дата: 09, November, 2011 15:06

>1. Никак
Жаль. Хотя и не смертельно - обойти можно...

>2. ...
>3. Вопрос не ясен. Что вы имеет в виду?

По поводу "монопольности" - если два каталогизатора одновременно сохраняют записи, то выполнения автоина будет "паралельно" или они "последовательно"?


> Как узнать что запись удаляют?
Можно ли внутри автоина узнать, что запись удаляют?
Другими словами: при логическом удалении вызывается автоин?

Re: Вопросы по autoin.gbl
Пользователь: Gena (IP-адрес скрыт)
Дата: 09, November, 2011 15:52

По поводу монопольности. Сохранение, а как следствие и автоввод, всегда выполняется монопольно. Файл БД Ирбиса - файл последовательного доступа, внесение изменений приводит к дописыванию информации в конец файла, эту операцию единовременно может выполнять только один человек.

По поводу удаления. Не знаю с какой версии, но в последнее время при удалении записи в нее заносятся данные о том, кто ее удалил и о самом факте удаления. Вот пример из аутоингбл

ADD
907
XXXXXXXXXXXXXXXXXXX
if &uf('+6')='0'then '^CDEL','^A',&unifor('3'),'^B',&unifor('IPRIVATE,FIO,')else if v920='J' and &unifor('IPRIVATE,ETR,')='РЖ' or rsum((if p(v907) then if v907^a = &unifor(|3|d907) and v907^b = &unifor('IPRIVATE,FIO,') and v907^c = &unifor('IPRIVATE,ETR,') then '1;'else'0;'fi fi))> 0 then else'^C',&unifor('IPRIVATE,ETR,'),'^A',&unifor('3'),'^B',&unifor('IPRIVATE,FIO,') fi fi

Тут для проверки статуса записи используется &uf('+6'), который выдает "1", если запись жива, и выдает "0" если запись удалили.

Re: Вопросы по autoin.gbl
Пользователь: slay (IP-адрес скрыт)
Дата: 09, November, 2011 18:02

> &uf('+6')
У нас сейчас ИРБИС 64 2009.1, такого нет. Но на днях должны прислать 2011.1

Спасибо за ответы! Будем разбиратся дальше smiling smiley

Re: Вопросы по autoin.gbl
Пользователь: Gena (IP-адрес скрыт)
Дата: 09, November, 2011 18:16

Судя по релизу и Вики, этот юнифор работает начиная с версии 2005.2. Так что вы свободно могли бы добавить в свой аутоингбл этот кусок, и он работал бы правильно.

Re: Вопросы по autoin.gbl
Пользователь: slay (IP-адрес скрыт)
Дата: 09, November, 2011 19:58

> Судя по релизу и Вики, этот юнифор работает
> начиная с версии 2005.2. Так что вы свободно могли
> бы добавить в свой аутоингбл этот кусок, и он
> работал бы правильно.

Я проверял просто по наличию его в оригинальном файла, про Вики даже не подумал. Но все равно надо обновить, в 2011.1 наконец-то появилась возможность работы с версиями записи, чего очень не хватало

Re: Вопросы по autoin.gbl
Пользователь: Gena (IP-адрес скрыт)
Дата: 10, November, 2011 11:30

На самом деле эта возможность была всегда, просто теперь она легко доступна любому пользователю, а раньше только администратору. Для этого служит инструмент Редактор ISO2709

Re: Вопросы по autoin.gbl
Пользователь: slay (IP-адрес скрыт)
Дата: 11, November, 2011 16:38

> На самом деле эта возможность была всегда, просто
> теперь она легко доступна любому пользователю, а
> раньше только администратору. Для этого служит
> инструмент Редактор ISO2709

В том-то и дело, что только через редактор. А мне надо иметь доступ из своей програмы, а это было невозможно.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.