Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис    FTP-сервер
Часто задаваемые вопросы (FAQ) :  ИРБИС Irbis
Исключительно важный раздел форума, который необходимо прочитать всем, кто только начинает работать с Ирбисом. Если ваши знания не так широки, как вам хотелось бы, тогда обязательно прочитайте этот раздел. Если вы не нашли, что искали, то воспользуйтесь поиском по форуму, и, скорее всего, вы найдете ответ на свой вопрос среди существующих сообщений. 
Страницы: 12>>
Страница: 1 из 2
Занесение штрих-кодов в базу ирбиса
Пользователь: Therion (IP-адрес скрыт)
Дата: 04, December, 2008 13:10

Я бы хотел спросить, у прошедших этот этап коллег, каким образом можно осуществить ускоренное занесение номеров штрих-кодов в базу ирбиса???
Заранее благодарю.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 04, December, 2008 13:40

Быстрее чем вручную все равно не получиться. Каждый экземпляр должен быть обработан вручную. И с этим ничего не сделать.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Therion (IP-адрес скрыт)
Дата: 05, December, 2008 11:34

Да, я в этом уже убедился,это печально, но факт)))

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Gena (IP-адрес скрыт)
Дата: 13, March, 2009 17:01

почему так? Можно написать соответствующую глобальную корректировку и совершенно спокойно внести массово штрихкоды. Суть такой глобальной корректировки только в слудующем:
1. берем запись проверяем поле штрихкода
2. если пусто лезем в специально заготовленную запись и проверяем счетчик(если надо внести скажем штрихкоды только допустим с 1000 по 2000) - если счетчик еще не достиг какого-то заданного значений - увеличиваем на 1 и вносим полученное число в нашу запись в поле штрихкода
3. лезем за следующим кодом.

Работать будет очень медленно, потому что постоянно будет прыгать по базе от счетчика к заполняемым полям, но точно будет.

AVD System, Техническая поддержка, [www.open4u.ru]

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Gena (IP-адрес скрыт)
Дата: 13, March, 2009 17:02

А вообще... я тут на форуме видел уже готовую глобальную корректировку, которая выполняет эту же задачу, но по другому алгоритму.

AVD System, Техническая поддержка, [www.open4u.ru]

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: vergilgm (IP-адрес скрыт)
Дата: 14, July, 2017 10:33

Если я хочу, чтобы штрих код формировался таким образом: в зависимости от статуса документа (U, O и т.д.) брался его инвентарный номер, перед ним добавлялись некоторые символы (например инв. н.: 1234, а штрих код будет 0001234). Где мне написать для этого код на языке форматирования?
Новичок в системе.



Редактировано 1 раз. Последний раз 14.07.2017 10:33 пользователем vergilgm.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Alio (IP-адрес скрыт)
Дата: 14, July, 2017 11:34

Вопрос абсолютно непонятен...

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: vergilgm (IP-адрес скрыт)
Дата: 14, July, 2017 11:40

Я хочу сделать так, чтобы при заполнении базы штрих-код заполнялся автоматически при сохранении документа. И составлялся он из инвентарного номера + к нему дописывались заранее указанные символы.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: А. Роман (IP-адрес скрыт)
Дата: 14, July, 2017 12:51

Для чего так усложнять задачу? Какова цель дублирования инвентарного номера в штрих-коде?
Как вы предполагаете в таком случае поступать с журналами (в поле 910^B располагается номер комплекта)?

Когда используется слово "хочу" без какой-либо аргументации, то сложно что-то советовать. Прежде чем генерировать такие штри-коды стоит "семь раз отмерить" - просчитать и продумать все варианты и перспективы использования ш-к.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Alio (IP-адрес скрыт)
Дата: 14, July, 2017 15:58

vergilgm написал(а):
-------------------------------------------------------
> Я хочу сделать так, чтобы при заполнении базы
> штрих-код заполнялся автоматически при сохранении
> документа. И составлялся он из инвентарного номера
> + к нему дописывались заранее указанные символы.
Нет проблем - реализуйте это через автоввод (autoin.gbl)

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: vergilgm (IP-адрес скрыт)
Дата: 15, July, 2017 13:45

А. Роман написал(а):
-------------------------------------------------------
> Для чего так усложнять задачу? Какова цель
> дублирования инвентарного номера в штрих-коде?
> Как вы предполагаете в таком случае поступать с
> журналами (в поле 910^B располагается номер
> комплекта)?
>
Не я генератор этой идеи. Год работала библиотека вот так. Был другой админ. Потом он ушел, вирус "Петя" спустя неделю все снес. Потом пришел я. Те кто за клиентами работают уже привыкли по старому, и просят меня сделать "как было раньше". Вот я и ищу способы это реализовать.

> Когда используется слово "хочу" без какой-либо
> аргументации, то сложно что-то советовать. Прежде
> чем генерировать такие штри-коды стоит "семь раз
> отмерить" - просчитать и продумать все варианты и
> перспективы использования ш-к.
Простите меня, пожалуйста, за слово "хочу" без какой либо аргументации, я не хотел.

Alio написал(а):
-------------------------------------------------------
> vergilgm написал(а):
> --------------------------------------------------
> -----
> > Я хочу сделать так, чтобы при заполнении базы
> > штрих-код заполнялся автоматически при
> сохранении
> > документа. И составлялся он из инвентарного
> номера
> > + к нему дописывались заранее указанные
> символы.
> Нет проблем - реализуйте это через автоввод
> (autoin.gbl)
Спасибо большое за подсказку! Теперь буду знать в каком направлении разбираться.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: vergilgm (IP-адрес скрыт)
Дата: 18, July, 2017 09:09

Разобрался частично с языком программирования (форматирования?), но нигде, ни в документации, ни в онлайн вики не нашел описания некоторых моментов из этого файла (autoin.gbl). Возможно я был не внимателен...
Вопросы следующие:
1. Где можно найти описание команд ADD, DEL, REP, CHA и т.д. Интуитивно, конечно, понятно, что они делают, но хотелось бы почитать где нибудь подробнее. Почему они по синтаксису языка пишутся в начале? Я так понял это тип действия, которое необходимо провести с полем, указанным строкой ниже? Прим.(случайная вырезка из файла autoin.gbl):

ADD
901
XXXXXXXXXXXXXXXXXXX
if v920='J' and a(v936)then (v910/) fi
XXXXXXXXXXXXXXXXXXX

Вообщем где можно это подробно изучить?

2. Что значат эти "XXXXXXXXXXXXXXXXXXX"?
Если это просто для читабельности кода, чтобы функции (форматы?) не сливались друг с другом, то важно ли точное количество знаков Х?

3. Можно ли создать функцию (формат?) в отдельном файле, и в основном (autoin.gbl) сделать на него ссылку, чтобы не засорять его своим кодом? Если да, то каким образом можно создать эту самую ссылку внутри основного файла?

P.S. Извините меня если вдруг я написал что либо не понятно, я пока еще не совсем разобрался с терминологией. Какое-то время работал на Java, и подсознательно ищу аналогии в коде.



Редактировано 1 раз. Последний раз 18.07.2017 09:12 пользователем vergilgm.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Gena (IP-адрес скрыт)
Дата: 19, July, 2017 16:17

1. В папке с модулями Ирбиса должен быть файл irbis64_2013.doc - это полное описание системы. Там есть и про команды глобальной корректировки

2. Любая команда описывается пятью строками. В том случае, если у данной команды эта строка не используется, она может оставаться пустой, или маркироваться последовательностью символов "XXXXXXXXXXXXXXXXXXX"

3. Кажется вложенные глобалки как-то делаются, но сходу не отвечу. У Людмилы Николаевны Очаговой в глобалках для Книгообеспеченности что-то такое встречал. Но это уже из области недокументированных возможностей. Надо будет покопаться

AVD System, Техническая поддержка, [www.open4u.ru]

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 20, July, 2017 11:39

vergilgm написал(а):
-------------------------------------------------------
>
> 3. Можно ли создать функцию (формат?) в отдельном
> файле, и в основном (autoin.gbl) сделать на него
> ссылку, чтобы не засорять его своим кодом? Если
> да, то каким образом можно создать эту самую
> ссылку внутри основного файла?
>
Можно через вложенный формат - функция &unifor('6')

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: vergilgm (IP-адрес скрыт)
Дата: 21, July, 2017 10:07

Gena, Дунаевская, Спасибо большое за подсказки. Еще один очень очень глупый вопрос...

Никак не могу понять как происходит присвоение подполю значения? Почти все команды лишь выводят содержимое поля/подполя, ну или проверяют его наличие (логически). А вот как через код присвоить значение - я не могу понять. Простите за такие глупые вопросы, я только учусь.

Единственное что отдаленно напоминает мне классическое присвоение значений переменным - оператор REP, который заменяет полностью содержимое поля на новое значение, которое определяется заданным форматом.
Я правильно понимаю, что если я хочу автоматически заполнять подполе при сохранении документа, мне нужно в autoin добавить оператор REP, написать формат так, чтобы он возвращал нужное мне значение, и тогда REP подставит его в заданное поле/подполе?



Редактировано 2 раз. Последний раз 21.07.2017 10:12 пользователем vergilgm.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Gena (IP-адрес скрыт)
Дата: 23, July, 2017 09:56

Вам нужно что-то типа:


REP
910^H
F
(if p(v910) then if v910^h='' then '000'v910^b else v910^h fi fi)
XXXXXXXXXXXXXXXX

AVD System, Техническая поддержка, [www.open4u.ru]

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: vergilgm (IP-адрес скрыт)
Дата: 27, July, 2017 09:57

Извините, что долго не отвечал! Все сделал, все получилось, спасибо большое за помощь! Без Вас это заняло бы намного больше времени!

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Novinka (IP-адрес скрыт)
Дата: 07, September, 2017 13:26

Здравствуйте, подскажите, почему моя глобальная работает правильно только если в поле одно повторение?

Задача - для всей невыданной литературы если нет 910^H приравнять его к 910^B с применением транслитерации.


0
REP
910^h
F
(if p(v910) then if v910^a='0' then if v910^h='' then &unifor("T0"V910^b) else v910^h fi fi fi/)
XXXXXXXXXXXXXXXXXXX



Редактировано 5 раз. Последний раз 07.09.2017 14:02 пользователем Novinka.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Gena (IP-адрес скрыт)
Дата: 07, September, 2017 15:29

Вот в это месте кроется проблема:

&unifor("T0"V910^b)

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

AVD System, Техническая поддержка, [www.open4u.ru]

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Novinka (IP-адрес скрыт)
Дата: 08, September, 2017 05:54

Большое спасибо, Геннадий Сергеевич))

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: А. Роман (IP-адрес скрыт)
Дата: 08, September, 2017 14:38

Дунаевская написал(а):
-------------------------------------------------------
> vergilgm написал(а):
> --------------------------------------------------
> 3. Можно ли создать функцию (формат?) в отдельном
> файле, и в основном (autoin.gbl) сделать на него
> ссылку, чтобы не засорять его своим кодом?
> >
> Можно через вложенный формат - функция
> &unifor('6')


Светлана Михайловна, а можно пример? Не получилось вложенный сценарий ГК подключить к файлу. Я правильно понял, что речь о сценариях ГК, а не о форматах?

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 09, September, 2017 08:44

Нет, речь идет именно о формате
" и в основном (autoin.gbl) сделать на него
> ссылку, "

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Novinka (IP-адрес скрыт)
Дата: 12, September, 2017 05:24

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

0
REP
910^h
F
(if p(v910) then if v910^a='0' and v910^h='' then &unifor('T0'V910^b) else v910^h fi fi/)
XXXXXXXXXXXXXXXXXXX

происходит ошибка в else v910^h , если v910^h=''.

Ошибка такая - например, в записи с 4-мя повторениями 910 поля в первом статус а=1, метка h=''. Вместо ожидаемого
h=h1=''
h=h2
h=h3
h=h4

получается распределение
h=h2
h=h3
h=h4
т.е. h2 присваивается первому повторению, h3 второму и т.д.

Если я в первое повторение вношу какой-то набор символов, например h='***',
получается все правильно
h='***'
h=h2
h=h3
h=h4

Я думала, что если мы выбираем параметр F для номера повторений, то обрабатываются только те повторения, в которых выполняется формат, т.е. думала, что нет жесткой необходимости в ELSE, достаточно IF...THEN...чем тогда F отличается от *? Формат НЕ выполняется, значит повторение должно остаться без обработки...
Как можно присвоить подполю пустую строку или сделать переход на следующее повторение или еще как-то решить проблему?



Редактировано 6 раз. Последний раз 12.09.2017 10:26 пользователем Novinka.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: ochagova (IP-адрес скрыт)
Дата: 12, September, 2017 10:44

Не гонитесь за краткостью, оператор REP на подполе коварен. Я бы написала так (в одной строке, конечно):

(if p(v910)
then
if p(v910^H)
then
if v910^a='0'
then
if &unifor('T0'V910^b)<>'' then &unifor('T0'V910^b) else # fi
else
v910^h
fi
else
if &unifor('T0'V910^b)<>'' then &unifor('T0'V910^b) else # fi
fi
fi/)

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Novinka (IP-адрес скрыт)
Дата: 13, September, 2017 05:44

del



Редактировано 1 раз. Последний раз 14.09.2017 06:19 пользователем Novinka.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Novinka (IP-адрес скрыт)
Дата: 13, September, 2017 11:28

Спасибо огромное, Людмила Николаевна, суть ясна.
Правда, я не совсем правильно объяснила задачу - метка должна присваиваться не только невыданным экземплярам, но и только в отсутствие метки в повторении.
if v910^a='0' and v910^h=''
Т.е. уже запрограммированные менять не нужно.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Novinka (IP-адрес скрыт)
Дата: 15, September, 2017 08:59

После выполнения глобальной в первую позицию в части записей в 910 поле встали 910^H (радиометки). Даже реорганизация базы с галкой автоввода не помогла восстановить правильную структуру поля.
При этом если заходишь в повторение и просто нажимешь Ввод, структура восстанавливается. Как можно нормализовать базу?
Понимаю, что это не ошибка, но воспринимать и анализировать записи гораздо проще, когда подполя упорядочены.

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: ochagova (IP-адрес скрыт)
Дата: 15, September, 2017 10:33

Ваш объяснения непонятны (по крайней мере мне). Поэтому еще раз - вам надо сделать задание на корректировку или исправить БД? В любом случае еще раз поставьте задачу:
- какой оператор выполняете и что он делает не так
- что надо исправить с примером "было - надо, чтобы..."

Re: Занесение штрих-кодов в базу ирбиса
Пользователь: Novinka (IP-адрес скрыт)
Дата: 15, September, 2017 14:21

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

Во вложении видно, как после ее выполнения ломается структура подполей.



Редактировано 1 раз. Последний раз 15.09.2017 14:25 пользователем Novinka.

Вложения: Вид 910.JPG (81.1KB)  
Re: Занесение штрих-кодов в базу ирбиса
Пользователь: ochagova (IP-адрес скрыт)
Дата: 15, September, 2017 15:07

Нельзя назвать это "ломается". Состав и содержание полей те же самые, а порядок значения не имеет. Он ни на что не влияет. Вы же смотрите поля в таблице? Там будет одинаково
Порядок зависит от того, как именно был построен оператор REP. А вы его не показали

Страницы: 12>>
Страница: 1 из 2


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