Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Каталогизатор :  ИРБИС Irbis
 
Поле 701. Несколько авторов через запятую
Пользователь: Ситников Максим (IP-адрес скрыт)
Дата: 08, February, 2022 16:04

Добрый день!

Помогите пожалуйста, в поле 701 было записано несколько авторов через запятую. Как разнести всех авторов в повторения поля 701?

Код, который только дублирует поле 701:

0
ADD
701
XXXXXXXXXXXXXXXXXXX
if &uf('Av701#2')<>''then (v701/)else if &uf('Av701^A#1'):','then v701 fi fi
XXXXXXXXXXXXXXXXXXX


PS: И можно ли что-то сделать с инициалами?

Спасибо!



Редактировано 1 раз. Последний раз 08.02.2022 16:05 пользователем Ситников Максим.

Вложения: 701.png (7.6KB)   701-F.png (7.2KB)  
Re: Поле 701. Несколько авторов через запятую
Пользователь: Gena (IP-адрес скрыт)
Дата: 08, February, 2022 20:12

Попробуйте вот так:
1. в корневую папку Ирбиса скопируйте ex64.dll, если ее у вас еще нет
2. В папку Депозит положите формат split_701a.pft
3. Выполните на записи глобалку split_701a.gbl

Вложения: ex64.dll (220.6KB)   split_701a.pft (353 bytes)   split_701a.gbl (248 bytes)  
Re: Поле 701. Несколько авторов через запятую
Пользователь: Ситников Максим (IP-адрес скрыт)
Дата: 09, February, 2022 09:22

Спасибо! Работает )

Re: Поле 701. Несколько авторов через запятую
Пользователь: Gena (IP-адрес скрыт)
Дата: 09, February, 2022 11:40

Рад что получилось.

Из ограничений: этот вариант работает нормально в том случае, если во всех полях 701 есть только одно подполе ^A, другие подполя я не рассматривал.

И я вижу у вас странную ситуацию с регистром: первая буква фамилии и в инициалах часто бывает маленькой. Это, в принципе, тоже можно исправить глобалкой.

У вас в базе все записи только с инициалами, или могут быть расширения инициалов?

Re: Поле 701. Несколько авторов через запятую
Пользователь: Ситников Максим (IP-адрес скрыт)
Дата: 11, February, 2022 17:52

Есть записи с инициалами, есть без.В записях без инициалов после ГК добавляется в подполе ^G фамилия. Можно ли это как то исправить?

По поводу маленьких символов в инициалах какой функцией это исправляется?

Спасибо за помощь!

Вложения: 701-g.png (8.7KB)  
Re: Поле 701. Несколько авторов через запятую
Пользователь: Gena (IP-адрес скрыт)
Дата: 14, February, 2022 00:11

А как изначально эта запись выглядела? Приведите примеры заполнения поля 701 с инициалами и с расширением

Re: Поле 701. Несколько авторов через запятую
Пользователь: ochagova (IP-адрес скрыт)
Дата: 15, February, 2022 10:12

Еще один способ разбиения строки поля 701^A с запятыми. Попробуйте.
0
DEL
701
F
&uf('+7W1#',,,,(if &unifor('1*R,?v701^A#1')<>'' then '^A',&unifor('1*R,?v701^A#1') fi/) ),,(if p(v701) then '1' fi/)

ADD
701

(g1/)

Re: Поле 701. Несколько авторов через запятую
Пользователь: Ситников Максим (IP-адрес скрыт)
Дата: 15, February, 2022 16:15

Спасибо, работает. Разносит по разным полям. осталась проблема с инициалами. В прикрепленных файлах До и После ГК.

Вложения: 701-f.png (10.2KB)   701-r.png (10KB)  
Re: Поле 701. Несколько авторов через запятую
Пользователь: ochagova (IP-адрес скрыт)
Дата: 15, February, 2022 16:45

Это совсем другая задача. Попробуйте так:
REP
701
F
(if p(v701) then '^A',,&uf('G0 ',v701^A),,if &uf('G2 ',v701^A)<>'' then '^B',,&uf('G2 ',v701^A) fi fi/)

Re: Поле 701. Несколько авторов через запятую
Пользователь: Gena (IP-адрес скрыт)
Дата: 15, February, 2022 17:01

Вариант выше как раз и резал на отдельные повторения поля 701 + делил на подполя

Re: Поле 701. Несколько авторов через запятую
Пользователь: Ситников Максим (IP-адрес скрыт)
Дата: 16, February, 2022 11:52

Спасибо, то что нужно! Все работает!



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