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