Суббота, 18.05.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2017 » Июль » 19 » «Отчёты всевозможные» (справочники)
16:58
«Отчёты всевозможные» (справочники)

«Отчёты всевозможные» (справочники)

Справочники позволяют выбирать что-то из уже заготовленного списка. Можно, например, завести справочник со списком классов («1 класс», «2 класс» и т.д) и дать возможность выбора только одного варианта. С одной стороны это избавляет пользователя от необходимости каждый раз вводить кучу букв названия. С другой не даёт ему возможность ввести «123 класс» и прочее в том же духе.
Видов справочников с всевозможным набором информации (т.е полей) много но основных всё-таки два.
Первый это просто список каких-то вариантов. Например в школе могут быть кружки. У них есть отдельные типы кружков:

И ещё кружки могут быть платные и бесплатные. Это тоже можно выбрать из такого же простого справочника:

Есть второй тип справочника, который тоже используется довольно часто. Пусть, например, вводится информация о закупке компьютеров. У компьютера есть процессор, а у процессора производитель который производит только определенные типы процессоров.
У AMD один список:

А у Intel другой:

Тут тоже с одной стороны упрощение ввода (т.е списки короче), а с другой гарантия что пользователь не запутается в том, кто что производит, не введёт что-то ошибочное.
Справочников много, но в справочниках этих двух типов хранится основная часть информации потому чтобы завести такой справочник ничего не надо программировать. Это может сделать пользователь в диалоге.
Справочники можно добавлять и менять в разделе «Данные»:

Названия тут условные. Не думаю, что если бы я это назвала одноуровневыми и двухуровневыми справочниками кому-то стало бы проще.
Списки и их содержание это типы кружков и платное и бесплатное.
А типы процессоров попали в списки групп параметров, группы параметров и сами параметры.
А вот на уровне программы и базы это всё справочники.
Если я запущу всё это подряд то вот что у меня будет в строке – вызове страницы:
Список групп параметров:

т. е (sSpr0)
http://localhost:2351/eda/Sprav/sSpr0.aspx?ID=22&ddl=0http://localhost:2351/eda/Sprav/sSpr0.aspx?ID=22&ddl=0
Группы параметров (sSpr1):
http://localhost:2351/eda/Sprav/sSpr1.aspx?ID=11&ddl=0

Параметры (sSpr1):
http://localhost:2351/eda/Sprav/sSpr1.aspx?ID=12&ddl=0

Списки sSpr0:
http://localhost:2351/eda/Sprav/sSpr0.aspx?ID=13&ddl=0

Содержание списков (sSpr1):
http://localhost:2351/eda/Sprav/sSpr1.aspx?ID=14&ddl=0
И в SQL сервере вся информация этих справочников хранится в двух таблицах:

На картинке выше выбрана информация из справочника sSpr0. Но в первых строках вовсе не списки, которым положено быть в данных для ввода информации, а страны, типы пользователей и прочее.
Дело в том, что в этих справочниках храниться вся информация определённого типа но любого содержания. В строках вызовов страниц выше sSpr0 используется для просмотра «списка групп параметров» и «списка списков». Их объединяет то, что над ними нет никакой группировки, они сами – самая первая, начальная группа, в которой уже могут быть строки, входящие в группу.
В «Медицинской базе» есть поле под названием «Родитель»:

При этом самый первый элемент дерева («Болезни») этого «родителя» не имеет. То, что в 1С называется «Родитель» здесь называется «Группа».
Справочники sSpr0 и sSpr1 очень похожи по структуре. Отличаются они только наличием того самого поля группы Gr1_ID в sSpr1. «1» в  sSpr1 и означает что такое поле группировки одно («0» в sSpr0 означает что полей для групп в нем нет).
Можно было засунуть всю информацию в один справочник sSpr01 например. Тогда корневые элементы (которые сейчас в sSpr0) просто содержали бы NULL в поле Gr1_ID. В данном случае это можно было бы сделать. Это сделано иначе скорее для порядку чем из жадности (такая структура занимает на диске чуть меньше места) Для справочников не важно, а вот для документов важно и если начать так делать то непонятно где останавливаться.
Я не стала вытаскивать внутренние коды (Gr1_ID) на экраны просмотра:

Их можно увидеть запустив просмотр и корректировку содержания справочника:

В параметре написано ddl=98. Если я в SQL сервере запрошу содержание справочника sSpr в которых идентификатор группы (Gr1_ID) = 98, то увижу тот же список:

Выводимая на экран страница sSpr1.aspx (в адресной строке) это инструмент просмотра данных таблицы sSpr1. Этому инструменту передаётся параметр (группа) по которому и определяется что просматривать и редактировать.
Но ведь вовсе не обязательно вызывать страницу просмотра щелкая по какой-то ссылке. Адрес в адресной строке можно и вручную ввести. А можно (так и сделано) завести список ссылок в конкретную задачу и вызывать их когда пользователь щёлкает по конкретной ссылке.
Здесь например:

… видно что при вызове списка лотов будет просматриваться информация из sSpr1 с группой 125 потому что этот справочник подключён к задаче «Еда СПб». Учреждения корректировать справочники не могут (только вводить данные, используя их информацию). А вот у районных и региональных администраторов есть возможность корректировать информацию этих справочников.  

 

Просмотров: 219 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz