Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Каталогизатор :  ИРБИС Irbis
 
Страницы: 12>>
Страница: 1 из 2
Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 29, July, 2020 08:30

Здравствуйте!

У нас проблема с автоматическим проставлением индексов в Каталогизаторе и Комплектаторе.

1) В Каталогизаторе.
При редактировании неправильно описанных книг часто бывает необходимо сменить предметную рубрику и авторский знак.
Новую рубрику проставляем в поле 606 из авторитетного файла.
Очищаем поля 686, 908, 903 и сохраняем описание.
В поле 903 (Шифр документа) появляется цифра с тире перед ней, например такая: -448523120. Поля 686 (Индексы др. классификации) и 908 (Авторский знак) остаются пустыми (см. скриншот 1 и 2).
После проставления вручную индексов в поле 686 и удаления цифрового шифра из поля 903 и повторного сохранения авторский знак и нормальный шифр документа проставляются в соответствующие поля (см. скриншот 3).

2) Аналогичная ситуация в Комплектаторе при описании новых книг.

Смутно понимаю, что проблема, наверное, связана с настройкой файла index.ws в папке deposit, но разобраться в этом своих сил не хватает. Настройки нашего index.ws см. в скриншоте 4 в следующем сообщении.
Файл rubin.mnu с индексами рубрикатора, использующегося в авторитетном файле поля 606, у нас есть и находится в папках deposit, image, kzd.

Подскажите, как сделать, чтобы индексы, используемые в рубрикаторе из авторитетного файла, автоматически попадали в поле 686, и чтобы шифр документа в поле 903 формировался при первом сохранении?
(Про автоматическое проставление Авторского знака в свое поле не упоминаю, т. к., судя по всему, это зависит от наличия индексов в поле 686).

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Вложения: 1 - перед сохранением.png (122.3KB)   2 - после сохранения.png (121.9KB)   3 - после повторного сохранения.png (123.4KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 29, July, 2020 08:31

Настройки нашего index.ws см. в скриншоте 4.

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Вложения: 4 - Настройки index.ws.png (47KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Сорокина Лариса (IP-адрес скрыт)
Дата: 29, July, 2020 12:35

Arthemyi написал(а):
-------------------------------------------------------
> Здравствуйте!
>
> ...
> Подскажите, как сделать, чтобы индексы,
> используемые в рубрикаторе из авторитетного файла,
> автоматически попадали в поле 686, и чтобы шифр
> документа в поле 903 формировался при первом
> сохранении?
> (Про автоматическое проставление Авторского знака
> в свое поле не упоминаю, т. к., судя по всему, это
> зависит от наличия индексов в поле 686).

Автоматическое формирование полей 903 и авторского знака обеспечивается файлом autoin.gbl. Условия формирования описаны в документации irbiscat.doc в пунктах "Шифр документа в БД (уникальный идентификатор документа в БД (поле 903)" и "Авторский знак (поле 908, справочник Hav.mnu)"

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 30, July, 2020 08:32

Если я правильно понял, то из написанного в пунктах "Шифр документа в БД (уникальный идентификатор документа в БД (поле 903)" и "Авторский знак (поле 908, справочник Hav.mnu)" следует, что "отрицательный" цифровой систематический шифр документа(поле 903) и пустое поле Авторского знака (поле 908) при незаполненном поле 686 (Индексы др. классификации) - это вполне нормальная ситуация.

Таким образом проблема упирается в то, как заставить индексы предметных рубрик проставляемых в поле 606 (Предметная рубрика) автоматически попадать в поле 686 (Индексы др. классификации).

Как же это сделать?

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 07, August, 2020 06:11

Здравствуйте!

Кто нибудь может помочь решить эту проблему с автоматическим проставлением индексов из поля 606 (Предметная рубрика) в поле 686 (Индексы др. классификации)?

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Gena (IP-адрес скрыт)
Дата: 07, August, 2020 10:44

Задача не однозначная. 606 полей может быть много ни одного, одно, много. Подполе индексов в в поле 606 не является обязательным. Соответственно оно может быть не заполнено при введенной рубрике. Может оказаться, что введено две предметные рубрики, у которых разные индексы - какой брать?

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 07, August, 2020 11:42

У нас предметные рубрики вводятся из авторитетного файла и поэтому у них всегда есть индекс (см. скриншот).

Если введено несколько предметных рубрик, то хотелось бы, чтобы индексы проставлялись все (они полезны для поиска литературы по конкретному разделу), но в шифр документа нужно, чтобы попадал самый дробный из первой предметной рубрики. В зависимости от выбранной рубрики он может относиться к 1-ому, 2-ому, 3-ему подзаголовку или подполю "Предметный заголовок". Но вообще, я так понимаю, это тот индекс, который стоит после командного символа ^P в поле ввода через авторитетный файл. Если смотреть по прилагаемому скриншоту, это был бы индекс 252.211.

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Вложения: Поле 606.PNG (34KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Gena (IP-адрес скрыт)
Дата: 07, August, 2020 14:47

Так, с подполем разобрались - брать подполе P. А если рубрик несколько, то из какой брать? Варинат - брать из первого повторения, в котором подполе P заполнено, вас устроит?

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 07, August, 2020 16:17

Да, да, конечно - из первого повторения.
Получится, что из первой рубрики, как и хотелось.

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Gena (IP-адрес скрыт)
Дата: 08, August, 2020 09:17

В начале файла autoin.gbl добавьте вот эти строки

ADD
686
XXXXXXXXXXXXXXXXXXX
(if p(v606) then if p(v606^p) then v606^p, break, fi fi/)
XXXXXXXXXXXXXXXXXXX

Во вложении файл автоин для версии 2019.

Вложения: autoin.gbl (97.6KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 10, August, 2020 06:21

Что-то не срабатывает.

В БД основного нашего каталога (ЕСА) индексы не проставляются, не проставляется и авторский знак, а шифр формируется цифровой с минусом перед ним.

В БД CMPL индексы проставляются, но не проставляется авторский знак и шифр формируется цифровой с минусом перед ним. После удаления этого "отрицательного" шифра проставляется и авторский знак и формируется шифр.

Прикладываю файлы autoin.gbl с внесенными изменениями.
В этом сообщении autoin.gbl - из БД ЕСА.
В следующем autoin.gbl - из БД CMPL.

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Вложения: autoin.gbl (97.9KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 10, August, 2020 06:27

autoin.gbl - из БД CMPL.

Да, забыл сказать: сами файлы autoin.gbl брал те, которые у нас стоят, потому как у нас версия Каталогизатора 2019.1 (D2).

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Вложения: autoin.gbl (43.1KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Gena (IP-адрес скрыт)
Дата: 10, August, 2020 06:48

В автоине первая строка служит для передачи определенной информации. Ее трогать нельзя. Сделайте вот так, как в примере ниже


0
//------------используются глобальные переменные:
// 1-4, 23, 24, 88, 606
// Вложенные форматы: o963f, o200f, o200g, o200e, o461f, o461fz, o470f, o922g1,
// ibis922g, o922gnj, o922gnnjб o330g, ibis925g, o481f, o488f, o390f, o4547,
// Модельные поля:
//111, 777, 1002,1005,1006,1007,1009,1010,1111,1049,1054,1057,1058,1157,1777,
//1330, 1610, 1619,1901,1903,1910,1927,1926,1931,1930,1939,1940,1941,1999,
//2931, 2777, 3931,9361, 9931,9934,9936,11000,
//--------приписывание к последнему повторению подполя ^X - измененные поля при включении Full907
ADD
686
XXXXXXXXXXXXXXXXXXX
(if p(v606) then if p(v606^p) then v606^p, break, fi fi/)
XXXXXXXXXXXXXXXXXXX
DEL
111
*


ADD
111

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 10, August, 2020 08:08

Заработало, но как-то не совсем так.

В БД основного каталога (ЕСА) и авторский знак и шифр выводятся правильно, но не выводятся повторения 686 поля с индексами более высокого уровня (в скриншоте "ECA" это индексы 244 и 24).

В БД CMPL и авторский знак и шифр выводятся правильно, но в повторениях поля 686 индексы выводятся в каком-то хаотическом порядке и, видимо в результате этого, в окне просмотра библиографического описания документа проставляется индекс рубрики более высокого уровня, а не тот, который стоит в его шифре (см. скриншот "CMPL").

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Вложения: ECA.jpg (1.08MB)   CMPL.jpg (1.23MB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 10, August, 2020 08:09

Относительно последнего момента в БД CMPL заметил, что при выборе предметной рубрики из завторитетного файла перед командным сисмволом ^P ничего не стоит (скриншот "Рубрика1 CMPL").
А после того, как нижимаем ввод, перед ним появляется ^3 (скриншот "Рубрика2 CMPL").
Может в этом дело?

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Вложения: Рубрика1 CMPL.jpg (573.1KB)   Рубрика2 CMPL.jpg (1.19MB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Gena (IP-адрес скрыт)
Дата: 10, August, 2020 09:56

У вас в автовводе уже есть кусок для передачи данных из 606 в 686. В самом конце файла автоввода для базы комплектования есть вот такой фрагмент:

IF
if v606:'^P' then '1' else '0' fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
ADD
1

if v606:'^P' then &uf('+7W1#'(v606^p/v606^q/v606^r/v606^s/v606^t/v686/)),&uf('+7W2#'(v686/)),&uf('+7S1#2'),&uf('+7G1') fi
XXXXXXXXXXXXXXXXXXX
DEL
686
*
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
ADD
686
XXXXXXXXXXXXXXXXXXX
(g1/)
XXXXXXXXXXXXXXXXXXX
FI
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX

Именно этот кусок и проверяет, есть ли подполе P в поле рубрики, и есть оно есть, то переносит данные в 686 поле. То есть, мое дополнение на самом деле лишнее, этот фрагмент у вас уже есть.
И именно в этом фрагменте у вас есть сортировка.

Другими словами, что тут происходит
При каждом сохранении собираются все уже существующие повторения поля 686, в ним добавляются данные из поля 606, все это сортируется, исключаются дублетные варинаты, всетекущие значения поля 686 вытираются, а потом записывается значения, полученные из 686 + 606 полей

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 10, August, 2020 10:34

Прошу прощения: в самом начале проблему формирования шифра я описал в общем, а она по разному проявляет себя в работе с разными базами.

Вернул в БД CMPL первоначальный файл autoin.gbl.
Индексы проставляются, но авторский знак и шифр документа не формируются автоматически.

В БД ЕСА до внесенных от Вас изменений автоматически ничего не проставлялось: ни индексы, ни авторский знак, ни шифр (только цифровой появлялся).

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 10, August, 2020 10:40

Сейчас в БД основного каталога (ЕСА) авторский знак и шифр стали выводиться правильно, но осталась проблема: не выводятся повторения 686 поля с индексами более высокого уровня, чем тот, который стоит после ^P.

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 10, August, 2020 12:29

И ещё одна проблема с БД ЕСА обнаружилась: теперь при сохранении любого изменения в биб. описании документа дублируется индекс из первого повторения поля 686 (см. скриншот).

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Вложения: Дублетный индекс.png (170.3KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 14, August, 2020 11:44

Немножко догадался о чем Вы: подставил из autoin.gbl БД CMPL в autoin.gbl БД основного каталога (ЕСА) фрагмент:

IF
if v606:'^P' then '1' else '0' fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
ADD
1

if v606:'^P' then &uf('+7W1#'(v606^p/v606^q/v606^r/v606^s/v606^t/v686/)),&uf('+7W2#'(v686/)),&uf('+7S1#2'),&uf('+7G1') fi
XXXXXXXXXXXXXXXXXXX
DEL
686
*
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
ADD
686
XXXXXXXXXXXXXXXXXXX
(g1/)
XXXXXXXXXXXXXXXXXXX
FI
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX

Но осталась проблема: авторский знак и шифр документа не формируются автоматически.
Т.е. после ввода предметной рубрики сначала проставляются индексы и "отрицательный" цифровой шифр документа, затем мы удаляем этот шифр, опять сохраняем документ и уже тогда только появляются авторский знак и правильный шифр (с индексом нужной рубрики).
Нельзя ли как-то убрать эту промежуточную операцию по удалению "отрицательного" цифрового шифра и дополнительного сохранения документа?

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Gena (IP-адрес скрыт)
Дата: 14, August, 2020 20:06

Приложите к сообщению автоин в том виде, в котором он у вас сейчас есть

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 15, August, 2020 08:56

Автоин БД ЕСА (основной каталог).

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Вложения: autoin.gbl (98.2KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 15, August, 2020 08:57

Автоин БД CMPL.

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Вложения: autoin.gbl (43KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Gena (IP-адрес скрыт)
Дата: 17, August, 2020 06:51

А приложите еще файл org.mnu и выгрузите запись, на которой поля не формируются

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 17, August, 2020 08:43

ORG.MNU - из папки Deposit.

Авторский знак и нормальный шифр (с индексом рубрики) не присваиваются на всех записях. Присылаю одну из БД основного каталога (ЕСА).

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Вложения: ORG.MNU (88 bytes)   свт. Тихон Задонский.TXT (1.4KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Gena (IP-адрес скрыт)
Дата: 17, August, 2020 09:36

Попробуйте вот этот вариант автоввода для базы комплектования

Вложения: autoin.gbl (43KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 17, August, 2020 11:03

В CMPL всё прекрасно работает - спасибо!

Какие нужно внести изменения в аутоин основного каталога, чтобы и там всё заработало?

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Gena (IP-адрес скрыт)
Дата: 17, August, 2020 14:51

Попробуйте вот с этим

Единственное, мне не очень нравится, что тут при КАЖДОМ сохранении записи выполняются операции переформирования поля 686. Может стоит все таки сделать правило, что формировать это поле только тогда, когда оно пустое в записи, или только в ситуации, когда первый шифр не входит в 903 поле?

Вложения: autoin.gbl (98.2KB)  
Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 18, August, 2020 05:58

Геннадий, всё работает - спасибо! smiling smiley thumbs up

Насчет Вашего вопроса толком не знаю что ответить. Логически наверное, действительно, нет особого смысла при изменении, например, количества страниц заново формировать поле 686. Но как поведёт себя конструкция, которую Вы предлагаете, мне сейчас трудно до конца представить. Поэтому, думаю, может быть лучше будет пока остановиться на этом рабочем варианте, который Вы уже прислали: жизнь потом покажет нужно ли его улучшать.

Хотел Вас попросить ещё показать какие части присланных autoin.gbl (для CMPL и ЕСА) отвечают за эту, вот, правильно настроенную работу наших индексов: боюсь, что при каком-нибудь очередном обновлении всё слетит и, чтобы опять никого не беспокоить на эту тему, хотелось бы знать, какие команды нужно будет внести в аутоин, чтобы всё снова заработало.

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Re: Автоматически не заполняются поля 686, 908, 903
Пользователь: Arthemyi (IP-адрес скрыт)
Дата: 31, August, 2020 08:27

Нет возможности пояснить какие именно части присланных autoin.gbl (для CMPL и ЕСА) отвечают за правильно теперь настроенную работу наших индексов?

Ирбис64+ 2022 (D3)
Сервер Турбо Про

Страницы: 12>>
Страница: 1 из 2


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