Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Администратор :  ИРБИС Irbis
 
Пользовательский режим
Пользователь: goirvi (IP-адрес скрыт)
Дата: 22, June, 2007 07:37

Уважаемые разработчики! Помогите мне, пожалуйста, разобраться с подключением пользовательского режима в ИРБИС-64. У меня есть отлаженная функция DLL, которая нормально работает, если вызвать ее в РЛ через режим ввода 14.
Если вызвать эту функцию через unifor

&unifor('+8SodergJur,Soderg1,',ref(l(|I=|v933),&unifor("Q"v200^a))' 'v936' 'v934)

, то тоже все работает.
Теперь я хочу «повесить» эту функцию в главное меню. Тут возникают следующие вопросы.
В инструкции написано : "Режимы пользователя описываются через INI-файл (irbisc.ini секция [USERMODE])". В моем ini-файле секции [USERMODE] нет и создать ее мне не удалось (в Блокноте ее прописываю, но в редакторе ini-файлов не вижу).
Пробовала в секции [MAIN] сделать следующее описание:

UMNUMB=1
UMDLL0=SodergJur.dll
UMFUNCTION0=Soderg1
UMPFT0=imfile.pft
UMNAME0='Содерж. журн.'
UMGROUP0=2
UMICON0=

Реакции никакой. Иконку не прописала, потому что еще не включила ее в DLL (разбираюсь как это сделать), но ведь можно и без иконки. Тогда режим появится в меню и не появится на панели инструментов, или нет?

Re: Пользовательский режим
Пользователь: ochagova (IP-адрес скрыт)
Дата: 22, June, 2007 14:54

Новую секцию вы можете создать только в блокноте. К сожалению, радактор ее не увидит - в нем только стандартные секции. Но программа (каталогизатор) эту секцию поймет.

Re: Пользовательский режим
Пользователь: goirvi (IP-адрес скрыт)
Дата: 25, June, 2007 09:32

Создала [USERMODE] в ini-файле, с которым захожу в "Каталогизатор". Не помогло. Что же я делаю неправильно? Может быть, причина в отсутствии иконки?

Re: Пользовательский режим
Пользователь: Alio (IP-адрес скрыт)
Дата: 25, June, 2007 11:57

goirvi написал(а):
-------------------------------------------------------
> Создала в ini-файле, с которым захожу в
> "Каталогизатор". Не помогло. Что же я делаю
> неправильно? Может быть, причина в отсутствии
> иконки?
Иконка тут ни при чем - она не обязательна. Пришлите свою DLL и irbisc.ini (alio@gpntb.ru)

Re: Пользовательский режим
Пользователь: goirvi (IP-адрес скрыт)
Дата: 25, June, 2007 14:46

Большое спасибо всем за помощь и поддержку. Александру Иосифовичу - отдельная благодарность.
Может, кому-то пригодится: после занесения секции [USERMODE] в ini-файл РЕЖИМЫ ПОЛЬЗОВАТЕЛЯ в "Каталогизаторе" нужно ВКЛЮЧИТЬ (опция находится в списке, который вы обнаружите, щелкнув правой кнопкой мыши на главном меню).
С уважением, Гончарова Ирина.

Re: Пользовательский режим
Пользователь: goirvi (IP-адрес скрыт)
Дата: 11, October, 2007 06:45

Еще одна проблема. Для вышеописанного пользовательского режима (см.сообщение от 22.06.2007) мне нужно запустить формат imfile.pft следующего содержания:
ref(l(|I=|v933),&unifor("Q"v200^a))' 'v936' 'v934
который должен сформировать строку: наим.издания номер год
Так вот в редакторе форматов этот imfile.pft работает, а в Каталогизаторе при вызове по кнопке получаю сообщение: @imfile.pft - Format error (1). Что неправильно?

ГУНБ Красноярского края

Re: Пользовательский режим
Пользователь: iLq (IP-адрес скрыт)
Дата: 11, October, 2007 08:48

я бы запятые вначале добавил
ref(l(|I=|v933),&unifor("Q"v200^a)),' ',v936,' ',v934

Re: Пользовательский режим
Пользователь: goirvi (IP-адрес скрыт)
Дата: 11, October, 2007 09:09

К сожалению, не помогло. С запятыми то же самое сообщение об ошибке.

Re: Пользовательский режим
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 11, October, 2007 12:19

Запятые тут не при чем. Думаю, что стоит написать так
if p(v933) then ref(l('I='v933),&unifor("Q"v200^a)),' ',v936,' ',v934 fi

Еще стоит проверить, возможно ли использовать в функции REF в качестве формата выражения с UNIFOR

Re: Пользовательский режим
Пользователь: goirvi (IP-адрес скрыт)
Дата: 11, October, 2007 13:18

Такое ощущение, что проблема именно в REF, т.к.
if p(v933) then v933,' ',v936,' ',v934 fi
работает, а вот
if p(v933) then ref(353,v200^a),' ',v936,' ',v934 fi
не работает.
Здесь '353' - MFN, указанный в явном виде.

Попробовала ещё такой формат:
if p(v933) then &unifor('DIBIS,/I='v933'/,v200^A'),' 'v936,' 'v934 fi
результат тот же, т.е. в редакторе форматов работает, в Каталогизаторе - нет.



Редактировано 3 раз. Последний раз 11.10.2007 13:36 пользователем goirvi.

Re: Пользовательский режим
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 11, October, 2007 14:45

Богат сегодня денег на касяки. Давненько такого не было. Я совершенно ничего не понимаю. Все правильно написано.

Ставили ли вы какие-либо обновления на Ирбис? Может стоит попробовать откатить версии файлов до обновления?

Re: Пользовательский режим
Пользователь: goirvi (IP-адрес скрыт)
Дата: 16, October, 2007 10:00

Потрясена до глубины души, ларчик-то просто открывался! В инструкции написано:
UMPFTn - имя формата, в соответствии с которым осуществляется передача входных данных в функцию (формат применяется к текущей записи);
и указывать нужно именно ИМЯ без расширения, т.е. не
UMPFT0=imfile.pft
а
UMPFT0=imfile
Вот так вот.

Re: Пользовательский режим
Пользователь: Gena (IP-адрес скрыт)
Дата: 29, September, 2011 17:34

Александр Иосифович, а можно ли использовать пользовательский режим для работы с несколькими записями? Есть целых две задачи, в которых требуется обработка массива записей. Можете что-то подсказать?

Re: Пользовательский режим
Пользователь: Lavrinovich (IP-адрес скрыт)
Дата: 01, October, 2011 11:41

Опять заметил, кажется, терминологическую неточность. "Пользовательский режим" - это собственная разработка (собств. dll)?



Редактировано 1 раз. Последний раз 06.10.2011 05:20 пользователем Lavrinovich.

Re: Пользовательский режим
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 05, October, 2011 12:17

Да, именно так.

Re: Пользовательский режим
Пользователь: Gena (IP-адрес скрыт)
Дата: 27, October, 2011 10:43

Алесандр Иосифович, у меня вопрос по Релизу и пользовательскому режиму. В релизе написанно:
Цитата:
Предлагается возможность подключения пользовательских режимов, т.е. режимов, созданных самим пользователем-разработчиком (ИРБИС64). Это означает, что пользователь может "повесить" собственные режимы обработки (как пакетные, так и интерактивные) в главном меню и на панели инструментов.
Правильно ли я понимаю, что имеется в виду корректировка текущего, и корректировка группы документов?



Редактировано 2 раз. Последний раз 27.10.2011 10:44 пользователем Gena.

Re: Пользовательский режим
Пользователь: Alio (IP-адрес скрыт)
Дата: 28, October, 2011 12:28

Gena написал(а):
-------------------------------------------------------
> Алесандр Иосифович, у меня вопрос по Релизу и
> пользовательскому режиму. В релизе написанно:
>
> Предлагается возможность подключения
> пользовательских режимов, т.е. режимов, созданных
> самим пользователем-разработчиком (ИРБИС64). Это
> означает, что пользователь может "повесить"
> собственные режимы обработки (как пакетные, так и
> интерактивные) в главном меню и на панели
> инструментов.
> Правильно ли я понимаю, что имеется в виду
> корректировка текущего, и корректировка группы
> документов?
Это зависит от Вашей программы... Данные ВАшему приложению передаются через расформатирование ТЕКУЩЕЙ записи.

Re: Пользовательский режим
Пользователь: Gena (IP-адрес скрыт)
Дата: 28, October, 2011 12:37

Тоесть, возврат все равно в одну запись. Александр Иосифович, а можно ли предусмотреть со временем режим, позволяющий работать не с одной записью, а с несколькими? И еще, а когда USERMODE появится в остальных АРМах? Сейчас заканчиваю модуль для рассылки сообщений читателям по E-mail(долги, новые поступления по интересующих их темам(по типу ИРИ), рассылка информационных сообщений), он запускается из Каталогизатора, хотя логичнее было бы запускать его из Книговыдачи.

Re: Пользовательский режим
Пользователь: Gena (IP-адрес скрыт)
Дата: 23, July, 2012 13:11

Александ Иосифович, большое вам спасибо за возможность использовать пользовательский режим в АРМе Книговыдача. Это позволило создать режим для фотографирования читателей и автоматического занесения фотографии в поле 953. Очень удобно оказалось то, что при передачи измененной записи обратно в Ирбис, происходит автоматическое ее сохранение. Правда, нашелся странный глюк - обновление текстовых данных в окне просмотра происходит корректно, а вот новая фотография (это в случае перефотографирования) не подтягивается. Пока что решил эту проблему удалением в папке irbiswrk старого изображение - это заставляет подтягивать новое изображение.

Вот как это работает:
При старте АРМа Книговыдача появляется дополнительная кнопка на панели задач и в меню Читатели:

http://irbis.gpntb.ru/file.php?0,file=6872

При нажатии по любой из этих кнопок, открывается окошко с тремя кнопками: "Сделать фотографию", "Применить" и "Отменить". При появлении этого окошка в него транслируется то, что находитс яперед подключенной к компьютеру веб-камерой. У меня еще на уровне драйверов к вебке заложено, что при активации вебке, появляется окно управления контрастностью, балансом белого, цветностью и прочими настройками. При нажатии по кнопке "Сделать фотографию", формируется фотография текущего состоянии окна. Если после этого нажать кнопку "Применить", то фотка переносится в запись читателя, а при нажатии кнопки "Отменить" - запись остается в том же состоянии.

http://irbis.gpntb.ru/file.php?0,file=6873

После нажатия по кнопки "Применить", окошко закрывается и возвращается в АРМ. Вот что получаем в итоге:

http://irbis.gpntb.ru/file.php?0,file=6874

Re: Пользовательский режим
Пользователь: Gena (IP-адрес скрыт)
Дата: 23, July, 2012 13:18

Но вот возник вопрос такого характера. Мне нужно оптом сохранить на компьютер фотографии читателей. Пытался воспользоваться соответствующим юнифором +9DNN#<полный путь>. Но при попытки выполнить его в Редакторе Форматов, он у меня просто закрывается. Решил долго не ломать голову, и написал себе функцию URLDECODT. Все заработало правильно - внутренний двоичный ресурс сохранился на компьютер. Но есть одно "но" - сохранился на сервере, а не на том клиенте, с которого происходил вызов. Я так понимаю, что когда вызывается пользовательский режим с формирование модального окна, мои функции получают доступ к диску того компьютера, с которого они вызваны, а когда выполняется функция, она полностью выполняется на сервере. Это можно как-то изменить? Что делать, если нужно использовать свою функцию, но дать ей возможность отрабатывать на стороне клиента? Может сделать невидимую форму, которая при каждом выполнении функции будет вызываться невидимой и сразу же после отработки функции уничтожаться? Но не будет ли это каким-то велосипедом?

Re: Пользовательский режим
Пользователь: DmitryP (IP-адрес скрыт)
Дата: 24, July, 2012 11:55

Всем доброго времени суток.

Вопрос: Где доступна версия АРМ "Книговыдача" с возможностью подключения пользовательского режима ?

И сразу еще один важный вопрос, который уже задавался очень давно (сообщение было 02, June, 2006 14:26), но ответа на который в форуме Я так и не нашел:

Vladimir Kim написал(а):
-------------------------------------------------------
> Здравствуйте еще раз!
>
> По поводу 14 формата - он оказывается работает. Но
> только у меня с ним проблема такого характера:
>
> Мне нужно сгенерировать ШК (v910^h) для конкретной
> v910 записи, т.к. Формат ШК зависит от статуса
> (0,U). Я сделал 14 формат для поля H в 910.wss
> вида:
>
> BarCode,Generae,v910.
>
> Но в функцию Generate мне приходят все повторения
> поля 910, а мне нужно только конкретное 910 поле
> для которого происходит генерация ШК. * не
> помогает, т.к. выдает только само поле 910^h.
> &uf('+90') тоже не помогает, т.к. выдает всегда
> 0.
>
> В общем вопрос такой - как можно передать
> конкретное повторение поля 910 в функцию (которое
> мы редактируем), а не все повторения?
>
> С уважением, Владимир Ким
> ---------------------------
> Инженер-программист НБ МИФИ

Заранее Спасибо...

Re: Пользовательский режим
Пользователь: Gena (IP-адрес скрыт)
Дата: 02, August, 2012 14:40

Александр Иосифович, скажите, а какое ограничение на размер передаваемой информации в пользовательском режиме? Я так понимаю, что он где-то около 32 кб? Столкнулся с такой проблемой: когда делаю фотографии читателей с минимальными настройками камеры, то все получается нормально (получается файл около 5-15 кб), а когда ничинаю повышать качество, то файл передается частично, он как бы режется по краю буффера. Причем это явно происходит именно в момент передачи, так как в окне просмотра моего модуля все отображается в полном виде. Никак нельзя увеличить это ограничение?

Re: Пользовательский режим
Пользователь: Alio (IP-адрес скрыт)
Дата: 03, August, 2012 10:35

Gena написал(а):
-------------------------------------------------------
> Александр Иосифович, скажите, а какое ограничение
> на размер передаваемой информации в
> пользовательском режиме? Я так понимаю, что он
> где-то около 32 кб?
Ограничения на объем данных, передаваемых пользовательскому режиму, нет. Есть ограничение на объем ВОЗВРАЩАЕМЫХ данных - оно известно пользовательскому режиму: это значене параметра BUFSIZE - оно сейчас действительно равно 32000.
Давайте введем параметр INI-файла
USERMODE_BUFSIZE=
Новый вариант программы вышлю...



Столкнулся с такой проблемой:
> когда делаю фотографии читателей с минимальными
> настройками камеры, то все получается нормально
> (получается файл около 5-15 кб), а когда ничинаю
> повышать качество, то файл передается частично, он
> как бы режется по краю буффера. Причем это явно
> происходит именно в момент передачи, так как в
> окне просмотра моего модуля все отображается в
> полном виде. Никак нельзя увеличить это
> ограничение?

Re: Пользовательский режим
Пользователь: Alio (IP-адрес скрыт)
Дата: 03, August, 2012 10:52

.......
Уточнение для параметра - РАЗМЕР БУФЕРА
[USERMODE]
BUFSIZE=32000

Re: Пользовательский режим
Пользователь: Gena (IP-адрес скрыт)
Дата: 03, August, 2012 11:18

Александр Иосифович, я не знаю механизмов и назначения ограничения, по этому и не могу судить на сколько важно и нужно это. Дело в том, что фотографии качественные все равно будут весить порядка 20-50 кб, а это уже гораздо больше того размера, который вы рекомендовали для файлов, сохраняемых в поле 953. Я сейчас подумываю написать свой маленький сервер, с помощью которого будет выполняться функция загрузки файла с клиента на сервер, а в записи будет редактироваться только поле 950. Мне кажется это будет оптимально для большин фотографий. А еще это же можно будет использовать для передачи на сервер файлов, привязанных к полю 951

Re: Пользовательский режим
Пользователь: DmitryP (IP-адрес скрыт)
Дата: 08, August, 2012 15:48

Коллеги, приветствую.

В очередной раз хочу задать один и тот же вопрос: "Где доступна версия АРМ "Книговыдача" с возможностью подключения пользовательского режима ?"

ЗЫ:
Если это тайное знание, то также ответьте, ПОЖАЛУЙСТА...

Re: Пользовательский режим
Пользователь: Alio (IP-адрес скрыт)
Дата: 08, August, 2012 15:49

DmitryP написал(а):
-------------------------------------------------------
> Коллеги, приветствую.
>
> В очередной раз хочу задать один и тот же вопрос:
> "Где доступна версия АРМ "Книговыдача" с
> возможностью подключения пользовательского режима
> ?"
>
> ЗЫ:
> Если это тайное знание, то также ответьте,
> ПОЖАЛУЙСТА...
Это будет доступно в версии 2012.1

Re: Пользовательский режим
Пользователь: artgonch (IP-адрес скрыт)
Дата: 28, June, 2018 11:32

Здравствуйте.
А какого размера (16x16 или 32x32) и какого формата (ico или bmp) должна быть картинка, помещаемая на кнопку расширения?



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