7.7.5.1Прочитать запись (C)
ПАРАМЕТРЫ
db_name – имя базы данных
MFN – номер записи
LOCK – если требуется блокировать запись LOCK =1, если нет LOCK =0.
ВОЗВРАТ
Первая строка это код возврата.
Коды возврата:
ZERO
READ_WRONG_MFN
ERR_FILEMASTER - ошибка при открытии файла mst или xrf.
REC_DELETE - запись логически удалена.
REC_PHYS_DELETE - запись физически удалена.
КОММЕНТАРИЙ
Поля записи представляются в формате UTF-8.
Статус записи обеспечивает многопользовательскую работу с базой данных.
ПРИМЕР ПРОТОКОЛА
|
ЗАПРОС
|
ВОЗВРАТ
|
1
|
Код команды
|
C
|
Код команды
|
C
|
2
|
АРМ
|
R
|
Идентификатор
|
436978
|
3
|
Код команды
|
C
|
Номер команды
|
2
|
4
|
Идентификатор
|
436978
|
|
|
5
|
Номер команды
|
2
|
|
|
6
|
|
|
|
|
7
|
|
|
|
|
8
|
|
|
|
|
9
|
|
|
|
|
10
|
|
|
|
|
|
База данных
|
IBIS
|
Код возврата
|
0
|
|
MFN
|
22
|
MFN#СТАТУС
|
22#
|
|
Блокировать?
|
0
|
0#№ версии записи
|
0#1
|
|
|
|
TAG#FIELD
|
10#^D100.00
|
|
|
|
TAG#FIELD
|
920#SPEC
|
|
|
|
TAG#FIELD
|
210#^CТип. А. Плюшара^AСПб^D1830
|
|
|
|
TAG#FIELD
|
215#^A[4],367,[2],120
|
|
|
|
TAG#FIELD
|
900#^B03^C11a
|
|
|
|
TAG#FIELD
|
102#RU
|
|
|
|
TAG#FIELD
|
101#rus
|
7.7.5.2Прочитать запись и произвести ее форматирование. (C)
ПАРАМЕТРЫ
db_name – имя базы данных.
MFN – номер записи.
LOCK – если требуется блокировать запись LOCK =1, если нет LOCK =0.
format – формат или @filname (имя файла формата без расширения, например, @brief).
ВОЗВРАТ
список строк, представляющий результат форматирования записи в следующем формате:
1-я строка – код возврата функции форматирования.
Все следующие строки – это результат форматирования записи.
КОММЕНТАРИЙ
В случае физически удаленной записи возвращается 2 строки:
1-я строка - ZERO
2-я строка – UTF-8(ЗАПИСЬ ФИЗИЧЕСКИ УДАЛЕНА)
ПРИМЕР ПРОТОКОЛА
|
ЗАПРОС
|
ВОЗВРАТ
|
1
|
Код команды
|
C
|
Код команды
|
C
|
2
|
АРМ
|
R
|
Идентификатор
|
463302
|
3
|
Код команды
|
C
|
Номер команды
|
36
|
4
|
Идентификатор
|
463302
|
|
|
5
|
Номер команды
|
36
|
|
|
6
|
Имя
(для работы форматера с ини файлом своего клиенту)
|
MASTERKEY
|
|
|
7
|
Пароль
|
MASTER
|
|
|
8
|
|
|
|
|
9
|
|
|
|
|
10
|
|
|
|
|
|
Db_name
|
IBIS
|
Код возврата
|
0
|
|
MFN
|
22
|
MFN#СТАТУС
|
22#
|
|
Lock
|
0
|
0#№ версии
|
0#1
|
|
format
|
@IBISW
|
TAG#FIELD
|
920#SPEC
|
|
|
|
TAG#FIELD
|
210#^CТип. А. Плюшара^AСПб^D1830
|
|
|
|
TAG#FIELD
|
215#^A[4],367,[2],120
|
|
|
|
TAG#FIELD
|
900#^B03^C11a
|
|
|
|
TAG#FIELD
|
102#RU
|
|
|
|
TAG#FIELD
|
101#rus
|
|
|
|
TAG#FIELD
|
621#Р 9(С)1 Ильин
|
|
|
|
Разделитель
|
#
|
|
|
|
Код возврата
|
0
|
|
|
|
Результат форматирования
|
{\pard\tx4\b \b Р 9(С)1 Ильин\par К 21\par \b0 \b Карамзин, Николай Михайлович.\b0 \par \tab История государства Российского: В 12 томах. - СПб : Иждив. книгопродавца Смирдина : -----------------\par \pard\tx4 }
|
7.7.5.3Получить максимальный MFN базы данных (число документов в БД) (O)
ПАРАМЕТРЫ
db_name – имя базы данных
ВОЗВРАТ
Одна строка:
Число в строковом представлении (MaxMfn+1) – в случае успешного завершения, где MaxMfn – максимальный номер записи в базе данных.
Код ошибки (меньше 0) – в случае ошибки.
ПРИМЕР ПРОТОКОЛА
|
ЗАПРОС
|
ВОЗВРАТ
|
1
|
Код команды
|
O
|
Код команды
|
O
|
2
|
АРМ
|
R
|
Идентификатор
|
463302
|
3
|
Код команды
|
O
|
Номер команды
|
61
|
4
|
Идентификатор
|
463302
|
|
|
5
|
Номер команды
|
61
|
|
|
6
|
|
|
|
|
7
|
|
|
|
|
8
|
|
|
|
|
9
|
|
|
|
|
10
|
|
|
|
|
|
Db_name
|
IBIS
|
MaxMfn
|
131
|
7.7.5.4Сохранение записи (D)
ПАРАМЕТРЫ
Db_name – имя БД
Lock – блокировать ли запись. 1 – блокировать, 0 – не блокировать.
IfUpdate – актуализировать ли запись. 1 – актуализировать, 0 – не актуализировать
Rec – строка, состоящая из группы следующих параметров:
MFN#STATUS#30#310#VERSION#30#31TAG1#FIELD1#30#31 … TAG1#FIELD1#30#31
ВОЗВРАТ
0#MFN#статус#30#31
0#VERSION#30#31
tag1#field1#30#31
………….
tagN#fieldN#30#31
В случае ошибки возврат:
Код ошибки#30#31
ПРИМЕР ПРОТОКОЛА
|
ЗАПРОС
|
ВОЗВРАТ
|
1
|
Код команды
|
D
|
Код команды
|
I
|
2
|
АРМ
|
C
|
Идентификатор
|
463302
|
3
|
Код команды
|
D
|
Номер команды
|
107
|
4
|
Идентификатор
|
463302
|
|
|
5
|
Номер команды
|
107
|
|
|
6
|
|
|
|
|
7
|
|
|
|
|
8
|
|
|
|
|
9
|
|
|
|
|
10
|
|
|
|
|
|
Db_name
|
IBIS
|
|
0# MFN#STATUS#30#31
0#VERSION#30#31
TAG1#FIELD1#30#31
|
|
Lock
|
0
|
|
|
|
IfUpdate
|
1
|
|
|
|
Rec
|
MFN#STATUS#30#31
0#VERSION#30#31
TAG1#FIELD1#30#31
|
|
|
7.7.5.5Синхронное сохранение группы записей с общей блокировкой (6)
ПАРАМЕТРЫ
Общие параметры:
Флаг снятия блокировки
Флаг актуализации
Далее набор строк состоящий из группы следующих параметров:
Dbn#30#31
MFN#STATUS#30#31
0#VERSION#30#31 Первый набор строк
TAG1#FIELD1#30#31
………………
TAGN#FIELDN
END_OF_LINE----------------------------------
Dbn#30#31
MFN#STATUS#30#31
0#VERSION#30#31 Второй набор строк
TAG1#FIELD1#30#31
………………
TAGN#FIELDN
END_OF_LINE----------------------------------
------------------------------------------------------ Наборы строк
Dbn – имя базы данных
MFN - номер запись или 0 если новая запись
STATUS – статус записи
VERSION – номер версии записи
TAG – метка поля
FIELD – значение поля в UTF-8
#30#31 – символы 30 31
END_OF_LINE – переход строки
ВОЗВРАТ
На каждой строке соответствующей каждому набору строк:
dbname #30#31
MAXMFN #30#31
MFN#статус#30#31
0#VERSION#30#31
tag1#field1#30#31
………….
tagN#fieldN#30#31
END_OF_LINE----------------------------------
В случае ошибки возврат
Код ошибки
В случае ошибки в одной записи на ее строке возврат:
dbname#30#31
Код ошибки#30#31
ПРИМЕР ПРОТОКОЛА
|
ЗАПРОС
|
ВОЗВРАТ
|
1
|
Код команды
|
6
|
Код команды
|
6
|
2
|
АРМ
|
C
|
Идентификатор
|
240954
|
3
|
Код команды
|
6
|
Номер команды
|
16
|
4
|
Идентификатор
|
240954
|
|
|
5
|
Номер команды
|
16
|
|
|
6
|
Имя
(для работы форматера с ини файлом своего клиенту)
|
MASTERKEY
|
|
|
7
|
Пароль
|
MASTER
|
|
|
8
|
|
|
|
|
9
|
|
|
|
|
10
|
|
|
|
|
|
Флаг снятия блокировки
|
1
|
Код возврата
|
0
|
|
Флаг актуализации
|
1
|
|
1-я запись в базу данных IBIS
|
İBİS#30#31
MFN#STATUS#30#31
0#VERSION#30#31
TAG1#FIELD1#30#31
………………..
|
Новая версия записи как результат вместе с максимальным MFN базы
|
İBİS#30#31
MAXMFN#30#31
MFN#STATUS#30#31
0#VERSION#30#31
TAG1#FIELD1#30#31
………………..
|
|
2-я запись в базу данных TEXT
|
TEXT#30#31
MFN#STATUS#30#31
0#VERSION#30#31
TAG1#FIELD1#30#31
………………..
|
Новая версия записи как результат вместе с максимальным MFN базы
|
TEXT#30#31
MAXMFN#30#31
MFN#STATUS#30#31
0#VERSION#30#31
TAG1#FIELD1#30#31
………………..
|
КОММЕНТАРИЙ
Команда максимально старается перед записью проверить все возможности, чтобы обеспечить гарантию синхронности. Сначала блокируются все базы, затем проверяются все базы на монопольную блокировку, затем проверяются все записи на соответствие версий. В случае удачи идет цикл записи.
7.7.5.6Выполнить глобальную корректировку (5)
ПАРАМЕТРЫ
db_name – имя базы данных
expr – поисковое выражение на языке ИРБИС64
FirstMfn – первый mfn в результате поиска для корректировки
NumMfn – кол-во записей для корректировки
Start – первый mfn в БД для поиска
End – последний mfn в БД для поиска
ВОЗВРАТ
Код ошибки (меньше 0) – в случае ошибки.
ПРИМЕР ПРОТОКОЛА
|
ЗАПРОС
|
ВОЗВРАТ
|
1
|
Код команды
|
5
|
Код команды
|
5
|
2
|
АРМ
|
С
|
Идентификатор
|
463302
|
3
|
Код команды
|
5
|
Номер команды
|
61
|
4
|
Идентификатор
|
463302
|
|
|
5
|
Номер команды
|
61
|
|
|
6
|
|
|
|
|
7
|
|
|
|
|
8
|
|
|
|
|
9
|
|
|
|
|
10
|
|
|
|
|
|
Db_name
|
IBIS
|
|
0
|
|
|
0
|
|
|
|
|
!0#31#30GBL
|
|
|
|
|
(V=AS$)
|
|
|
|
|
1
|
|
|
|
|
1
|
|
|
|
|
|
|
|
|
|
0
|
|
|
|
|
1
|
|
|
|
|
125000
|
|
|
Достарыңызбен бөлісу: |