Укажите пожалуйста для чего нужны сущности типа справочник

от admin

Укажите пожалуйста для чего нужны сущности типа справочник

Сущность — любой конкретный или абстрактный объект в рассматриваемой предметной области. Сущности — это основные типы информации, которые хранятся в БД (в реляционной БД каждой сущности назначается таблица). Например, к сущностям в произвольной БД организации могут относиться таблицы клиенты, студенты и т.д. Экземпляр сущности и тип сущности — это разные понятия. Понятие тип сущности относится к набору однородных личностей, предметов или событий, выступающих как целое (например, студент, клиент и т.д.). Экземпляр сущности относится, например, к конкретной личности в наборе. Типом сущности может быть студент, а экземпляром — Петров, Сидоров и т. д. В терминах реляционных БД сущность представляется таблицей или запросом на выборку. Экземпляром в такой постановке является запись в таблице или результата запроса на выборку [2].

Приведем описание сущностей в присутствующей системе.

Таблица категории товара.

Таблица склад готовой продукции.

Таблица справочник контрагентов.

Таблица склад комплектующих.

Таблица учет комплектующих.

Таблица учет сверхурочного.

Построение связей между таблицами

Связь между двумя таблицами организуется посредством общих полей этих таблиц. Связь между таблицами определяется путем добавления связываемых таблиц в окно «Схема данных» с последующим перемещением ключевого поля из одной таблицы в другую [6].

Существует три типа связей между таблицами:

— связь «один-ко-многим» является одним из самых популярных и часто употребляемым видом связи. В этом случае каждой записи таблицы А может соответствовать много записей таблицы Б (или ни одной). Так же стоит заметить что, каждой записи таблицы Б соответствует в точности одна запись таблицы А. Таблица А в такой связи называется главной, а таблица Б — связанной или подчиненной. Самый распространенный пример применения такой связи является справочники;

— связь «многие-ко-многим» многим записям из таблицы А может соответствовать много записей из таблицы Б и наоборот. В таком случае связь в Microsoft Access можно организовать при помощи третьей дополнительной таблицы, в которой каждому первичному ключу из таблицы А соответствует первичный ключ из таблицы Б. Стоит сказать что, связь типа многие-ко-многим представляет собой две связи типа один-ко-многим. При этом таблицы А и Б размещены со стороны один, а вспомогательная таблица — со стороны многие. Такой тип связи применяется реже, но могут возникнуть ситуации, когда без нее не обойтись;

— связь «один-к-одному» одной записи таблицы А соответствует в точности одна запись таблицы Б, а так же и наоборот. Этот тип связи практически никогда не применяется. Единственный случай, когда применение этого типа связи оправданно — разбивка таблицы, включающей в себя довольно большое количество полей, на несколько частей [3].

Для каждого из рассмотренных выше типов связей имеется три способа объединения. Установленный тип объединения оказывает влияние на конечные результаты выборки данных из связанных таблиц.

Внутреннее объединение. Объединяются исключительно те записи из таблиц, связанные поля которых совпадают. Оставшиеся записи в итоговую выборку не попадут. К примеру, таблицы Товары и Типы связаны между собой по полям Код Категории. При выборке записей из этих таблиц в конечную выборку попадут исключительно те записи из таблицы Типы, ссылка на которые имеется в таблице Товары. Этот тип объединения применяется в подавляющем большинстве случаев [9].

Левое внешнее объединение. Объединяются все записи таблицы со стороны один, и только те записи таблицы со стороны многие, значения связанного поля которых совпадают со значениями соответствующего поля первой таблицы. Можно сказать что, к результатам выборки по внутреннему объединению добавятся все записи из таблицы со стороны один, изначально в нее не вошедшие. Соответствующие поля этих записей второй таблицы в выборке будут иметь пустое значение [9].

Правое внешнее объединение. Идентично левому внешнему объединению, но таблицы со стороны один и со стороны многие обмениваются ролями, т.е. к результатам выборки по внутреннему объединению прибавятся не вошедшие в нее записи из таблицы со стороны многие [9].

Для связей между таблицами на уровне базы данных лучше использовать только внутреннее объединение. Оба внешних объединения применяются в основном при построении запросов. К внешним объединениям вообще нужно относиться очень осторожно — некорректность в их применении может привести к достаточно сложным и сомнительным ситуациям, к примеру, при выборке. В большинстве случаев выборка получается правильная, но в некоторых случаях вы можете получить неверный результат и разобраться в причинах ошибки малоопытный пользователь просто не в состоянии. Более подробно об этом будет рассказано в следующей главе [9].

Приведем пример связи между таблицами данных (Рисунок 18):

Рисунок 18 — связь между таблицами

Справочники и шифраторы системы

Справочник хранит условно-постоянную информацию, то есть информация, которая на длительном промежутке времени почти не меняется [3].

Существует специальный вид таблицы, называемый справочником (шифратором). Без справочников невозможно представить более или менее сложную БД. Суть справочника проста. При формировании описания сущности часто возникает необходимость указания для экземпляров сущностей той или иной повторяющейся характеристики, например если для какой-то совокупности объектов предлагается указать улицу как часть адресного ориентира, то естественным образом в БД возникает справочник улицы. Структура вновь образованной таблицы проста: первая колонка — это нумератор позиций, вторая собственно наименование улицы. Теперь для любых сущностей БД при необходимости указать улицу в соответствующем поле проставляется код этой улицы и соответствующего справочника. Такой подход позволяет разработчику БД гарантированно решить проблему разночтений (теперь указания адресного ориентира не позволит оператору указать наименование одной и той же улицы в различных видах); справочник реализует механизм каскадного обновления (теперь изменения наименования улицы не приведет к необходимости менять адресные ориентиры по всем объектам БД, достаточно изменить всего одну запись в справочнике). Заметим лишь, что корректная реализации механизма каскадного обновления требует обязательного введения истории изменения справочника. В заключение приведем еще один пример использования справочников. Очень часто БД проектируется с возможностью удаления определенной выборки или как вариант присвоения статуса архивной. С этой целью для любой сущности нужно изначально предусматривать вспомогательную колонку, в которой будет сохраняться (определяться) актуальность текущей записи. Второе название справочников шифратор происходит из технических БД, к примеру, справочники единиц измерений традиционно определяется как шифратор. Сейчас название шифратор используется в тех случаях, когда справочник используется для хранения кратких наименований для тех или иных объектов.

Name already in use

SQL / stepic_sql / 3_4_3.sql

  • Go to file T
  • Go to line L
  • Copy path
  • Copy permalink
  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents

Copy raw contents

Copy raw contents

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

Справочники и документы. В чем сила 1С

Много узкоспециализированных объектов или небольшое количество универсальных? Истина, как обычно, посередине. Справочники и документы в 1С — это пример удачного попадания в эту середину. Разумеется, речь не о том, что видит пользователь, а о том, чем оперирует разработчик. Идея » а давайте у нас будут не таблицы базы данных, а справочники и документы», при всей своей внешней неброскости, не столь проста. О чем и поговорим далее

Вступление

Мы стартуем с того, что часть таблиц базы данных в обязательном порядке снабжаем полем типа дата и называем их документами. Другая часть таблиц может иметь в своем составе поля типа дата, а может и не иметь. Их мы называем справочниками. И те и другие, как и почти все порядочные таблицы баз данных, имеют поле уникального идентификатора, он же первичный ключ. Разработчикам не надо заботится о создании этих полей и ключей. Платформа 1С:Предприятие сделает это за них. Разработчики могут пользоваться результатами работы платформы и связывать документы и справочники друг с другом всевозможными способами. Значения уникальных идентификаторов формируются автоматически.

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

На создании ключей автоматизация не заканчивается. И для справочников и для документов создается ряд служебных полей. Также, разработчикам предоставляются интересные инструменты и методы. Рассмотрим их подробнее.

Справочники

Помимо уникального идентификатора, в 1С его называют ссылкой, в справочнике могут быть автоматически созданы следующие поля:

Некоторые из них заслуживают более подробного рассказа.

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

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

Но тут «особо умных» ждет подвох

Мы-то удалили код из справочника, а платформа не совсем.

Этому багу уже лет двадцать. Поначалу я на него сердился, а теперь кажется, что мне будет его не хватать, если его когда-нибудь исправят.

Два поля, родитель и этогруппа, отвечают за иерархию. Пользователи любят иерархию. А для разработчиков эта любовь выливается в необходимость прибегать к рекурсивным алгоритмам. Платформа 1С:Предприятие позволяет вообще не вспоминать об этом.

Одна «галочка» и пользователь получает у себя перед глазами красивое «дерево», а разработчик такие методы как ПринадлежитЭлементу() и ВыбратьИерархически().

Отдельно стоит рассказать про так называемые табличные части. Табличная часть — это таблица, связанная с основной таблицей справочника или документа отношением много-к-одному. В предыдущей, седьмой версии табличная часть могла быть только у документа. Причем в количестве строго одна штука. В восьмой версии ограничение на количество табличных частей сняли, а заодно и разрешили создавать табличные части и для справочников. Жаль только, что нельзя создавать табличные части у табличных частей. Такого рода задачи, хоть и нечасто, но все же приходится решать. И в этот момент приходит понимание, что при всей своей простоте, концепция табличных частей реально экономит разработчику очень много времени.

Документы

Как я уже говорил, у документа кроме ссылки есть поле дата. Это позволяет рассматривать документы как инструмент отображения событий. Есть еще три предопределенных поля:

Можно добавлять табличные части. Но самое интересное в документах — это то, что у них как правило есть движения. Движения это записи в регистрах накопления (регистрах бухгалтерии, регистрах расчета, реже в регистрах сведений) связанные с документом. В самых простых случаях нет необходимости писать код для формирования движений (а в сложных есть такая возможность!). Можно воспользоваться конструктором движений.

Три (если у вас «+», «приход») или четыре клика (если у вас «-«, «расход») и платформа создаст вам код

Быстрая разработка

В чем сила разделения таблиц на справочники и документы, и почему я называю это удачной находкой.

Такое простое разделение как бы берет за руку неопытного разработчика и ведет его к результату. Нам нужен учет на складе? Хорошо, какие у нас будут документы? Очевидно, что как минимум, для начала, приход на склад и расход со склада. А что в документах? В документах ссылки на справочники склады, товары и т.д. Ну и количество, разумеется. И все это делается за считанные минуты даже теми, кто никогда раньше не видел 1С. Еще несколько минут и мы создали регистр остатков товаров на складе, с помощью конструктора движений сгенерировали код для документов прихода и расхода. В принципе, наша учетная система уже готова к использованию. Можно еще создать отчет. Также с помощью конструктора. И так же быстро, как все остальное. Но это тема отдельного интересного разговора.

Заключение

В бурно развивающихся и постоянно меняющихся ИТ иногда встречаются «долгоиграющие» темы. Хороший пример тому язык запросов SQL. Вывод разработчика на уровень абстракции справочники/документы появился в 1С четверть века назад. И это прекрасно работает до сих пор. Что и служит доказательством удачной находки.

Также хочу напомнить про бесплатный вебинар от OTUS, где преподаватели покажут как решаются задачи проектирования объектов метаданных различных конфигураций, для решения практических задач бизнеса.

Обучение по курсу 816 «Обзор возможностей модификации DirectumRX»

Учебное пособие предназначено для обучения по курсам:

815. Прикладная разработка в DirectumRX;

816. Обзор возможностей модификации DirectumRX.

Материалы учебного пособия ориентированы на самостоятельное дистанционное обучение.

Обучение по курсу 816 дает знания и навыки, необходимые для понимания основных этапов разработки прикладных решений и возможностей инструмента разработки системы DirectumRX.

Длительность обучения по курсу:

при обучении в классе с преподавателем – 2 дня по 6 часов в день;

при самостоятельном обучении – 16 часов, не более 5 рабочих дней.

По тексту пособия будут встречаться ссылки на справочную систему – используйте их, чтобы узнать более подробную информацию по теме. Ссылки ведут на ресурс club.directum.ru (требуется регистрация).

Рекомендации для обучения по курсу 816. Обзор возможностей модификации DirectumRX

Если Вы хотите пройти обучение с целью ознакомления с инструментом разработки, ознакомьтесь с текстом занятий. Блоки текста, скрытые под синими заголовками , предназначены для разработчиков — Вы можете их пропустить.

Выполните практические задания. Для заданий, где нужно написать код, предлагается готовое решение: фрагменты кода. Чтобы они корректно отработали, не пренебрегайте предыдущими заданиями и выполняйте их в соответствии с рекомендациями (в т.ч. обращайте внимание на названия свойств, действий, функции и т.д.).

Аттестация

По курсу предусмотрена электронная аттестация на test.directum.ru. Аттестация состоит из 25 вопросов. Продолжительность аттестации 30 минут.

Обучение по курсу 815 «Прикладная разработка в DirectumRX»

Учебное пособие предназначено для обучения по курсам:

815. Прикладная разработка в DirectumRX;

816. Обзор возможностей модификации DirectumRX.

Рекомендации для обучения по курсу 815 «Прикладная разработка в DirectumRX»

Продолжительность обучения по курсу 815 — 10 рабочих дней по 4-6 часов в день.

Фактическое количество времени, которое необходимо будет ежедневно выделять, зависит от бэкграунда по C#/.NET (см. https://www.directum.ru/services/training/all_courses/course815). Возможно вам будет требоваться больше времени.

Перед началом обучения ознакомьтесь с разделом Постановка задачи.

Изучайте занятия последовательно.

Ознакомьтесь с текстом занятия, в том числе с блоками текста синими заголовками .

Изучите разделы справки по ссылкам из занятия. Ссылки ведут на справочную систему, расположенную на ресурсе club.directum.ru (требуется регистрация на сайте).

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

Кроме практической работы в занятиях есть разделы «Самостоятельная работа». Задания данного раздела не обязательны для выполнения и выполняются по желанию, если вы не отстаете от графика, представленного ниже.

Для самопроверки и закрепления пройденного материала ответьте на контрольные вопросы в конце каждого занятия.

В конце курса имеются приложения, содержащие дополнительный материал. Изучите его после завершения всех занятий, если у вас останется время.

При возникновении вопросов во время обучения свяжитесь с преподавателем по оговоренным каналам связи.

График обучения

При обучении придерживайтесь следующего графика:

Номер блока

Название занятия

День обучения

Итого дней на блок

Занятие 1. Архитектура и процесс разработки

Занятие 2. Справочники и наследование типов сущностей

Занятие 3. Виды кода. Основные операции с сущностью. События

Занятие 4. Работа с датами и календарем рабочего времени

Занятие 5. Лог-файлы. Работа с отладчиком.

Занятие 6. Валидация. Информация о сущности

Занятие 7. Действия справочника

Занятие 8. Использование функций. Отображение сущностей

Занятие 9. Права доступа. Инициализация системы

Занятие 10. Документ

Занятие 11. Модуль. Обложка. Диалоги

Занятие 12. Панель фильтрации

Занятие 13. Простая задача

Занятие 14. Создание нового типа задачи

Занятие 15. Отчет

Занятие 16. Перекрытие стандартной разработки

Занятие 17. Задача на согласование по регламенту

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

Аттестация на статус специалиста

По завершении обучения для получения статуса «Сертифицированный разработчик DirectumRX» необходимо пройти аттестацию на портале аттестации DIRECTUM https://test.directum.ru.

Аттестация по курсу состоит из 44 вопросов. Продолжительность аттестации 55 минут.

В случае успешного прохождения аттестации специалисту высылается сертификат в электронном виде на электронную почту.

Подробнее о программе сертификации читайте в разделе Программа сертификации специалистов DirectumRX на сайте компании DIRECTUM.

Постановка задачи

В рамках практических занятий необходимо разработать модуль работы с обращениями в службу поддержки.

Назначение модуля

Модуль обращений предназначен для:

отслеживания текущего состояния зарегистрированных обращений;

анализа выполненных по обращению работ;

анализа затраченного времени на решение обращений.

Основные термины

Обращение – это вопрос или проблема (например, какая-либо ошибка ПО), которую пользователь не может решить самостоятельно. Обращения бывают внутренние и внешние.

Внутренние – это обращения от сотрудников компании, которые создаются вручную сотрудником поддержки или автоматически в рамках типа задачи «Обращение в службу поддержки».

Внешние – обращения от сотрудников других организаций, создаются вручную сотрудником службы поддержки при поступлении вопросов по почте/телефону/ICQ.

При работе с модулем выделяются следующие участники:

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

Ответственный за решение обращения – сотрудник службы поддержки, занимающийся поиском решения обращения пользователя. В модуле он выполняет следующие действия:

создает и заполняет карточку обращения;

заполняет историю общения по ходу работы с обращением;

отмечает затраченное на обращение время.

Состояния жизненного цикла обращения:

В работе – обращение создано и по нему ведутся работы;

На контроле – ожидается ответ от автора обращения после выдачи рекомендаций или запроса дополнительной информации;

Закрыто – работы по обращению завершены.

Как должно работать

Пользователь столкнулся с ошибкой или ему нужна консультация. Он обращается в службу поддержки, где на его проблему создается обращение. Сотрудник службы поддержки занимается решением обращения, отмечает время, затраченное для поиска решения. По итогам поиска решений автору выдаются рекомендации и/или запрашивается дополнительная информация. Работа идет итерационно до тех пор, пока проблема не будет решена. После получения подтверждения о решении проблемы от пользователя обращение закрывается.

В практических работах курса 816 «Обзор возможностей модификации DirectumRX» реализуется не вся функциональность модуля «Обращения».

Читать:
Как убрать писк в наушниках на компьютере

Похожие статьи