Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Общие вопросы Ирбис64 :  ИРБИС Irbis
 
Как организовать ежедневную выгрузку базы данных в формат ISO и использовать логическое условие при экспорте
Пользователь: kirwish (IP-адрес скрыт)
Дата: 18, December, 2017 10:09

Добрый день, коллеги

Вопрос связан с приобретенными нашим вузом Шахтинских планов. Возникла необходимость каждую ночь выгружать из Ирбиса64 (2016.1 Д2) данные в формате ИСО. Как это легче организовать и возможно ли штатными средствами Ирбис64? Может там какой ключ в командной строки, а в планировщик заданий виндовс я уж добавлю.

И второй не праздный вопрос. При выгрузке в Шахтинские планы выяснилось, что количество экземпляров в подполе 910^1 (сведения об экземплярах - ЭКЗ (ЦБС/ВУЗ)) библиотекари не проставляли, в случае когда статус экземпляра в подполе 910^A = 0 (0 - отдельный экземпляр). Это логично, если поставил статус для книжки "отдельный экземпляр", то зачем заполнять поле "количество экземпляров". Но Шахтинские планы считывают количество литературы только из подполя 910^1 (кол-во экземпляров), и там где статус был "отдельный экземпляр" в подполе 910^A, там Шахтинские планы проставили количество 0 (а должно быть одна штука - отдельный экземпляр).

Можно ли при экспорте использовать логическое условие - если 910^A = 0, тогда в экспортированную ISO в подполе 910^1 вписывать 1 экземпляр.
Спасибо

Версия Ирбиса64 (2016.1 Д2)



Редактировано 1 раз. Последний раз 18.12.2017 10:09 пользователем kirwish.

Re: Как организовать ежедневную выгрузку базы данных в формат ISO и использовать логическое условие при экспорте
Пользователь: Gena (IP-адрес скрыт)
Дата: 18, December, 2017 11:00

Да, все вполне реализуемо. По поводу выгрузки - это делается с помощью пакетного задания Ирбиса. Смотрите в документации все, что посвящено этой теме (можно поискать в документации по тегу "ibf"). Сама идея слудующая:

1. Создать пакетное задание Ирбиса следующего вида (файл с расширением ibf, лучше всего положить в корневую папку Ирбиса):

OpenDB DBNAME
ExportDB 0,FST_TO_EXPORT,0,1,c:\temp\DBNAME.iso
CloseDB

2. Создать копию ини-файла АРМа Администратор (назвать его, например, exportdb.ini) и прописать в нем в параметре BATCHFILE= название пакетного задания

3. В планировщике заданий создать задание по запуску АРМа Администратор. В качестве ключа передавать созданный ини файл "C:\IRBIS64\IRBISA.EXE exportdb.ini" (не забудьте указать папку запуска приложения)

4. А вот вопрос с изменением данных при экспорте решается с помощью параметра FST_TO_EXPORT - это название файла fst, через который пропускаются записи при выгрузке и происходит их изменение. Файл должен быть или в папке БД, или в папке Депозит. В качестве примера можно взять impsvk_910.fst. В вашем случае будет простой файл вида:

0 0 '*'
910 0 (if p(v910) then if v910^1='' then v910'^11' else v910 fi fi/)


Первая строка (0 0 '*') - указывает на то, что все поля, кроме перечисленных ниже, будут копироваться без изменений
Вторая строка будет выводить 910 поля с небольшим изменением - если в них ранее не было подполя ^1, то будет оно дописываться с проставлением цифры 1

Re: Как организовать ежедневную выгрузку базы данных в формат ISO и использовать логическое условие при экспорте
Пользователь: ochagova (IP-адрес скрыт)
Дата: 18, December, 2017 11:05

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

Re: Как организовать ежедневную выгрузку базы данных в формат ISO и использовать логическое условие при экспорте
Пользователь: kirwish (IP-адрес скрыт)
Дата: 21, December, 2017 06:52

Благодарю всех!
Совет пользователя Gena оказался очень полезным. Мы его уже внедрили и радуемся автоматизированному экспорту с коррекцией экземплярности. Вот оно когда Ирбис безумно нас всех радует :)
Пользователя ochagova тоже благодарю, за точную наводку по инструкции. Изучим :)



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