Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис    FTP-сервер
Опыт и разработки пользователей ИРБИС :  ИРБИС Irbis
 
Автоматическое заполнение полей в зависимости от других. Или просто вывод в области показа?
Пользователь: iLq (IP-адрес скрыт)
Дата: 27, December, 2006 10:21

Приветствую.
Пример:
База данных Читателей.
Заполнили поле Студент-специальность.
Можно высчитать поля Студент-факультет и Студент-кафедра.
Вопросы:
1.
Но можно ли автоматически заполнить эти поля?
И стоит ли заполнять? (как говорилось на форуме [irbis.gpntb.ru] (Автоматизация заполнения поля "Коды") - заполнять поля, когда их можно просто так же получить автоматически при показе, при поиске или при статистике, не стоит).
2.
Если ввод специальности сделать через иерархический справочник. Можно ли будет получить эти "узлы" (как раз те кафедры и факультеты)?

Что посоветуете?

Re: Автоматическое заполнение полей в зависимости от других. Или просто вывод в области показа?
Пользователь: ochagova (IP-адрес скрыт)
Дата: 28, December, 2006 11:06

Поля страницы "студент" следует заполнять, если вас интересует книгообеспеченность. Что значит фраза "их можно просто так же получить автоматически при показе, при поиске или при статистике"? Вы можете предложить алгоритм автоматического формирования этих данных? В системе можно сделать все, если есть разумный алгоритм и разумная необходимость.

Re: Автоматическое заполнение полей в зависимости от других. Или просто вывод в области показа?
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 28, December, 2006 14:29

ochagova написал(а):
-------------------------------------------------------
> Поля страницы "студент" следует заполнять, если
> вас интересует книгообеспеченность. Что значит
> фраза "их можно просто так же получить
> автоматически при показе, при поиске или при
> статистике"? Вы можете предложить алгоритм
> автоматического формирования этих данных? В
> системе можно сделать все, если есть разумный
> алгоритм и разумная необходимость.

Людмила Николаевна, между специальностью, факультетом и выпускающей кафедрой существует чёткая взаимосвязь, что позволяет на основе специальности легко определить по базе VUZ факультет и кафедру. Для этого достаточно добавить в конец AUTOIN.GBL базы RDR следующий код:

REP
90
F
if s(v90^a,v90^d,v90^n)='' and p(v90^c) then &uf('+1W200#',v90^c),&uf('DVUZ,?DISCS=',v90^c,'?,',"(if p(v83) then if v83^c=&uf('+1R200') then |^A|v83^a,|^D|v83^d,|^N|v83^n, break fi,fi)"d920),v90,&uf('+1W200#') else v90 fi
XXXXXXXXXXXXXXXXXXX

Re: Автоматическое заполнение полей в зависимости от других. Или просто вывод в области показа?
Пользователь: iLq (IP-адрес скрыт)
Дата: 28, December, 2006 14:35

Я уточню зачем эти все поля. Но требуется пока их заполнить.
МНе интересно в данном случае два момента: можно ли автоматически заполнить с информацией, зависящей от информации в другом поле. Даже я уже узнал, что можно сделать через autoin.gbl, но про этот файл ничего не нашел в документации (на форуме пока отрывки какие-то нашел, но целостной картины еще не вижу). Это раз. И второе. Может и не надо заполнять автоматически это поле, если я его могу вычислить для заполнения поля, то я его в любое другое время могу вычислить - и для поиска и для статистики и др. (Сам алгоритм вычисления - это другой вопрос - самое простое я вижу решения такого вычисления - использования специальных mnu)

Re: Автоматическое заполнение полей в зависимости от других. Или просто вывод в области показа?
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 28, December, 2006 16:07

Как справедливо отметила Людмила Николаевна, заполнение этого поля целесообразно при работе с книгообеспеченностью. Работа с книгообеспеченностью предполагает использование базы VUZ, в которой присутствуют все данных о связях между специальностями, факультетами и кафедрами. Я привёл код, который извлекает данные из базы VUZ и проставляет их в соответствующие поля записей RDR. Если у вас не ведётся база VUZ, то естественно он Вам бесполезен, но Вы можете самостоятельно создать соответствующий набор MNU файлов, где первым элементом(ключём) будет номер специальности, а вторым - то, что должно вставляться в запись и аналогичным образом дополнить autoin.

AUTOIN.GBL - это файл глобальной корректировки, который изменяет текущую запись при каждом её сохранении. Файл присутствует практически во папках с файлами баз, но набор команд, который находится в нём определяется содержанием конкретной базы.

Re: Автоматическое заполнение полей в зависимости от других. Или просто вывод в области показа?
Пользователь: ochagova (IP-адрес скрыт)
Дата: 29, December, 2006 11:20

Соколинскому: вы меня удивили - разве не может дисциплина читаться для некоторой специальности на разных факультетах? И вы никак не задействовали семестр, вид обучения. Мы исходим из общего случая, что в полях 83 возможны все комбинации элементов и такая связь очень не однозначна.

Re: Автоматическое заполнение полей в зависимости от других. Или просто вывод в области показа?
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 29, December, 2006 15:39

ochagova написал(а):
-------------------------------------------------------
> Соколинскому: вы меня удивили - разве не может
> дисциплина читаться для некоторой специальности на
> разных факультетах? И вы никак не задействовали
> семестр, вид обучения. Мы исходим из общего
> случая, что в полях 83 возможны все комбинации
> элементов и такая связь очень не однозначна.

Людмила Николаевна, давайте определимся с предметом обсуждения. Я привёл пример автоматизации заполнения подполей полей ФАКУЛЬТЕТ, НАПРАВЛЕНИЕ, ВЫПУСКАЮЩАЯ КАФЕДРА в записях типа "Студент" с рабочим листом RDRU. Связки данных "специальность-факультет-направление-выпускающая кафедра" ВКЛЮЧАЮТСЯ, в повторения полей 83 записей DISC, но никак не соотносятся с конкретной дисциплиной, поэтому для автоматического заполнения полей можно использовать связку из ЛЮБОЙ дисциплины. ДЛЯ РАЗНЫХ ДИСЦИПЛИН СВЯЗКИ, ВКЛЮЧАЮЩИЕ ОДНУ СПЕЦИАЛЬНОСТЬ, ВСЕГДА БУДУТ ОДИНАКОВЫМИ. Это поддаётся опытной проверке. Посмотрите, пожалуйста, посмотрите любую доступную Вам базу VUZ.

Связь между факультетом и специальностями - "один ко многим". "Факультет информационных технологий" может готовить программистов, системных администраторов, специалистов по аппаратному обеспечению и т. п. Но этих специалистов НИКОГДА не будет готовить "Экономический факультет".

Связь "один-ко многим" характерна и для связки "направление-специальность". В рамках одного направления может существовать несколько специальностьей.

Резюмирую: зная специализацию, мы всегда можем определить факультет и выпускающую кафедру.



Редактировано 2 раз. Последний раз 29.12.2006 16:15 пользователем Кирилл Соколинский (СЗТУ).

Re: Автоматическое заполнение полей в зависимости от других. Или просто вывод в области показа?
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 29, December, 2006 16:12

То, что эти связки(DISC - v83 и DUNIK) можно использовать с вышеописанной целью обусловлено наличием в них большого количества избыточной информации. Теоретически, поля факультет, вып. кафедра, направление могли бы заполняться в них автоматически.

Сказанное лучше всего подтвердит скриншот таблицы специальностей той базы, которая аккумулирует в нашем ВУЗе все сведения об учебным процессе. Как можно заметить, между факультетами и специальностями имеется самая непосредственная связь.
[www.elib.nwpi.ru]



Редактировано 3 раз. Последний раз 08.01.2007 15:51 пользователем Кирилл Соколинский (СЗТУ).

Re: Автоматическое заполнение полей в зависимости от других. Или просто вывод в области показа?
Пользователь: iLq (IP-адрес скрыт)
Дата: 06, March, 2007 11:21

База VUZ пока не ведется, но будет (попозже), книгообеспеченность в дальнейшем планируется быть.
Все таки есть специальности, с одинаковыми названиями в разных факультетах - это касается факультета ВЗФ (Вечерне Заочный факультет). Поэтому явное соответствие через справочники типа mnu не сделать.
Можно ли при заполнении через иерархический справочник вычленить так же и узел?
То есть:
• имеется иерархический справочник:
+ФАВТ
- ВМ
- ИСУ
- У
+ВЗФ
- ПЭ
- ПЭу
- У
• выбираем ФАВТ, далее специальность У.
• В поле со специальностью попадает значение "У"
Вопрос: можно ли вполе с факультетом сразу проставить "ФАВТ"?

Можете ли что-нибудь еще посоветовать?
Может можно сделать так, что при выборе факультета, ограничивался список выбора специальности до тех, которые соответствуют данному факультету?
Все это надо, чтобы избежать ошибок с выбором несоответствующих друг другу факультета и специаельности.

Re: Автоматическое заполнение полей в зависимости от других. Или просто вывод в области показа?
Пользователь: -AND- (IP-адрес скрыт)
Дата: 24, March, 2007 10:39

удалено :)



Редактировано 3 раз. Последний раз 28.04.2010 13:01 пользователем -AND-.



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