Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Каталогизатор :  ИРБИС Irbis
 
Задание для глобальной корректировки
Пользователь: Vladimir.B. (IP-адрес скрыт)
Дата: 14, August, 2006 11:49

Здравствуйте!
Возникла потребность изменить в штрих-кодах экземпляров (поле 910^H) маленькую букву "е" на большую "Е". В этой корректировке я не силён, написал вот так:
опрератор REP
поле 910^h
повторения по формату
(if v910^h*7.1='e' then v910^h.7|E| fi/)
та самая "е" стоит всегда на 8-ой позиции в штрих-коде.

но как-то не получилось..
Как это можно правильно реализовать?
С уважением, Владимир.

Re: Задание для глобальной корректировки
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 14, August, 2006 15:45

Попробуйте так
CHAC 910^h * 'g' 'G'

Re: Задание для глобальной корректировки
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 14, August, 2006 15:58

Покажите пример штрих-кода.
НО вообще может так
(if v910^h*7.1='e' then v910^h.6,'E',v910^h*8 else v910^h fi/)

Вариант Светланы Михайловны тоже правильный при условии, что других таких же букв в штрих-коде быть не может.



Редактировано 2 раз. Последний раз 14.08.2006 16:01 пользователем Панев Максим.

Re: Задание для глобальной корректировки
Пользователь: Vladimir.B. (IP-адрес скрыт)
Дата: 14, August, 2006 17:01

2Дунаевская: Так пробовал, ничего не получилось.
2Панев Максим: Штрих-код выглядит вот так: *123456e
примерно такой-же вариант пробовал, но ничего не получилось. (if v910^h*7.1='e' then v910^h.7,'E' else v910^h fi/)
Всю голову уже сломал.. Один раз уже это делал, но для этого писал программу на делфи которая из экспортируемого файла выискивала эти штрих коды и исправляла, потом обратно вливал.. =) Но мне кажется должно быть всё проще..

Re: Задание для глобальной корректировки
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 14, August, 2006 17:22

А у меня получилось (g заменялось на G).
Правильно ли Вы выбираете оператор ?
Заключили ли в одиночные кавычки заменяемое и заменяющее значения ?
Поставили ли * в столбце "Повторение" ?
Что означает звездочка в Вашем примере *123456e ?

Re: Задание для глобальной корректировки
Пользователь: Vladimir.B. (IP-адрес скрыт)
Дата: 14, August, 2006 17:31

Странно... всё делал именно так. Причем эта идея первой пришла в голову, как самая очевидная, но ничего не изменилось. Все выбрал правильно: CHAC, 910^H, *, 'e', 'E'
Сейчас даже еще раз запустил... Снова ничего!
Звёздочка является частью штрих-кода, т.е. код начинает с "*", а заканчивается "E"...

Re: Задание для глобальной корректировки
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 15, August, 2006 12:37

Вы правы, я смотрела в ИРБИС32, но в ИРБИС64 оператор CHAC не работает. Пока программист в отпуске, могу порекомендовать выполнить корректуру с оператором CHA дважды - сначала замените 'е' на другую букву, например, 'G', а при втором проходе - 'G' на 'E'
Возможна и однократная обработка оператором REP 910^H F
(if p(v910) then if p(v910^h) then if v910^h*7.1='e' then v910^h.7,'E' else v910^h fi else # fi fi/)



Редактировано 1 раз. Последний раз 15.08.2006 13:17 пользователем Дунаевская.

Re: Задание для глобальной корректировки
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 15, August, 2006 13:12

(if p(v910) then if p(v910^h) then if v910^h*7.1='e' then v910^h.7,'E' else v910^h fi else # fi fi/)
Здесь защита на случай отсутствия в каком-то 910 поле штрих-кода



Редактировано 1 раз. Последний раз 15.08.2006 13:22 пользователем Дунаевская.

Re: Задание для глобальной корректировки
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 16, August, 2006 14:21

Светлана Михайловна, что значит # тут else # fi

Re: Задание для глобальной корректировки
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 16, August, 2006 16:22

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

Re: Задание для глобальной корректировки
Пользователь: Vladimir.B. (IP-адрес скрыт)
Дата: 17, August, 2006 14:52

Спасибо за ответы, будем пробовать.



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