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

Есть 6 разделов знаний, каждому разделу знаний соответствуют первые символы кода ббк, например ЕНЛ-Медицина - 1, 2; Прочие - 80, 85, 90, А, Б. Надо сделать печатную форму выдач по РАЗДЕЛАМ ЗНАНИЙ, при этом разделы знаний считать по первым символам кодов ббк. Я начал расписывать алгоритм, но дальше &uf('+96... не ушёл. Форма должна выглядеть примерно так:
http://irbis.gpntb.ru/file.php?9,file=10838
Кто-нибудь может подсказать, как это сделать? Есть идея использовать модальное поле, но с пониманием этой темы у меня проблемы...

UPD. Возможно ли это сделать через справочник RZN.MNU?



Редактировано 1 раз. Последний раз 30.06.2014 11:40 пользователем Алексей Артемьев.

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 01, July, 2014 14:14

Можно ли как-то ввести в справочник несколько значений ббк на один раздел знаний, что бы потом через него вести проверку? Например ЕНЛ, Медицина [2,5]



Редактировано 1 раз. Последний раз 02.07.2014 10:59 пользователем Алексей Артемьев.

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 02, July, 2014 13:37

По определённым причинам поле 60 у нас не используется, поэтому использовать его в форме нет смысла. Можно как-нибудь по-другому задать связь между кодами ббк и разделами знания?

UPD. Из-за сложностей с табличной формой решено было перейти на статистическую форму с одной вертикалью.



Редактировано 3 раз. Последний раз 03.07.2014 08:15 пользователем Алексей Артемьев.

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 03, July, 2014 08:34

Будет ли работать вот такой файл?

Вложения: RZN_stf.zip (296 bytes)  
Re: Спрос по разделам знаний
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 03, July, 2014 13:10

Создайте справочник (nnn.mnu) такого вида (в порядке возрастания кодов)

2
ЕНЛ, Медицина
3
Техника, С/Х
4
Техника, С/Х
5
ЕНЛ, Медицина
.....


Для раскодирования по справочнику nnn.mnu 2-х первых или одного первого символов ББК используйте формат

(if p(v621) then if &uf('Knnn.mnu!'v621.2) <>'' then &uf('Knnn.mnu!'v621.2) else if &uf('Knnn.mnu!'v621.1) <>'' then &uf('Knnn.mnu!'v621.1) fi fi fi/)



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

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 03, July, 2014 13:22

А, так... Спасибо, запомню =)

А функцию &uf('K... почему-то просмотрел =/ Благодарю =)

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 09, July, 2014 13:53

Сделал стат форму, но ничего не работает. В чём я ошибся?

Вложения: стат форма.zip (3KB)  
Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 16, July, 2014 15:22

Прочитал в одной из тем форума, что операторы &uf('D… и &uf('7… не работают без перезапуска сервера. С перезапуском ничего не изменилось. Решил вернуть часть формы в прежнее состояние, и получилось вот это:

Form2a
(&uf('7IBIS,/U=',v621,if p(v621) then if &uf('KRZN_stf.mnu!'v621.2) <>'' then &uf('KRZN_stf.mnu!'v621.2) else if &uf('KRZN_stf.mnu!'v621.1) <>'' then &uf('KRZN_stf.mnu!'v621.1) fi fi fi/)),
RZN_STF.mnu,
(if p(v50) then &uf('Av50#1') else '*' fi),
kat_STF.mnu
2,4
999.wss,1000
'Распределение книговыдач по разделам знаний за период с ',v1000^A*6.2".",v1000^A*4.2".",v1000^A.4,' по ',v1000^B*6.2".",v1000^B*4.2".",v1000^B.4
1,1

Но и это выдаёт нули. Что я делаю не так?

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 17, July, 2014 09:39

Обнаружил, что значения в справочнике не следуют по порядку... Переделал, но у меня возник вопрос: в нём есть три буквенных значения, они должны следовать перед цифровыми или наоборот?

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 17, July, 2014 10:02

Форма выдаёт нули, при чём странно: число строк (от начала переменной части формы) равно числу значений справочника.

Re: Спрос по разделам знаний
Пользователь: Gena (IP-адрес скрыт)
Дата: 21, July, 2014 07:36

Стат форма работает с двумя менюшками: одна для вертикали, вторая для горизонтали. В менюшках набор терминов, которые у вас должны формироватьт форматы. Каждая запись, которая обрабатывается стат.формой должна пораждать пары терминов для вертикали и горизонтали. Эти пары являются координатами, на пересечении которых значение увеличивается на единицу. Потому:
1. форматы вертикали и горизонтали должны формировать пары терминов
2. термины, которые создают форматы обязательно должны присутствовать в менюшках вертикалей и горизонталей
3. область, которая будет заполняться в стат.форме, всегда будет соответствовать количеству терминов в справочниках

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 21, July, 2014 11:35

Спасибо за ответ...

Про вертикаль и горизонталь знаю. Про mnu. файлы тоже знаю. Однако мне это не помогает. Выше я прикрепил архив с файлами формы, если надо...

1. Знаю, но организовать не могу.
2. Присутствуют.
3. Фокус в том, что ТЕРМИНОВ (как я понял, в моём случае это названия разделов знаний) шесть, но каждому термину соответствует от двух и больше значений ббк.

Re: Спрос по разделам знаний
Пользователь: Gena (IP-адрес скрыт)
Дата: 21, July, 2014 11:53

1. В шаблоне Excel у вас 7 ячеек по вертикали и одна ячейка по горизонтали, а в менюшках: 35 позиций по вертикали и одна по горизонтали. Уже несоответствие.

2. Далее, для горизонтали вы выводите термин из поля 999, в котором находится счетчик книговыдач (это бля обычной библиографической базы), естественно что там нет значения, которое у вас в справочнике горизонтали (*)

3. Формат вертикали у вас учитывает сравнение по первым двум символам кода ББК. Если есть укороченный код ББК в справочнике RZN_STF.MNU, то он выводится, а если его там нет? Тогда должен формироваться термин - "Прочие"

4. У вас правильный подход, но вы его не совсем до конца довели. У вас должен быть справочник, соответствующий вертикали шаблона (только 6 позиций как в таблице) и справочник для раскодировки индексов ББК в разделы знаний.

(if p(v621) then 
   if &uf('KRZN_BBK.mnu!'v621.2) <>'' then 
      &uf('KRZN_BBK.mnu!'v621.2)
   else 
      if &uf('KRZN_BBK.mnu!'v621.1) <>'' then 
         &uf('KRZN_BBK.mnu!'v621.1) 
      else 
         '*'
      fi 
   fi 
fi)


в этом варианте в справочнике RZN_BBK.mnu - все 35 вариантов перекодирования индексов ББК в разделы занний, а в справочнике RZN_stf.mnu только 6 позиций, которые выводятся в таблицу

формат горизонтали должен быть приблизительно таким:

(if p(v621) then 
   '*'
fi)


Форматы я для наглядности отформатировал, что бы они были визуально понятны. Для формы их нужно будет свернуть в одну строку. Термин "*" (звездочка) - это чаще всего принятый термин для позиции "Прочие"



Редактировано 2 раз. Последний раз 21.07.2014 11:55 пользователем Gena.

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 21, July, 2014 14:27

Термин "Прочие" занят пятью значениями...

Простите, а где в коде связь между RZN_BBK.mnu (35 позиций) и RZN_STF.MNU (5 позиций)? Или она прописана где-то по дефолту?

Re: Спрос по разделам знаний
Пользователь: Gena (IP-адрес скрыт)
Дата: 21, July, 2014 15:32

Связь никакой нет. Еще раз почитайте о том, как строятся стат. формы. Там есть файл STF, в нем по строкам идут:
1. Название формы
2. формат вертикали (вот тут используем тот формат, который из кодов ББК делает коды разделов знаний)
3. справочник для вертикали (а это справочник с 6 позициями, которые соответствуют вашей таблице)
4. формат горизонтали
5. справочник горизонтали

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 22, July, 2014 08:20

Я прекрасно помню строение файла... Просто не до конца понимаю механику действия этих форм, вот и домысливаю.

Ещё одно уточнение, если вам не трудно... Справочник RZN_BBK содержит тридцать пять позиций плюс обобщающее "* всего", по типу "значение-термин". А справочник RZN_STF кроме терминов должен какие значения содержать? Ведь там нельзя описывать все 35 позиций... Вопросительные знаки?

Re: Спрос по разделам знаний
Пользователь: Gena (IP-адрес скрыт)
Дата: 22, July, 2014 08:26

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

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 22, July, 2014 10:57

В RZN_STF сделал так:
Всего

Термин1

Термин2

Термин3

Термин4

Темрин5

Прочие

*****

Теперь форма считает, но Термин1 всегда выпадает в ноль. Код stf.
Form2a
if p(v621) then if &uf('KRZN_BBK.mnu!'v621.2) <>'' then &uf('KRZN_BBK.mnu!'v621.2) else if &uf('KRZN_BBK.mnu!'v621.1) <>'' then &uf('KRZN_BBK.mnu!'v621.1) else '*' fi fi fi
rzn_STF.mnu
if p(v621) then '*' fi
RZN_VSING.mnu
2,4
999.wss,1000
'Распределение книговыдач по разделам знаний и категориям читателей за период с ',v1000^A*6.2".",v1000^A*4.2".",v1000^A.4,' по ',v1000^B*6.2".",v1000^B*4.2".",v1000^B.4
1,1

Re: Спрос по разделам знаний
Пользователь: Gena (IP-адрес скрыт)
Дата: 22, July, 2014 11:40

шестая строчка - координаты начала вывода результатов статистики. У вас сейчас тоит там 2,4 - это второй столбец четвертая строка. Исправьте на 2,3

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 22, July, 2014 11:57

о_О Э... Ладно, спасибо, не догадался, что две объединённых ячейки считаются ирбисом за одну... Спасибо за терпение и помощь, всё работает.

Re: Спрос по разделам знаний
Пользователь: Gena (IP-адрес скрыт)
Дата: 22, July, 2014 12:17

Ирбис вообще понятия не имеет о ячейках, он формирует матрицу с данными, а потом бросает ее в вызванный COM-объект, а что с ним делает процессор Excel Ирбис вообще не знает. И где вы видите объединенные ячейки? В том примере ,который вы выложили выше (Дата: 09, July, 2014 12:53) как раз начало данных и есть во втором столбце на третьей строчке

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 22, July, 2014 12:28

В шаблоне... Начало данных находится на четвёртой строке, второй столбец.

Re: Спрос по разделам знаний
Пользователь: Gena (IP-адрес скрыт)
Дата: 22, July, 2014 13:02

Из указанного выше архива:

http://s43.radikal.ru/i099/1407/1c/958cd0fac42a.jpg

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 22, July, 2014 13:03

ЭМ... Ничё не знаю, у меня в шаблоне по-другому :D

Re: Спрос по разделам знаний
Пользователь: Gena (IP-адрес скрыт)
Дата: 22, July, 2014 13:10

Тогда и показывайте свой шаблон. Еще раз говорю, я смотрел то, что ВЫ выложили в сообщении выше.

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 22, July, 2014 13:26

Вот... И я вообще не в курсях, почему в сообщении выше другое строение.
Простите, не тот формат картинки был.



Редактировано 1 раз. Последний раз 22.07.2014 13:27 пользователем Алексей Артемьев.

Вложения: Безымянный.JPG (47.5KB)  
Re: Спрос по разделам знаний
Пользователь: Gena (IP-адрес скрыт)
Дата: 22, July, 2014 13:29

В данном случае сама по себе картинка вообще ни о чем не скажет. Покажите все файлы вашей формы

Re: Спрос по разделам знаний
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 22, July, 2014 13:31

Геннадий Сергеевич, вопрос себя исчерпал... Форма считает нормально, так что дальнейшее обсуждение теряет смысл. А я дальше пошёл вникать в механику...



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