Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Администратор :  ИРБИС Irbis
 
Дублетность
Пользователь: nwchades (IP-адрес скрыт)
Дата: 11, November, 2013 10:16

Добрый день. Скажите, пожалуйста, как в БД удалить дублетные записи (одинаковое поле 19^b) через глобальную корректировку? Дело в том, что раньше не было функции "проверка на будлетность".



Редактировано 1 раз. Последний раз 11.11.2013 10:18 пользователем nwchades.

Re: Дублетность
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 11, November, 2013 11:59

Задание во вложении.
Из всех записей с дублетным полем 19 (^a и ^B), будет оставлена та, которая введена в БД первой. Остальные дублетные по этому полю записи будут удалены.
Проверьте предварительно задание.
Вы убеждены, что записи с одинаковыми полями 19 действительно дублетные по всем остальным данным ?

Вложения: 19.gbl (370 bytes)  
Re: Дублетность
Пользователь: nwchades (IP-адрес скрыт)
Дата: 12, November, 2013 08:01

Я подумал, наверное сделать лучше проверку по полю 903 (ШИФР документа), чтобы быть точно уверянным. Можете мделать мне файлик? Пожалуйста :)

Re: Дублетность
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 12, November, 2013 08:55

Замените строку в операторе IF в предыдущем файле 19.gbl
if p(v903) then if val(ref(l("I="v903),mfn))=val(mfn) then '0' else'1' fi else '0' fi

Re: Дублетность
Пользователь: nwchades (IP-адрес скрыт)
Дата: 12, November, 2013 10:49

Большое спасибо!

Re: Дублетность
Пользователь: xk55 (IP-адрес скрыт)
Дата: 21, January, 2014 05:25

Добрый день, Светлана Михайловна! Очень нужна Ваша помощь.
Ситуация следующая: после копирования записей, полученных из библиотеки, на сервер института мы имеем 24дубля, совпадающих по всем полям. Чтобы убрать их из БД можно, конечно, воспользоваться импортом-экспортом, но это сложно, т.к. БД содержит более 10тыс. записей. Можно ли это сделать с помощью глобальной корректировки и КАК??? Спасибо.

Re: Дублетность
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 21, January, 2014 09:01

Та же ситуация, что рассматривалась в этой ветке.

1. Проведите последовательный поиск для отбора дублетных записей
val(&uf('J,I='v903))>1
2 Выполните на результатах поиска глоб. кор-ру, в результате которой удалятся все не первые дублетные записи. Предварительно проверьте задание и сделайте копию БД.

0
IF
if p(v903) then if val(ref(l("I="v903),mfn))=val(mfn) then '0' else'1' fi else '0' fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
DELR
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
FI
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX

Re: Дублетность
Пользователь: xk55 (IP-адрес скрыт)
Дата: 23, January, 2014 06:32

Спасибо, Светлана Михайловна!!!
Разбираюсь с гл. корректировкой...
пока даже не поняла, где разместить это задание.

Re: Дублетность
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 23, January, 2014 07:58

1. Можно поместить его в директорию БД и ввести в GLOB.MNU, вызывать по кнопке "Открыть"
2. Можно поместить в любое место и вызывать по кнопке "Открыть - Файл задания"

Re: Дублетность
Пользователь: xk55 (IP-адрес скрыт)
Дата: 24, January, 2014 06:00

СПАСИБО огромное, Светлана Михайловна!!!

Re: Дублетность
Пользователь: m081071 (IP-адрес скрыт)
Дата: 20, February, 2014 07:35

Добрый день, подскажите как сделать отбор записей на дублетность по инвентарному номеру. Спасибо

Re: Дублетность
Пользователь: ochagova (IP-адрес скрыт)
Дата: 20, February, 2014 08:35

По аналогии с предыдущим ответом:
Проведите последовательный поиск для отбора записей, имеющих дублетные ИН:
| val(&uf('J,IN='v910^B))>1

Re: Дублетность
Пользователь: m081071 (IP-адрес скрыт)
Дата: 20, February, 2014 10:09

спасибо, получилось. Не сообразила сразу,что надо I поменять на IN.

Re: Дублетность
Пользователь: X-Cite! (IP-адрес скрыт)
Дата: 28, May, 2014 11:56

Добрый день. У меня аналогичная пролема, только мне нужно искать дублетность нескольким полям - 700, 200 и 463.
например
700 - ^21^aМартинович^bА.^gАлесь^4070
200 - ^AОбжигающая память^FАлесь Мартинович^10
463 - ^cНеман^j2013^1С. ^s196-199^hN 10

таких записей у нас 3. Образовались в результате импорта (так называемый Белар - система обмена записями между библиотеками)

Как изменить при этом посл поиск - для поля 903 вы писали пример
val(&uf('J,I='v903))>1
и глоб задание
0
IF
if p(v903) then if val(ref(l("I="v903),mfn))=val(mfn) then '0' else'1' fi else '0' fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
DELR
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
FI
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX

а для нескольких полей - подскажите плиз



Редактировано 1 раз. Последний раз 28.05.2014 11:58 пользователем X-Cite!.

Re: Дублетность
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 28, May, 2014 15:50

Приложите комплект дублетных записей

Re: Дублетность
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 29, May, 2014 12:25

При сверке по элементам БО применяется т.н. "свертка" биб. элементов описания.

1. Возьмите формат SVERTKA.PFT во вложении
2. Проведите последовательный поиск для отбора дублетных записей
val(&uf('J,'&uf('6svertka')))>1
3. Выполните на результатах поиска глоб. кор-ру, в результате которой удалятся все не первые дублетные записи.
Предварительно проверьте задание и сделайте копию БД.

0
IF
if val(ref(l(&uf('6svertka')),mfn))=val(mfn) then '0' else'1' fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
DELR
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
FI
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX

Вложения: svertka.pft (2.6KB)  


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