Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Администратор :  ИРБИС Irbis
 
глобальная корректировка
Пользователь: Наталья В. П. (IP-адрес скрыт)
Дата: 11, December, 2007 14:32

уважаемые знатоки! помогите!!!
надо написать такую глобальную корректировку: необходимо удалить все повторения 907 поля, кроме 1.

Re: глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 11, December, 2007 14:43

Можно написать следующий оператор
DEL
907
F
(if p(v907) then if val(&uf('+90'))=1 then '0' else '1' fi fi/)

Re: глобальная корректировка
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 11, December, 2007 14:46

Конкретно не напишу, но расскажу. Последовательность действий следующая:
1. Создаете поле к примеру 7777, и пишете туда данные, полученные форматом
&unifor('Av907#1')
т.е. получаете только первое повторение поля
2. Далее полностью удаляете поле 907
3. Создаете поле 907, используя формат
v7777
4. Удаляете поле 7777

Re: глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 11, December, 2007 15:23

Мой вариант короче, НО... Следует предупредить, что он отработает, если в версии ползователя есть unifor('+90'), т.е. выдача номера повторения.

Re: глобальная корректировка
Пользователь: Наталья В. П. (IP-адрес скрыт)
Дата: 11, December, 2007 15:26

Эх, что-то на первый вариант ругается - ошибка формата, у нас ИРБИС64 2006.1, будем вариант Максима пробовать :)

Re: глобальная корректировка
Пользователь: Наталья В. П. (IP-адрес скрыт)
Дата: 11, December, 2007 16:01

ура, все получилось!!!!

Re: глобальная корректировка
Пользователь: Ефремова Оксана (IP-адрес скрыт)
Дата: 06, April, 2009 16:50

Добрый день!
надо написать такую глобальную корректировку: необходимо удалить все повторения 907 поля, в которых нет ФИО. Как правильно это написать???

Re: глобальная корректировка
Пользователь: Gena (IP-адрес скрыт)
Дата: 06, April, 2009 21:11

0
REP
907
F
(if p(v907) then if v907^b<>'' then v907 else # fi fi/)
XXXXXXXXXXXXXXXXXXX

Re: глобальная корректировка
Пользователь: Ефремова Оксана (IP-адрес скрыт)
Дата: 07, April, 2009 09:37

К сожалению корректировка не происходит... Что сделано не так??

Re: глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 07, April, 2009 13:58

DEL
907
F
(if p(v907) then if a(v907^B) then '1' else '0' fi fi/)

Re: глобальная корректировка
Пользователь: pauleta (IP-адрес скрыт)
Дата: 07, April, 2009 15:05

Есть ли ограничение количества записей для глобальной корректировки? Даю задание для отобранного множества (277 записей):
DEL
463^7
*
XXXXXXXXX
XXXXXXXXX
и получаю ответ - "откорректировано 0 записей". В то же время отмеченные записи из отобранных редактируются нормально. В чем проблема? Версия ИРБИС64 2008.1



Редактировано 1 раз. Последний раз 07.04.2009 15:06 пользователем pauleta.

Re: глобальная корректировка
Пользователь: ssa_admin (IP-адрес скрыт)
Дата: 22, April, 2009 16:06

Помогите, пожалуйста, с составлением глобальной корректировки.
Просмотрел весь форум (21 страницу найденных результатов), но так и не смог разобраться как правильно написать в моем случае.

Начну с самого начала:
- после конвертации БД со старой проги в Ирбис такой параметр как "Дисциплина" был занесен в поле "61 .Дисциплина потенциальная" (для некоторых экземпляров таких дисциплин несколько)
- на данный момент дошли руки и до Дисциплины. Теперь надо из поля 61 все данные перенести в поле "691 .ВУЗ (Учебная литература)" в подполе "D .Дисциплина", т.е 691^D

Пробовал много разных вариантов, но получается перенести только первое значение поля 61.

Заранее спасибо за любые подсказки и советы.

p.s. забыл совсем, у нас версия Ирбис 64 2007.2



Редактировано 1 раз. Последний раз 22.04.2009 16:07 пользователем ssa_admin.

Вложения: 2009-04-22_150527.jpg (35.4KB)  
Re: глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 22, April, 2009 16:53

Очень просто:
ADD
691

(|^D|v61/)

Если из 61-го хотите удалить, то еще
DEL
61
*

Но в этой корректировке хорошо бы сразу определить и факультет, и семестр и т.д.

Re: глобальная корректировка
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 22, April, 2009 16:54

1. Нужно удалить поле 691 (если, конечно, там нет данных или они не нужны)
2. Добавляете поле 691 по формату
(|^D|v61/)
при этом в графе "повторения" нужно выбрать "по формату" (вроде *)
3. Удалить поле 61

Внимание! Проверку глобальной обязательно производите на тестовых записях.

Re: глобальная корректировка
Пользователь: ssa_admin (IP-адрес скрыт)
Дата: 22, April, 2009 17:03

спасибо вам ребята
я пробовал в одном из вариантов (v61/), но естественно не получалось.

а где вы прочитали про | |? я б никогда не догадался(:P)

Re: глобальная корректировка
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 22, April, 2009 17:33

Ну так это условный повторяющийся литерал. Читайте внимательнее документацию по языку форматирования (Приложение 4, Общее описание системы)

Re: глобальная корректировка
Пользователь: ssa_admin (IP-адрес скрыт)
Дата: 08, May, 2009 10:14

И снова я...


Всем доброго дня.

У нас стоит Ирбис 64 2007.2

Помогите/подскажите какую надо составить глобальную корректировку для выполнения такого задания:

- нужно из базы данных VUZ взять названия дисциплин (v3^a) и их соответствующие атрибуты (например, "Кафедра читающая" - v5, "Идентификатор дисциплины" - v3^0) и вставить в поле 691 БД IBIS. При этом критерием выбора будет уже ранее заполненное имя дисциплины (поле 691^D).
Есть только один нюанс: мы ранее заполняли 691 поле без БД VUZ, а теперь решили начать использовать и АРМ Книгообеспеченность. Так вот мы ранее писали название дисциплины с указанием читающей кафедры в скобках, т.е. в таком виде - ^DСудові та правоохоронні органи (Каф. кримінально-правових дисциплін), теперь же при использовании БД VUZ нужно чтоб название дисциплины указывалось отдельно от читающей кафедры (^DСудові та правоохоронні органи).

Подводя итог написанному выше:
нужно проверить поле v691,
если в v691^D есть название дисциплины (до открывающейся скобки), то
считать это название дисциплины и найти ее в БД VUZ (в поле v3^a)
затем это название записать в v691^D вместо существующего там,
и соответствующие данные по этой дисциплине записать в:
v691^i - "Идентификатор дисциплины"
v691^B - "Кафедра читающая"
и всё smiling smiley

Пробовал разные варианты, но пока не получается.
Заранее очень благодарен за любую помощь в данном вопросе



Редактировано 1 раз. Последний раз 08.05.2009 10:14 пользователем ssa_admin.

Re: глобальная корректировка
Пользователь: Ефремова Оксана (IP-адрес скрыт)
Дата: 13, January, 2010 09:23

надо написать такую глобальную корректировку: необходимо удалить все повторения 907 поля, в которых нет этапа работы и ФИО. Как правильно это написать???
DEL
907
F
(if p(v907) then if a(v907^B) then '1' else '0' fi fi/)
не помогает....
Пожалуйста, помогите!!!!!

Re: глобальная корректировка
Пользователь: Gena (IP-адрес скрыт)
Дата: 13, January, 2010 10:01

REP
907
F
(If p(v907) then if v907^c<>'' and v907^b<>'' then v907 else # fi fi/)

Re: глобальная корректировка
Пользователь: ochagova (IP-адрес скрыт)
Дата: 13, January, 2010 10:24

Можно как GENA, а ваш вариант попробуйте исправить на:
DEL
907
F
(if p(v907) then if v907^B='' then '1' else '0' fi fi/)

Т.к. в некоторых записях есть ^B а само значение пусто



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