Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Каталогизатор :  ИРБИС Irbis
 
Глобальная корректировка. CORREC ...
Пользователь: -AND- (IP-адрес скрыт)
Дата: 22, January, 2009 15:48

Не могу понять принцып работы CORREC глобальной корректировки. Сейчас у меня задача всем записям номеров журналов добавить поле 101(язык текста, нужно для статистики). Это поле присутствует в БО журнала, значит его можно скопировать оттуда глобальной корр. во все номера. Но у меня не получается. Вот мой .gbl(хотя это уже далеко не первый его вариант):
0
CORREC
'*'
V101     //поле, которое нужно передать в номера
If v920='J' then "I="v903 fi //термин, по которому искать номера
XXXXXXXXXXX
ADD
101
F
if v920='NJ' then v1001 fi    // собственно добавление значения в номера
DEL
1001    
*
END
Смысл такой: находим БО журнала по РЛ J, передаем из него в номера зн. поля 101. Что тут не так????



Редактировано 1 раз. Последний раз 22.01.2009 15:57 пользователем -AND-.

Re: Глобальная корректировка. CORREC ...
Пользователь: -AND- (IP-адрес скрыт)
Дата: 22, January, 2009 16:29

Мне не понятно что должно быть в строке 5, там где проходит поиск по термину. В руководстве написано
Цитата:
Формат – результатом форматирования текущей записи должны быть строки, которые будут рассматриваться как термины словаря другой (или той же) базы данных. Записи, связанные с этими терминами, будут далее корректироваться.
Т.е. я так понимаю что в моем случаи должно быть, например ГК перешла к записи журнала Колесо, шифр этого журнала К0001, значит в словаре он I=К0001, поскольку условие, наличие J верно, то механизм приступает к поиску записей, где тоже есть термин I=К0001, если есть такой термин и верно условие NJ, то ГК добавляет поле 101 к рассматриваемой записи.

Алгоритм работы я правильно понимаю?



Редактировано 1 раз. Последний раз 22.01.2009 18:08 пользователем -AND-.

Re: Глобальная корректировка. CORREC ...
Пользователь: ochagova (IP-адрес скрыт)
Дата: 22, January, 2009 17:18

Алгоритм вы правильно поняли, но записи номеров не дают термин I=Koo1, т.к. их шифры - это продолжение термина (I=Koo1/...). Но чтобы вытаскивать записи по началу термина придумали в конец строки ставить символ $, т.е.
If v920='J' then "I="v903 fi,$
Согласна, это неуклюже и надо эту строку делать как запрос, а не как термин. Мы уже это обсуждали.

Re: Глобальная корректировка. CORREC ...
Пользователь: -AND- (IP-адрес скрыт)
Дата: 22, January, 2009 18:27

Да, этот вариант я тоже рассматривал, но ушел от него потому, что нашел формат !SCNT7.PFT, посмотрел на него в редакторе форматов. Редактор показал, термины БО и номеров формируются одинаково. Например вот термины БО журнала Промышленное и гр. строительство:
I=ПГС/04
I933=ПГС/04/$

И вот термины его номера:
I=ПГС/04
I933=ПГС/04/$

А значит I=... должен был подходить.

Спасибо. Попробую.

Re: Глобальная корректировка. CORREC ...
Пользователь: Сорокина Лариса (IP-адрес скрыт)
Дата: 23, January, 2009 10:36

-AND- написал(а):
-------------------------------------------------------
> Не могу понять принцып работы CORREC глобальной
> корректировки. Сейчас у меня задача всем записям
> номеров журналов добавить поле 101(язык текста,
> нужно для статистики). Это поле присутствует в БО
> журнала, значит его можно скопировать оттуда
> глобальной корр. во все номера. Но у меня не
> получается. Вот мой .gbl(хотя это уже далеко не
> первый его вариант):
>
> 0
> CORREC
> '*'
> V101 //поле, которое нужно передать в номера
> If v920='J' then "I="v903 fi //термин, по которому
> искать номера
> XXXXXXXXXXX
> ADD
> 101
> F
> if v920='NJ' then v1001 fi // собственно
> добавление значения в номера
> DEL
> 1001
> *
> END
>
>
> Смысл такой: находим БО журнала по РЛ J, передаем
> из него в номера зн. поля 101. Что тут не так????


Добавить поле 101 в номера журналов можно и без CORREC. отобрать по виду документа "NJ" все номера и напустить на отобранные записи задание глобальной корректировки:

0
ADD
101

if a(v101)then ref(L("I="v933),v101) fi

Re: Глобальная корректировка. CORREC ...
Пользователь: ochagova (IP-адрес скрыт)
Дата: 23, January, 2009 10:36

Это только в сообщении операторы ADD и DEL занимает 4 и 3 строки? Если в реальном задании, то это неверные операторы и может быть причина в этом. Операторы ADD,CHA,DEL,REP,DELR должны занимать 5 строк. Остальные - нет.

Re: Глобальная корректировка. CORREC ...
Пользователь: -AND- (IP-адрес скрыт)
Дата: 23, January, 2009 11:31

Цитата:
Это только в сообщении операторы ADD и DEL занимает 4 и 3 строки? Если в реальном задании, то это неверные операторы и может быть причина в этом. Операторы ADD,CHA,DEL,REP,DELR должны занимать 5 строк. Остальные - нет.
Извините, но я не понял что вы имели ввиду. В сообщении привел точный формат, как в файле gbl.



Редактировано 1 раз. Последний раз 22.12.2014 17:05 пользователем -AND-.

Re: Глобальная корректировка. CORREC ...
Пользователь: ochagova (IP-адрес скрыт)
Дата: 26, January, 2009 10:57

Вы загрузите задание в интерфейс глобальной, проверьте правильность и сохраните его.

Re: Глобальная корректировка. CORREC ...
Пользователь: -AND- (IP-адрес скрыт)
Дата: 28, January, 2009 11:51

Спасибо, правильность проверил, все очень работает :)
Большое спасибо за помощь!!!

Re: Глобальная корректировка. CORREC ...
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 12, December, 2014 16:41

Как происходит актуализация записей после проведения ГК с включенной опцией "Актуализировать словарь" в клиенте? Происходит ли вообще актуализация словаря? Провожу специально корректировку с целью актуализации словаря в другой БД при сохранении записи в текущей БД.



Редактировано 2 раз. Последний раз 12.12.2014 16:54 пользователем woodyfon.

Re: Глобальная корректировка. CORREC ...
Пользователь: ochagova (IP-адрес скрыт)
Дата: 15, December, 2014 11:05

Актуализация БД происходит при записи записи в файл. А реально корректировка по CORREC у вас происходит?

Re: Глобальная корректировка. CORREC ...
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 15, December, 2014 11:45

Да, корректировка происходит, но у меня словари в одной БД форируются по словарям из другой БД.

Re: Глобальная корректировка. CORREC ...
Пользователь: ochagova (IP-адрес скрыт)
Дата: 15, December, 2014 13:08

Надо смотреть конкретно.
При актуализации не проверяется состояние словарей. Имеет значение только запись. На ней и на ее предыдущей копии выполняются форматы из FST. Если есть изменения, то термины идут в словарь.

Re: Глобальная корректировка. CORREC ...
Пользователь: oyan (IP-адрес скрыт)
Дата: 09, June, 2023 11:06

Помогите, пожалуйста, написать глобальную корректировку. Наполняю БД VUZ, импортировала туда данные из имеющейся excel-таблицы с дисциплинами, получилось неудачно: образовалось по несколько записей с одинаковыми 3 полями и по одному повторению 83 поля у каждой. Хотела бы перенести все повторения 83 поля в одну запись, а остальные записи удалить.

Например, сейчас вот так:

0000000039
#3/1:_^AАдаптивная физическая культура
#83/1:_^NПродюсерство^CПродюсер теле- и радиопрограмм
#920/1:_DISC

0000000040
#3/1:_^AАдаптивная физическая культура
#83/1:_^NКиноведение^CКиноведение
#920/1:_DISC

Хотелось бы сделать из них вот так:

#3/1:_^AАдаптивная физическая культура
#83/1:_^NПродюсерство^CПродюсер теле- и радиопрограмм
#83/2:_^NКиноведение^CКиноведение
#920/1:_DISC

Re: Глобальная корректировка. CORREC ...
Пользователь: ochagova (IP-адрес скрыт)
Дата: 09, June, 2023 16:02

А может вы сначала повторите импорт, если у вас есть АРМ Книгообеспеченность?
В известном режиме импорта из ECXEL надо запускать не "Загрузить", а "Обновить". И далее в опросном листе указать, что искать дисциплину по наименованию. Этот режим как раз для такого случаю.



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