Проектирование структуры метаданных
Этап проектирования структуры метаданных имеет одно из первостепенных значений при разработке крупных прикладных решений. Однако и для более простых решений создание правильной структуры объектов является важным и ответственным этапом разработки.
От правильно принятого решения зависит не только удобство разработки и производительность создаваемого прикладного решения, но и возможность его развития и адаптации к возможным изменениям состава решаемых задач.
В большинстве случаев выбор подходящего объекта конфигурации не представляет большой сложности, так как для каждого вида объекта конфигурации определено основное назначение и имеется достаточно примеров, как в методических материалах, так и в типовых конфигурациях. Состав видов объектов конфигурации предоставляемый платформой, как любая классификация, не может однозначно определять выбор подходящего объекта во всех случаях. Поэтому в спорных ситуациях, когда выбор вида объекта конфигурации неочевиден, нужно внимательно проанализировать все особенности устройства и поведения объектов соответствующего вида.
Выбор между объектными и необъектными данными
Например, одним из типичных вопросов, возникающих в сложных случаях, является выбор между объектными и необъектными данными.
К объектным данным относятся данные справочников, документов, планов видов характеристик, планов счетов, планов видов расчета, бизнес-процессов, задач, планов обмена. К необъектным данным относятся данные регистров сведений, регистров накопления, регистров бухгалтерии, регистров расчета, перерасчетов, последовательностей и констант.
Чаще всего это выбор между справочником и регистром сведений. Если сами данные являются перечнем уникальных объектов, то рекомендуется использовать объектные данные.
Важным моментом проектирования структуры метаданных является то, что выбор вида объекта конфигурации не может производиться для каждой сущности предметной области отдельно. Необходимо обязательно анализировать всю совокупность сущностей, отражаемых в конфигурации на текущий момент, а также учитывать возможное включение новых сущностей в дальнейшем.
Таким образом, при проектировании состава объектов конфигурации разработчику очень важно четко представлять, какую сущность предметной области будет отражать конкретный объект.
Анализ логики работы прикладных объектов с данными
Важно учитывать, что объекты конфигурации того или иною вида описывают не просто таблицы базы данных с некоторым набором полей, а обеспечивают определенную логику работы с данными. Эта логика определяет и состав возможностей, автоматически предоставляемых разработчику, и набор ограничений, и параметры производительности тех или иных операций с данными.
Типичной ошибкой, например, является использование регистра сведений в качестве простой таблицы для записи некоторых данных. Регистр сведений предназначен для хранения сведений, соответствующих определенным комбинациям значений измерений. Соответственно, одним из основных его свойств является обеспечение уникальности записей по составу измерений и периоду (для периодического регистра).
Анализ производительности
Еще одним аспектом, который следует рассматривать при выборе вида объекта конфигурации, является необходимость учета технологических особенностей работы платформы с данными, поддерживаемыми этим объектом. Состав прикладных объектов конфигурации должен максимально соответствовать реальному составу сущностей предметной области, однако при его проектировании необходимо рассматривать и технологические вопросы. В некоторых случаях даже в правильно спроектированную структуру объектов необходимо внести коррективы, диктуемые технологическими особенностями.
Если речь идет о структурах данных, предполагающих хранение большого объема информации или интенсивное использование, то для оценки эффективности принятого решения можно рекомендовать провести эксперименты, в которых на объемах данных, сопоставимых с реальными, сравнить производительность одних и тех же операций с разными вариантами структуры.