Основы конфигурирования в системе '1С Предприятие 8.0'


    73c64bed     

Типообразующие объекты, их свойства, методы и события


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

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

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

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

Например, разработчик может добавить в свое прикладное решение новый справочник Номенклатура, который будет наследовать функциональность класса Справочники, или новый документ КассовыйОтчет, который будет наследовать функциональность класса Документы.

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

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

  • СправочникМенеджер.Номенклатура;
  • СправочникСсылка.Номенклатура;
  • СправочникОбъект.Номенклатура;
  • СправочникВыборка.Номенклатура;
  • СправочникСписок.Номенклатура.

Еще один момент, на котором следует акцентировать внимание, проще всего продемонстрировать на примере.

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

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

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

Например:

СправочникиМенеджер - объект, обеспечивает доступ к менеджерам всех справочников конфигурации.

ВсеСправочники=Справочники; //в данном случае тип переменной ВсеСправочники будет СправочникиМенеджер.

"Справочники" - это свойство глобального контекста, с помощью которого идет обращение к менеджеру справочников конфигурации.

СправочникМенеджер.<имя> - объект, обеспечивает доступ к конкретному справочнику конфигурации.

СправочникКлиенты=Справочники.Клиенты; //тип переменной СправочникКлиенты будет СправочникМенеджер.

СправочникОбъект.<имя> - объект, обеспечивает доступ к конкретному элементу справочника, его свойствам и методам.

ЭлементСКодом1 = Справочники.Клиенты.НайтиПоКоду(1).ПолучитьОбъект(); //тип переменной ЭлементСКодом1 будет СправочникОбъект.

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

Такая схема обращения является единой для всех объектов конфигурации.

Для выбора множества объектов используются объекты типа "СправочникВыборка", "ДокументВыборка" и т.д.

ВыборкаСправочника = Справочники.Клиенты.Выбрать(); //тип переменной ВыборкаСправочника будет СправочникВыборка.

Для объекта "КонстантыМенеджер" в системе предусмотрен метод СоздатьНабор() с возвращаемым значением типа "КонстантыНабор". Объект "КонстантыНабор" предназначен для управления набором указанных в параметрах метода СоздатьНабор() констант. Используя данный объект, можно прочитать и записать в одной транзакции значения для выбранных констант.

Набор = Константы.СоздатьНабор("Руководитель, ИНН"); Набор.Прочитать(); Набор.Руководитель = "Иванов И.И."; Набор.ИНН = "1234567890"; Набор.Записать();



Содержание  Назад  Вперед