Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис    FTP-сервер
Задачки для любознательных :  ИРБИС Irbis
 
Задачка № 6
Пользователь: ochagova (IP-адрес скрыт)
Дата: 10, August, 2011 16:49

Что я сделала не так? Задаю последовательный поиск

p(v910^Y)

Результаты кладу в таблицу. А она получается не полная. Некоторые записи выпадают.

Re: Задачка № 6
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 10, August, 2011 19:10

Мало информации. Какую выходную форму вы строите из этих записей?

Re: Задачка № 6
Пользователь: PRM (IP-адрес скрыт)
Дата: 10, August, 2011 19:24

Добрый вечер.

Обычно поле 910 - "Сведения об экземплярах", 910^Y - "Номер акта (при поступлении)".

Поле 910 - повторяющееся.

Если в документе больше, чем одно повторение поля 910, а подполе ^Y в первом повторении поля 910 не заполнено, то результатом выполнения формата "if p(v910^Y) then '1' else '0' fi" будет "0"; формата "if (v910:'^Y') then '1' else '0' fi" - "1".

IMHO, в этом наблюдается несоответствие с документацией irbis64_2008.doc.
В разделе "8.3.1 Функция Р(команда вывода поля/подполя)" указано: "Функция Р возвращает значение "истина", если форматируемая запись содержит по крайней мере один экземпляр поля или подполя, указанного в аргументе. В противном случае функция P возвращает значение ложь."

Re: Задачка № 6
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 10, August, 2011 19:36

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

Re: Задачка № 6
Пользователь: Gena (IP-адрес скрыт)
Дата: 10, August, 2011 22:22

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

Другой вариант - а может быть поле 910 с одним подполем ^Y? Или нужно добавить при поиске проверку, что бы кроме наличия подполя ^Y в этом поле не стоял статус 6

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

Re: Задачка № 6
Пользователь: ochagova (IP-адрес скрыт)
Дата: 11, August, 2011 10:57

Почти прав PRM. Да, у нас несоответствие с документацией. И этот формат верно работает для первого повторения. Надо использовать

v910^Y<>''

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

Re: Задачка № 6
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 11, August, 2011 11:01

Людмила Николаевна. Так все равно не поняты условия возникновения. Я правильно уточнил эффект или нет?

Re: Задачка № 6
Пользователь: ochagova (IP-адрес скрыт)
Дата: 11, August, 2011 11:31

Нет, Максим, вы не так поняли. Поиск мне давал неверное кол-во ответов. А таблица не при чем.



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