Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Общие вопросы Ирбис64 :  ИРБИС Irbis
 
Игнорирование повторяющихся меток в пределах одного повторения поля.
Пользователь: lybs (IP-адрес скрыт)
Дата: 21, December, 2020 12:26

Добрый день!
Не подскажите, это баг в Ирбис, или нужно что-то настраивать.
Предположим, у нас есть модельная запись.

v701 ^AИванов^AПетров^AСидоров

В этой модельной записи внутри одного повторения одного поля повторяется одна и та же метка.

https://dropmefiles.com/wH39S

При вызове v701^A все метки кроме первой игнорируются.
[dropmefiles.com]

Я ожидаю, что в данном примере
(v701^a/)
выдаст:

Иванов
Петров
Сидоров


Ну или
v701^a выдаст
ИвановПетровСидоров




А выдаётся
Иванов


Можно ли настроить Ирбис так, чтобы выводилось именно так?
Как вообще сделать, чтобы повторяющиеся метки не выбрасывались?



Редактировано 2 раз. Последний раз 21.12.2020 12:28 пользователем lybs.

Re: Игнорирование повторяющихся меток в пределах одного повторения поля.
Пользователь: Alio (IP-адрес скрыт)
Дата: 21, December, 2020 12:59

Подполя в ИРБИС НЕ МОГУТ быть повторяющимися.

Re: Игнорирование повторяющихся меток в пределах одного повторения поля.
Пользователь: lybs (IP-адрес скрыт)
Дата: 21, December, 2020 13:21

А как тогда такую ситуацию обрабатывать прикажете?

P.S.

А почему нельзя ввести в ИРБИС повторяющиеся подполя только для меток?
Например, обозначая их [...]?

Тогда, если у нас модельная запись

v701\1 ^AИванов^AПетров^AСидоров
v701\2 ^AПопов^AКозлов

(v701^a/) выдаст
ИвановПетровСидоров
ПоповКозлов



([v701^a/]) выдаст

Иванов
Петров
Сидоров
Попов
Козлов



[v701^a/]
выдаст

ИвановПопов
ПетровКозлов
Сидоров


[v701/] выдаст ошибку: повторение подполей возможно только в метках.

Мне кажется, хорошая идея.



Редактировано 2 раз. Последний раз 21.12.2020 13:29 пользователем lybs.

Re: Игнорирование повторяющихся меток в пределах одного повторения поля.
Пользователь: snoozamoorooed (IP-адрес скрыт)
Дата: 21, December, 2020 14:46

Добрый день.
Вообще, в ирбисе работа с повторениями подполей не является штатной.
Но если вам сильно нужно, есть пара функций, которые могут помочь.
Видимо когда-то были, идеи связанные с этим.
&umarci('2100#^a') выведет количество повторений подполя A текущего повторения поля 100.
&umarci('1100#a#2') выведет второе повторения подполя A текущего повторения поля 100.
Просто не очень понятно, как с такими данными работать.
АРМы же наверняка не позволяют так вводить.
Наверное, лучше раскидать данные по подполям с разными метками.



Редактировано 1 раз. Последний раз 21.12.2020 15:05 пользователем snoozamoorooed.

Re: Игнорирование повторяющихся меток в пределах одного повторения поля.
Пользователь: Gena (IP-адрес скрыт)
Дата: 21, December, 2020 15:12

Иногда при конвертации сталкиваюсь с проблемой повторяющихся меток подполей. Выручает или перечисление с помощью &umarci('1100#a#2'), или иногда использую такой вариант:

Вот такое содержимое поля 100:
^Adfds^Adfdfd^abcvbvcb^bklkj^cereter


Формат для разбора поля на метки:
&uf('+7w1#'
    &uf('+8ex64,split,\^'/v100)
),
(if g1<>'' then 
    if g1.1:'a' then
        'Содержимое подполя А: 'g1*1,  
    fi,
fi/)

Результат форматирования:
Содержимое подполя А: dfds
Содержимое подполя А: dfdfd
Содержимое подполя А: bcvbvcb

Re: Игнорирование повторяющихся меток в пределах одного повторения поля.
Пользователь: lybs (IP-адрес скрыт)
Дата: 21, December, 2020 17:34

snoozamoorooed написал(а):
-------------------------------------------------------

> АРМы же наверняка не позволяют так вводить.

Согласен.
Но в Ирбис информация может поступать не только из АРМов.

Re: Игнорирование повторяющихся меток в пределах одного повторения поля.
Пользователь: Gena (IP-адрес скрыт)
Дата: 22, December, 2020 06:21

lybs написал(а):
-------------------------------------------------------
> Согласен.
> Но в Ирбис информация может поступать не только из
> АРМов.

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



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