Выселение. Приватизация. Перепланировка. Ипотека. ИСЖ

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

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

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

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

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

Состав объектов, которые может использовать разработчик, фиксирован и определен на уровне технологической платформы "1С:Предприятие 8.0". Разработчик не может создавать собственные виды объектов, он может оперировать только тем набором объектов, который имеется. Подобный подход к разработке прикладных решений позволяет, во-первых, стандартизировать процесс разработки, а во-вторых - обеспечить простую и быструю модификацию прикладных решений другими разработчиками или пользователями.

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

Справочник

Служит для описания таких сущностей как товары, контрагенты, валюты, склады и пр. Все эти сущности имеют общие свойства: внутренняя идентификация объекта в системе, необходимость поддержки иерархии и группировки элементов, необходимость поддержки вложенных таблиц и т.д.

Документ, журнал документов, нумератор, последовательность

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

Регистр накопления

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

Регистр сведений

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

План счетов и регистр бухгалтерии

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

План видов расчета и регистр расчета

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

Задача и бизнес-процесс

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

Обработка, отчет

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

План видов характеристик

Предназначен для хранения информации о характеристиках различных объектов. Позволяет пользователю создавать всевозможные характеристики, описывать тип этих характеристик и задавать их значения. Может использоваться, например, для предоставления пользователю возможности описывать товары произвольным количеством произвольных характеристик (цвет, размер, запах и т.д.). Позволяет создавать и хранить название характеристики и тип данных, который должны принимать значения этой характеристики.

План обмена

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

Константа

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

Перечисление

Предназначено для описания перечня значений, которые может принимать какая-либо переменная. Например, перечисление может хранить значения, описывающие статус покупателя: "оптовый" и "розничный".

Критерий отбора

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

Язык

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

Стиль

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

Интерфейс

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

Роль

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

Понятие «метаданные»

Основу концепции системы 1:Предприятие составляет понятие метаданные. Однако прежде чем дать расшифровку этого понятия, рассмотрим понятие объекта метаданных.

Объекты конфигурации (объект метаданных) - это составные элементы, "детали", из которых складывается любое прикладное решение.

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

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

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

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

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

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

Объект метаданных

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

Приведем такой пример. Объект метаданных «Справочник» в системе 1С:Предприятие предназначен для ведения списков одно­родных элементов данных - справочников, картотек, нормативных сборников и тому подобное. Использование объектов метаданных этого типа позволяет организовать ведение любых справочников, необходимых для автоматизации деятельности предприятия.

Как правило, объекты метаданных типа «Справочник» являются компьютерными аналогами реально существующих на предприятии справочников, например, справочника сотрудников или номенклату­ры товаров, хотя могут использоваться и для организации списков, не имеющих явных физических аналогов.

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

Поэтому необходим был механизм, который позволил бы получить полный список реквизитов и табличных частей. Для этого у объектов 1С существует встроенная функция Метаданные().

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

В нашем случае потребуются Реквизиты и Табличные части. Эти компоненты метаданных содержат значение КоллекцияОбъектовМетаданных , которую можно обойти в цикле Для каждого .

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

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


Для Каждого Реквизит Из Контрагент. Метаданные() . Реквизиты Цикл
Контрагент[ Реквизит. Имя] = Неопределено ;
КонецЦикла ;

Для Каждого ТаблЧасть Из Контрагент. Метаданные() . ТабличныеЧасти Цикл
Контрагент[ ТаблЧасть. Имя] . Очистить() ;
КонецЦикла ;

Контрагент. Записать() ;

Функция Метаданные() применяется как для самого объекта, так и для ссылки на него. В нашем случае необходимо было изменить значения реквизитов, поэтому объект нужно было получить. Данная функция работает не только для справочников, но и для других объектов конфигурации 1С, но состав свойств будет иным.

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

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

Атрибуты, являющиеся по сути признаками с двумя возможными значениями имеют числовой тип и принимают значения 0 или 1. Атрибуты, которые могут иметь несколько возможных значений, выдают строку, отражающую установленный вариант. Атрибуты, отражающие свойство метаданных, выбираемое как ссылка на другой объект метаданных (например, журнал документа) имеют тип "Метаданные".

Пример :

ВыбМетодУдаления=Метаданные.НепосредственноеУдалениеОбъектов;

У объекта "Метаданные" могут существовать методы для доступа к массивам подчиненных метаданных. Например, для глобального атрибута "Метаданные" для обращения к документам используется метод "Документ".

В качестве параметра методов для доступа к массивам подчиненных метаданных передается:

  • число - выдает объект метаданных по указанному номеру;
  • строка - выдает объект метаданных по указанному идентификатору;
  • параметр не указан - выдает количество подчиненных объектов этого типа.

Пример получения списка документов конфигурации:

Для Инд = 1 По Метаданные.Документ() Цикл Сообщить(Метаданные.Документ(Инд).Идентификатор); КснецЦикла;

У объекта типа "Метаданные" могут существовать атрибуты, содержащие массив ссылок на объекты метаданных, к ним применяются методы Количество() и Получить(Ном) для перебора ссылок. Например, для граф отбора таким атрибутом является атрибут "Ссылки", позволяющий получить объекты метаданных включенные в данную графу отбора (реквизиты документов и др.).

Пример :

Для Инд = 1 До Метаданные.ГрафаОтбора(Идент).Ссылки.Количество() Цикл Сообщить(Метаданные.ГрафаОтбора(Идент). Ссылки.Получить(Инд).ПолныйИдентификатор()); КонецЦикла;



Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ:
Выселение. Приватизация. Перепланировка. Ипотека. ИСЖ