Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис    FTP-сервер
АРМ Каталогизатор :  ИРБИС Irbis
 
Изменения в autoin.gbl
Пользователь: Мончегорская ЦБС (IP-адрес скрыт)
Дата: 12, February, 2018 09:05

Здравствуйте! Нам необходимо внести в autoin.gbl дополнительное условие. При сохранении записи нужно добавлять определенное значение в 606^0, если подполе не заполнено. Ирбис должен проверять заполнено ли подполе, если нет, то записывать значение, в противном случае игнорировать.И так во всех повторениях поля.
Сами составить не можем нужную запись. Помогите пожалуйста.

Re: Изменения в autoin.gbl
Пользователь: Сорокина Лариса (IP-адрес скрыт)
Дата: 12, February, 2018 12:35

Мончегорская ЦБС написал(а):
-------------------------------------------------------
> Здравствуйте! Нам необходимо внести в autoin.gbl
> дополнительное условие. При сохранении записи
> нужно добавлять определенное значение в 606^0,
> если подполе не заполнено. Ирбис должен проверять
> заполнено ли подполе, если нет, то записывать
> значение, в противном случае игнорировать.И так во
> всех повторениях поля.
> Сами составить не можем нужную запись. Помогите
> пожалуйста.
ADD
606^0
F
(if p(v606)then if v606^0=''then'111'else # fi fi/)

Re: Изменения в autoin.gbl
Пользователь: Мончегорская ЦБС (IP-адрес скрыт)
Дата: 12, February, 2018 13:53

(if p(v606)then if v606^0=''then'111'else # fi fi/)

Вместо '111' наше значение, правильно?

Re: Изменения в autoin.gbl
Пользователь: Сорокина Лариса (IP-адрес скрыт)
Дата: 12, February, 2018 16:29

Мончегорская ЦБС написал(а):
-------------------------------------------------------
> (if p(v606)then if v606^0=''then'111'else # fi
> fi/)
>
> Вместо '111' наше значение, правильно?


Да

Re: Изменения в autoin.gbl
Пользователь: Мончегорская ЦБС (IP-адрес скрыт)
Дата: 12, February, 2018 17:27

Вставили строки в наш файл, не записывает значение =(

Re: Изменения в autoin.gbl
Пользователь: Мончегорская ЦБС (IP-адрес скрыт)
Дата: 13, February, 2018 08:30

Прикладываем наш файл.

Вложения: autoin.gbl (91KB)  
Re: Изменения в autoin.gbl
Пользователь: Сорокина Лариса (IP-адрес скрыт)
Дата: 13, February, 2018 09:14

Мончегорская ЦБС написал(а):
-------------------------------------------------------
> Прикладываем наш файл.


Приложите еще запись (файл экспорта), куда не записывает.

Re: Изменения в autoin.gbl
Пользователь: Мончегорская ЦБС (IP-адрес скрыт)
Дата: 13, February, 2018 09:52

Он не к одной записи не дописывает.

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

ADD
606^0
*
'Mcbs_monch'
XXXXXXXXXXXXXXXXXXX

Вложения: withoutAutoInput.ISO (11KB)  
Re: Изменения в autoin.gbl
Пользователь: Сорокина Лариса (IP-адрес скрыт)
Дата: 13, February, 2018 11:00

Мончегорская ЦБС написал(а):
-------------------------------------------------------
> Прикладываем наш файл.


В вашем autoin.gbl ошибка. Пробелы в конце строк оператора ADD для добавления 606^0.

Re: Изменения в autoin.gbl
Пользователь: Мончегорская ЦБС (IP-адрес скрыт)
Дата: 13, February, 2018 11:11

Спасибо огромное. Вы нас очень выручили. Простите за невнимательность. Ещё раз спасибо.

Re: Изменения в autoin.gbl
Пользователь: KrVs (IP-адрес скрыт)
Дата: 06, September, 2018 10:26

Помогите пожалуйста составить строки в автоввод.

Создали новую базу данных для необходимых нужд и там необходимо составить команды для автоввода.

В новой базе данных имеется поле 200 и поле 700 со стандартными подполями электронного каталога, а также поле 505 с переключателем "ДА/НЕТ".

Так вот нужно чтобы при наличии в поле 505 "ДА" при сохранении записи в базе данных Комлектования (CMPL) создавалась новая запись и в нее переносились данные из поля 200 и поля 700.

Какие строки необходимо добавить в автоввод, чтобы все работало?

Пробовал так, как ниже прилагаю, но ничего не работает. Хотя брал из аналогичного примера. Новая запись не создается.

Добавил в начало файла autoin.gbl новой базы данных следующие сроки:

NEWMFN
if (v504): 'ДА' then 'CMPL' else fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
ADD
200
XXXXXXXXXXXXXXXXXXX
v200
XXXXXXXXXXXXXXXXXXX
END
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX


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

Re: Изменения в autoin.gbl
Пользователь: ochagova (IP-адрес скрыт)
Дата: 06, September, 2018 10:59

Вторая строка оператора NEWMFN должна давать имя БД. У вас вырабатывается ДА, но такой БД у вас, наверняка, нет.
Чтобы не было повтора, перед оператором NEWMFN надо бы сделать оператор IF, или условие встроить во вторую строку NEWMFN.
Главное - как написать условие. Можно использовать проверку на "уже есть термин в словаре от поля 200", но вы же намеренно создаете вторую запись с полем 200, так что термин уже повторяется. В общем сначала обдумайте условия.

Re: Изменения в autoin.gbl
Пользователь: KrVs (IP-адрес скрыт)
Дата: 06, September, 2018 13:16

ochagova написал(а):
-------------------------------------------------------
> Вторая строка оператора NEWMFN должна давать имя
> БД. У вас вырабатывается ДА, но такой БД у вас,
> наверняка, нет.
> Чтобы не было повтора, перед оператором NEWMFN
> надо бы сделать оператор IF, или условие встроить
> во вторую строку NEWMFN.
> Главное - как написать условие. Можно использовать
> проверку на "уже есть термин в словаре от поля
> 200", но вы же намеренно создаете вторую запись с
> полем 200, так что термин уже повторяется. В общем
> сначала обдумайте условия.

Большое спасибо. Потом пробовал делать самую обычную строку для создания новой записи без всяких условий и прочего, не работало все равно, но с проблемой разобрался. Оказывается нельзя вставлять оператор NEWMFN в самое начало файла автоввода. Из-за этого ничего не работало. Когда вставил в середину файла, между другими заданиями, то сразу все заработало и начало создаваться.
Теперь будут разбираться с условием.

Подскажите пожалуйста, как должна выглядеть строка самого простого условия. В текущей базе понятно, там просто. А как делать сравнение с полем из другой базы данных? То есть "если поле 200^A из базы данных CMPL не содержит значение поля 200^А из базы данных PTK". Как будет строка выглядеть?



Редактировано 1 раз. Последний раз 06.09.2018 13:33 пользователем KrVs.

Re: Изменения в autoin.gbl
Пользователь: ochagova (IP-адрес скрыт)
Дата: 06, September, 2018 13:36

Вам следует ознакомиться с такими операторами языка форматирования как:
ref(...., &uf('J..., &uf('D....< &uf('7...

Re: Изменения в autoin.gbl
Пользователь: KrVs (IP-адрес скрыт)
Дата: 12, September, 2018 13:56

ochagova написал(а):
-------------------------------------------------------
> Вам следует ознакомиться с такими операторами
> языка форматирования как:
> ref(...., &uf('J..., &uf('D....< &uf('7...

Спасибо за подсказку. Вроде получилось сделать часть проверки. Дублетную запись находит. Но возникла проблема с выводом в сообщение MFN этой записи. Помогите пожалуйста. Не могу понять как это делать. Вроде прописываю по инструкции, но не работает почему-то (то что выделено жирным). Остальное всё работает.

if (val(&unifor('JCMPL,',"T="v200^A))<1) then '0' else 'Внимание, дублетность! В базе данных Комплектования имеется издание с таким названием. ''См. MFN № ',&unifor('DCMPL,,mfn') fi



Редактировано 1 раз. Последний раз 12.09.2018 14:01 пользователем KrVs.

Re: Изменения в autoin.gbl
Пользователь: ochagova (IP-адрес скрыт)
Дата: 13, September, 2018 13:46

&unifor('DCMPL,!',"T="v200^A,'!,mfn')



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