Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Каталогизатор :  ИРБИС Irbis
 
Страницы: <<123>>
Страница: 2 из 3
Re: Глобальная корректировка
Пользователь: xk55 (IP-адрес скрыт)
Дата: 24, January, 2014 05:39

Спасибо огромное!!!

Re: Глобальная корректировка
Пользователь: Serega89 (IP-адрес скрыт)
Дата: 29, January, 2014 05:49

Добрый день!
Подскажите, пожалуйста, как в глобальной корректировке сделать счетчик?
Мне нужно на определенной группе записей БД RDR заполнить 30 поле "Идентификатор читателя". Т.е. первому студенту присвоить номер например 0001, следующему 0002 и т.д.

Заранее спасибо!
ИРБИС 64 2011.1 D5

Re: Глобальная корректировка
Пользователь: Яковлева Татьяна (IP-адрес скрыт)
Дата: 29, January, 2014 06:24

&unifor('S1A')

Re: Глобальная корректировка
Пользователь: Serega89 (IP-адрес скрыт)
Дата: 29, January, 2014 07:33

спасибо, но мне надо задать первое значение, и увеличивать на единицу, и так несколько раз.
Т.е. для первой группы от 100011 до 100156, затем для второй группы от 100157 до 100180 и т.д.

Re: Глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 29, January, 2014 09:52

Эта проблема уже обсуждалась на форуме. Есть частное решение автом. формирования поля 30 как числа, начиная с базового и плюс 1. Посмотрите приложение

Вложения: Автоматическое формирование идентификаторов читателя.doc (24.5KB)  
Re: Глобальная корректировка
Пользователь: Serega89 (IP-адрес скрыт)
Дата: 30, January, 2014 02:16

Спасибо!
Расскажу как сделал, может кому пригодится.
Когда вставил этот фрагмент в autoin.gbl, при сохранении записи вручную было все нормально, но при любой глобальной корректировке выходила ошибка 608 и запись сохранялась только с 52-го раза, а счетчик увеличивался каждый раз, в итоге получалось что первая запись имела номер 1001, вторая 10052, третья 100103 и т.д.
Вышел из этого положения следующим образом:
1. В autoin.gbl ничего не записывал.
2. Фрагмент кода переделал для файла глобальной корректировки (поле 50 почему то не пошло, использовал поле 27)
3. В MAXREADER в поле 27 записал 1001 и вызвал на нужных записях файл корректировки.
Код прилагаю:
0
ADD
30
XXXXXXXXXXXXXXXXXXX
if a(v30) then &uf('D,!RI=MAXREADER!,v27') fi
XXXXXXXXXXXXXXXXXXX
CORREC
'*'
''
'RI=MAXREADER'
XXXXXXXXXXXXXXXXXXX
REP
27
1
f(val(v27)+1,0,0)
XXXXXXXXXXXXXXXXXXX
END
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX

Re: Глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 30, January, 2014 07:27

На самом деле приведенный пример сложнее. В оператор CORREC посылается поле 50 и перед увеличением значения в MAXREADER проверяется - не совпадают ли уже число в поле в MAXREADER и увеличенное на 1 присланное поле 50.

Re: Глобальная корректировка
Пользователь: PVF (IP-адрес скрыт)
Дата: 24, February, 2014 12:48

Помогите, написать файл глобальной корректировки.
"Я не волшебник, я только учусь".

Имеются инвентарные номера (например, 875Н, 4521Н, 96Н)
Поле 910^B, 910^H.
Необходимо с помощью глобальной изменить данные на Н875, Н4521, Н96 и т.д.

Может кто-то сталкивался с такой корректировкой?

Ирбис64 в. 2010.1


Спасибо!

Re: Глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 25, February, 2014 11:54

REP
910^B
F
(if p(v910) then if p(v910^B) then if v910^B: 'H' then 'H',&uf('G0H',v910^B) else v910^B fi else # fi fi/)

И то же самое для 910^H

Re: Глобальная корректировка
Пользователь: PVF (IP-адрес скрыт)
Дата: 27, February, 2014 11:18

Cпасибо за быстрый ответ!

После нескольких испытаний и замены 1-й 'H' на русскую 'н'получается, что Н впереди номера ставит, но старую - не удаляет.


Подскажите, что делаю не так?

Re: Глобальная корректировка
Пользователь: ЧГАКИ (IP-адрес скрыт)
Дата: 04, March, 2014 05:57

Возможно ли в операторе CORREC в 4й строке сделать выборку по нескольким словарям (логика "И")?

Re: Глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 04, March, 2014 13:20

PVF - не отработала конструкция ,&uf('G0H',v910^B), возможно, у вас Н маленькая.
ЧГАКИ - нет невозможно, это не запрос, а термин словаря

Re: Глобальная корректировка
Пользователь: СВК (IP-адрес скрыт)
Дата: 16, June, 2015 09:34

Добрый день! Помогите пожалуйста. Очень нужно написать задание на глобальную корректировку:
по значению поля 951 в БД BOOK удалить запись из БД UNIV с таким же значением поля 951.



Редактировано 2 раз. Последний раз 16.06.2015 09:35 пользователем СВК.

Re: Глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 16, June, 2015 12:15

Логика задания зависит от того - рассматривать поле 951 повторяющимся или единственным.

Re: Глобальная корректировка
Пользователь: СВК (IP-адрес скрыт)
Дата: 16, June, 2015 12:44

Это единственное поле.

Re: Глобальная корректировка
Пользователь: СВК (IP-адрес скрыт)
Дата: 17, June, 2015 13:42

Я так понимаю, что значение поля 951 в БД book надо запомнить в глобальную переменную, а потом в БД univ сравнивать значение 951 поля с глобальной переменной, если совпадает, то удалять запись?

Re: Глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 18, June, 2015 10:39

Попробуйте так.Запускается на БД INIV:
0
IF
if p(v951) then '1' fi
IF
if val(&uf(DBOOK,?TEK=',,v951^I,,'?,mfn'))>0 then '1' fi
DELR




FI
FI

Re: Глобальная корректировка
Пользователь: СВК (IP-адрес скрыт)
Дата: 18, June, 2015 12:15

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

Вложения: КОРР1.png (58.3KB)   КОРР2.png (128KB)  
Re: Глобальная корректировка
Пользователь: СВК (IP-адрес скрыт)
Дата: 18, June, 2015 12:39

Исправила, поставила ' перед DBOOK, что-то работает, но пока буду сверять правильно, ли удаляет. Людмила Николаевна, Огромное спасибо за помощь.

Re: Глобальная корректировка
Пользователь: Nata (IP-адрес скрыт)
Дата: 18, September, 2015 15:37

ochagova написал(а):
-------------------------------------------------------
> Эта проблема уже обсуждалась на форуме. Есть
> частное решение автом. формирования поля 30 как
> числа, начиная с базового и плюс 1. Посмотрите
> приложение
Добрый день!
Следуя инструкции, я завела в БД читателя MAXREADER, установила идентификатор в виде 000002, но при сохранении записи, у идентификатора
усекаются нули и получается вид "3,4 и т.д."
В чём может быть проблема?
ИРБИС 64 2013+все обновления

Re: Глобальная корректировка
Пользователь: Nata (IP-адрес скрыт)
Дата: 22, September, 2015 15:01

Прошу ответить - это всё-таки причина в настройках ИРБИС или нет?
Это произошло после установки последнего обновления...
Изначально у нас были идентификаторы немного нестандартные, и было принято решение о присвоении шестизначных идентификаторов читателям, начиная с 000001.
После удаления 30 поля, выгрузки и опустошения БД, я завела первого читателя MAXREADER, исправила файл autoin.gbl в БД RDR и когда начала импортировать выгруженные записи, то у них автоматически начал присваиваться идентификатор в нужном мне формате.
Сейчас, по необходимости, мне нужно сделать то же самое, но у идентификаторов отсекаются все нули, и я не могу найти причину.

Re: Глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 23, September, 2015 16:30

Т.е. вы работали со старым autoin и было все правильно, а после обновления, в котором был новый autoin, стало работать иначе?

Re: Глобальная корректировка
Пользователь: Jakonda (IP-адрес скрыт)
Дата: 21, October, 2015 10:15

Здравствуйте! Подскажите пожалуйста как нужно правильно написать глобальную корректировку. Если надо изменить номер специальности в поле 691^C при условии, что в этом повторении поля семестр не равен 11 или 12.
У меня получилось так:

0
REP
691^C
F
(if p(v691) then if v691^C:'060103' and not(v691^F:'11') and not(v691^F:'12') then '31.05.02' else # fi fi/)

Но не работает :(

Re: Глобальная корректировка
Пользователь: Сорокина Лариса (IP-адрес скрыт)
Дата: 21, October, 2015 12:46

Jakonda написал(а):
-------------------------------------------------------
> Здравствуйте! Подскажите пожалуйста как нужно
> правильно написать глобальную корректировку. Если
> надо изменить номер специальности в поле 691^C при
> условии, что в этом повторении поля семестр не
> равен 11 или 12.
> У меня получилось так:
>
> 0
> REP
> 691^C
> F
> (if p(v691) then if v691^C:'060103' and
> not(v691^F:'11') and not(v691^F:'12') then
> '31.05.02' else # fi fi/)
>
> Но не работает :(


(if p(v691) then if v691^C:'060103' then if v691^F:'11'or v691^F:'12' then v691^C else'31.05.02'fi else v691^C fi fi/)

Re: Глобальная корректировка
Пользователь: Jakonda (IP-адрес скрыт)
Дата: 22, October, 2015 06:34

Спасибо большое!!!! Все заработало

Re: Глобальная корректировка
Пользователь: Nata (IP-адрес скрыт)
Дата: 21, April, 2016 07:28

Добрый день! Помогите, пожалуйста, составить задание на глобальную корректировку.
Нужно поле "51: Дата записи" (дату и место) скопировать в поле "52: Дата перерегистрации" у отобранных записей. Поле 52 пустое.
Спасибо.

Re: Глобальная корректировка
Пользователь: Яковлева Татьяна (IP-адрес скрыт)
Дата: 22, April, 2016 13:41

51 поле - повторяемое. Вам все повторения нужно добавить в 52 поле?

Re: Глобальная корректировка
Пользователь: Nata (IP-адрес скрыт)
Дата: 25, April, 2016 07:09

Яковлева Татьяна написал(а):
-------------------------------------------------------
> 51 поле - повторяемое. Вам все повторения нужно
> добавить в 52 поле?


Я его сделала неповторяемым. Т.е. нужно скопировать одно повторение 51 поля в 52 поле. Спасибо.

Re: Глобальная корректировка
Пользователь: Яковлева Татьяна (IP-адрес скрыт)
Дата: 25, April, 2016 08:15

Возьмите файл 52.gbl

Вложения: 52.gbl (88 bytes)  
Re: Глобальная корректировка
Пользователь: Nata (IP-адрес скрыт)
Дата: 25, April, 2016 08:18

Яковлева Татьяна написал(а):
-------------------------------------------------------
> Возьмите файл 52.gbl

Благодарю! Всё получилось!

Страницы: <<123>>
Страница: 2 из 3


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