Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Общие вопросы Ирбис64 :  ИРБИС Irbis
 
Суммирование повторений глобальной переменной
Пользователь: RomanA (IP-адрес скрыт)
Дата: 08, December, 2011 09:37

Подправляю файл ksuw.pft

Нужно подсчитать количество книг поступивших в каждый отдел. В поле 44 прописывается распределение книг по их виду (однотомное издание, двухтомное и т. п.) и отделу. Т. е. фактически в 44-м поле есть лишнее разбиение, например отделов "Аб." может быть 2 или больше, в зависимости от вида издания (как на рис. 004).

Решил сделать следующим образом: для каждого отдела завести свою глобальную переменную и добавить в нее количество экземпляров. Так как для одного и того же отдела может быть несколько повторений поля 44, то в глобальную переменную я добавляю новые повторения.

Встала проблема суммирования: сумма через функцию rsum не работает (рис. 003).

Появилось несколько вопросов:

1)Возможно ли использовать функцию rsum в данной ситуации в принципе?
2)Если нельзя, то как можно просуммировать повторения глобальной переменной?
3)Я провожу очистку все глобальных переменных &unifor('+7') - это не опасно? Нельзя ли уничтожить хранящееся в них какое-нибудь важное значение?
4)Какие номера глобальных переменных можно использовать?
5)Где можно почитать о глобальных переменных?
Просто информации о них очень мало, на вики-ИРБИС есть немного, в документации тоже, но этого очень мало.

Панев Максим в одной из моих прошлых тем писал, что
Цитата:
Панев Максим
Глобальные переменные - это виртуальные поля. С ними можно работать точно так же как с полями.
возникает сразу несколько вопросов, например, можно ли создавать в глобальных переменных подполя и т. п. (в документации я никаких упоминаний об этом не нашел, поэтому вряд ли, но хотелось бы быть уверенным точно).

Вложения: 003.JPG (274.1KB)   004.JPG (244.6KB)  
Re: Суммирование повторений глобальной переменной
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 08, December, 2011 11:13

При отладке формата в Редакторе форматов Вы получили бы сообщение
** Format Error 60 - Нестроковая функция используется как команда (только строковые функции могут быть использованы в качестве команды). **
Это относится к rsum

Re: Суммирование повторений глобальной переменной
Пользователь: RomanA (IP-адрес скрыт)
Дата: 08, December, 2011 11:47

Спасибо огромное! Эта проблема решена! Прописал f(rsum(g1|;|),0,0) и все заработало!



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