От V7 к V8. Обсуждение концепций структур данных. Роли объектов и наследование.

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

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

Что такое роль? По сути – это совокупность каких-либо качеств объекта, которые проявляются при его взаимодействии с другими объектами. Если такого взаимодействия нет (еще не было), то и качеств тоже нет (пока нет). Похоже, что реквизиты агрегатных объектов должны ссылаться на другие агрегатные объекты не непосредственно, а через роли.

Соответственно, роль – это и не справочник, и не документ, но исполнять ее должны элементы справочников или документы. Задание справочника в качестве возможного исполнителя какой-либо роли определяет, что на элементы данного справочника могут ссылаться те объекты агрегатного типа, среди реквизитов которых есть данная роль.

Пример. В расходной накладной реквизит "Покупатель" – это обычно ссылка на справочник "Контрагенты" . Гораздо гибче было бы, если бы данный реквизит ссылался не непосредственно на справочник "Контрагенты" , а через роль "Покупатель" . В качестве же "Покупателя" могут выступать как "Контрагенты" , так и "Физические лица" , "Сотрудники" . Соответственно, и в регистре "Оборот продаж" измерение "Клиент" тоже должно ссылаться не на справочник, а на роль "Покупатель" .

В V7 для того, чтобы продать товар "неконтрагенту", надо либо объявить реквизит документа "покупатель" абстрактным справочником, либо в справочнике "Контрагенты" заводить новый элемент и как-то организовывать его связь с "неконтрагентом". И то, и другое не очень удобно.

Роль является объектом агрегатного типа. Она должна иметь перечень объектов-исполнителей роли и может иметь свои реквизиты. Если справочник (документ) допускает использование непосредственных ссылок на свои элементы, значит сам справочник задает также наименование и реквизиты роли, которую исполняют его элементы. Например, справочник "Сотрудники" определяет одноименную роль.

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

С точки зрения наследования необходимо сделать следующее. Завести абстрактный справочник "Номенклатура" и наследовать от него перечисленные выше. Реквизит накладной "Товар" должен ссылаться на справочник "Номенклатура" , так что теперь любой справочник, принадлежащий "Номенклатуре" , может быть выбран в накладной в качестве товара. С точки зрения ролей все еще проще. Реквизит накладной "Товар" ссылается на роль "Товар для продажи" . А исполнителями данной роли (помимо "самих товаров") являются справочники "Материалы" , "Ценные бумаги" , "Основные средства" и т.д.

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

Понятие "Роль" увеличивают нормализацию базы данных за счет отделения атрибутов непосредственно объекта (как сущности) от атрибутов ролей, которые он может исполнять (а может и не исполнять) – нормализация атрибутов. До тех пор, пока ОС не выступит в роли товара, никаких записей со значениями "товарных" реквизитов данного ОС в ТД "Товары" не будет.

Роль могут исполнять объекты разных типов (справочники, документы). Например, роль "Партия товара" . Исполняется документами "Приходная накладная" , "Приходная счет-фактура" . Реквизиты роли – характеристики партии.

Во многих примерах "наследование свойств классов" на самом деле можно (нужно) заменить "ролями класса". Проверка на "истинное наследование" – это тест на справедливость утверждения "всегда является" (собака всегда является животным). Если же справедливо "может являться (быть)" – то это роль (сырье может быть товаром).

Резюме.

  • Понятие "Роль" выглядит перспективным направлением в плане развития V7, но нуждается в дополнительном изучении. Преимущества использования понятия очевидны, но детали программной реализации требуют тщательного продумывания.

Дмитрий Малюгин
Copyright © ITland 2002-2003

Дневник продакта. Зачем нужна подписка Клерк.Премиум и сколько денег она экономит

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

Дневник продакта. Зачем нужна подписка Клерк.Премиум и сколько денег она экономит
95

Начать дискуссию

У Мосбиржи, НКЦ и НРД есть два месяца на завершение ряда операций

Власти США дали время на сворачивание операций с организациями, против которых ввели санкции 12 июня.

Курсы повышения
квалификации

18
Официальное удостоверение с занесением в госреестр Рособрнадзора

Пилотный выпуск «ТоТ еще разговор» без цензуры. Нужно ваше мнение

Я конечно, всем уже надоел про свой новый проект, поэтому покажу и спрошу.

Пилотный выпуск «ТоТ еще разговор» без цензуры. Нужно ваше мнение

Когда можно наказать работника за разглашение информации о зарплате коллег

Лучшие спикеры, новый каждый день
Инвестиции

Между странами СНГ теперь свободная торговля услугами и особый режим для инвестиций

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

Санкции 2022-2024

🔥 Еще одна страна присоединилась к санкциям США против Мосбиржи и остальных

Великобритания также ввела санкции против Ингосстрах и СПБ Биржи.

Бухгалтерский учет

Autodesk: катастрофические ошибки в бухгалтерском учете волнуют инвесторов!

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

Опытом делятся эксперты-практики, без воды

Информуслуги от белорусской компании обычно не облагаются НДС в России

Если белорусская компания оказывает услуги российской, то для целей НДС надо ориентироваться по приложение № 18 (протокол) к договору о ЕАЭС от 29.05.2014.

Инвестиции

Брокеры обходят официальную схему обмена активов

Инвесторам предложили простую схему обмена иностранных акций. Однако этот механизм противоречит документам, принятым правительством и ЦБ.

1
Экономика России

Торговать с Ираном стало существенно удобнее и выгоднее

Президент Владимир Путин подписал федеральный закон «О ратификации Соглашения о свободной торговле между Евразийским экономическим союзом и его государствами-членами, с одной стороны, и Исламской Республикой Иран, с другой стороны».

💘 Налоговая реформа-2025: обзор всех изменений для бухгалтера

При УСН будет НДС, но можно от него освободиться или выбрать пониженную ставку. По НДФЛ будет новая пятиступенчатая прогрессивная шкала. Ставку налога на прибыль увеличат. Налоговый кешбэк и амнистия по дроблению. Читайте дайджест всех актуальных изменений.

Инвестиции

Первый день работы Мосбиржи после санкций прошел без потрясений

Финансовые организации, которые попали под санкции США, приняли все нужные меры по урегулированию последствий ограничений.

1
Инвестиции

Недвижимость резко подорожала, доллар вышел из чата, новые санкции, дивиденды, облигации и другие новости. Воскресный инвестдайджест

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

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

Налоговая заблокировала счета блогера Гусейна Гасанова

Налоговая заблокировала все счета Гусейна Гасанова. Как сообщает SHOT, они были заморожены с 13 июня, поскольку блогер задолжал ФНС космическую сумму — 144,8 миллиона рублей.

Налоговая заблокировала счета блогера Гусейна Гасанова

ВТБ с 17 июня приостановит выдачу IT-ипотеки из-за исчерпания выделенного лимита

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

Ведение бизнеса

Как использовать данные и аналитику для оптимизации продаж

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

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

Мораторий будет действовать до 1 января 2026 года. Он распространяется на обязательства, которые возникли у государственных и муниципальных предприятий до 30 сентября 2022 года.

Валюта

Из-за санкций биржа Казахстана начала пересматривать отношения с Мосбиржей

Казахстанская фондовая биржа собирается пересмотреть отношения с Мосбиржей после введения санкций. MOEX принадлежит 13,1% акций, размещенных KASE.

Банки

Райффайзенбанк больше не будет начислять проценты по накопительным счетам

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

Вакансии

Новые вакансии для бухгалтеров и финансистов Добавить вакансию
Личные финансы

Финансовая безопасность: почему важна и как усилить?

Сколько раз вы оказывались в ситуациях с финансовыми вызовами? Чаще всего, такие события в жизни внезапны и стихийны.

Интересные материалы

Общество

Власти считают проблемой использование иностранных слов, имеющих российские аналоги: документ

Правительство утвердило Концепцию государственной языковой политики Российской Федерации.