Что такое типообразующие объекты в 1с
Наряду с типами данных, которые определены на уровне платформы, конкретное прикладное решение может использовать уникальные типы данных, существующие только в этом конкретном прикладном решении. Причем технологическая платформа 1С:Предприятия 8.0 будет полностью поддерживать работу с этими типами данных точно так же, как и с типами, которые определены на уровне самой платформы.
Как правило, появление новых типов данных в прикладном решении связано с использованием прикладных объектов. На уровне технологической платформы поддерживается несколько классов прикладных объектов, которые сами по себе не могут быть использованы в конкретном прикладном решении. Например, можно перечислить такие классы прикладных объектов как Справочники, Документы, Регистры сведений , Планы видов характеристик и пр.
Для каждого класса прикладных объектов определена соответствующая ему базовая функциональность: типы таблиц базы данных , которые должны быть созданы для хранения данных, типовые формы, типовые объекты языка, наборы прав и пр.
Разработчик, создавая прикладное решение , не имеет возможности использовать эти классы напрямую, однако может добавить в свое прикладное решение новый объект конфигурации, наследующий всю функциональность того или иного класса.
Например, разработчик может добавить в свое прикладное решение новый справочник Номенклатура, который будет наследовать функциональность класса Справочники, или новый документ КассовыйОтчет, который будет наследовать функциональность класса Документы.
Сразу же после такого добавления разработчику становятся доступны новые типы данных, состав которых определяется принадлежностью объекта к тому или иному классу прикладных объектов.
Например, после создания нового справочника Номенклатура, становятся доступны следующие типы данных:
- СправочникМенеджер.Номенклатура;
- СправочникСсылка.Номенклатура;
- СправочникОбъект.Номенклатура;
- СправочникВыборка.Номенклатура;
- СправочникСписок.Номенклатура.
Еще один момент, на котором следует акцентировать внимание, проще всего продемонстрировать на примере.
Допустим, в прикладном решении созданы два новых справочника: Номенклатура и Цены. Несмотря на то, что оба эти объекта унаследовали функциональность соответствующего класса Справочники, и для них в прикладном решении был создан один и тот же состав типов данных, одноименные типы данных будут являться различными типами данных. Например, СправочникОбъект.Номенклатура и СправочникОбъект.Цены - это различные типы данных.
Так происходит потому, что разработчик может дополнительно к базовой функциональности, унаследованной от соответствующего класса, добавить свою, особенную для каждого объекта конфигурации. Например, оба упомянутых выше справочника могут содержать табличные части (это унаследовано от класса Справочники). Однако для справочника Цены разработчик не создаст ни одной табличной части, в то время как для справочника Номенклатура он создаст, например, три табличные части . Очевидно, что структура хранения данных типа СправочникОбъект.Номенклатура будет значительно отличаться от структуры хранения данных типа СправочникОбъект.Цены.
Для работы с такими типами данных (классами прикладных объектов) в системе реализована единая схема работы через объекты ": Менеджер ". Объекты типа КонстантыМенеджер, СправочникиМенеджер, ДокументыМенеджер, ОбработкиМенеджер и аналогичные им предназначены для обращения к коллекции значений соответствующих менеджеров объектов конфигурации. Свойствами этих объектов являются другие объекты типа КонстантаМенеджер, СправочникМенеджер, ДокументМенеджер, которые, в свою очередь , предоставляют доступ к конкретным объектам (справочник, документ, константа).
СправочникиМенеджер - объект , обеспечивает доступ к менеджерам всех справочников конфигурации.
ВсеСправочники=Справочники; //в данном случае тип переменной ВсеСправочники будет СправочникиМенеджер.
"Справочники" - это свойство глобального контекста, с помощью которого идет обращение к менеджеру справочников конфигурации.
СправочникМенеджер. - объект , обеспечивает доступ к конкретному справочнику конфигурации.
СправочникКлиенты=Справочники.Клиенты; // тип переменной СправочникКлиенты будет СправочникМенеджер.
СправочникОбъект. - объект , обеспечивает доступ к конкретному элементу справочника, его свойствам и методам.
ЭлементСКодом1 = Справочники.Клиенты.НайтиПоКоду(1).ПолучитьОбъект(); // тип переменной ЭлементСКодом1 будет СправочникОбъект.
СправочникСписок. - объект , предназначен для управления списком элементов справочника, отображаемых в табличном поле . Данный объект используется для визуального представления списка справочника.
Такая схема обращения является единой для всех объектов конфигурации.
Для выбора множества объектов используются объекты типа "СправочникВыборка", "ДокументВыборка" и т.д.
ВыборкаСправочника = Справочники.Клиенты.Выбрать(); // тип переменной ВыборкаСправочника будет СправочникВыборка.
Для объекта "КонстантыМенеджер" в системе предусмотрен метод СоздатьНабор() с возвращаемым значением типа "КонстантыНабор". Объект "КонстантыНабор" предназначен для управления набором указанных в параметрах метода СоздатьНабор() констант. Используя данный объект , можно прочитать и записать в одной транзакции значения для выбранных констант.
Для объектов "РегистрСведенийМенеджер", "РегистрНакопленияМенеджер", "РегистрБухгалтерииМенеджер", "РегистрРасчетаМенеджер" предусмотрен метод СоздатьНаборЗаписей() с возвращаемыми значениями РегистрСведенийНаборЗаписей, РегистрНакопленияНаборЗаписей и т.д.
К свойствам, реквизитам и методам описанных выше объектов обращаемся через точку. Например:
Рассмотрим подробнее работу с набором записей регистра сведений. Основная задача регистра сведений - хранить информацию, которая развернута по определенной комбинации измерений и, при необходимости, по времени. Из принципов работы регистра сведений вытекает то, что в системе может быть только одна запись с определенным набором и периодом измерений. Уникальность записей по набору измерений принципиально отличает регистры сведений от регистров накоплений, которые позволяют вводить несколько записей с одинаковым значением измерений и периодом. Строки регистра сведений, содержащие информацию о значениях ресурсов для определенных значений измерений, конкретного периода, регистратора, называются записями. Для считывания и занесения набора записей в базу данных служит объект "РегистрСведенийНаборЗаписей".
Некоторые методы объекта "РегистрСведенийНаборЗаписей":
- Добавить() - добавляет новую запись в набор.
- Количество() - получает количество записей в наборе.
- Прочитать() - считывает записи из базы данных по установленному отбору.
- Удалить() - удаляет запись из набора записей регистра сведений.
- Записать() - записывает набор записей в базу данных. В зависимости от переданного параметра, может быть выполнено добавление записей или их замещение. Если для регистра сведений, подчиненного регистратору, выполняется добавление записей, то после выполнения записи набор очищается. Для регистров сведений, у которого в конфигураторе установлен режим записи "Подчинение регистратору", при записи значение регистратора всегда устанавливается той ссылкой, по которой был установлен отбор этого набора записей, независимо от того, что было назначено в процессе работы с набором
Следует отметить, что если вызвать метод "Записать" с параметром Истина для набора записей регистра сведений, у которого независимый режим записи, не установив перед этим отбор, то все записи регистра сведений будут удалены и замещены на те записи, которые мы добавили в набор. Записать набор записей регистра сведений, у которого режим записи "Подчинение регистратору", не установив предварительно отбор нельзя, и в данном случае возникнет ошибка.
Для работы с классами прикладных объектов в системе также предусмотрены предопределенные процедуры-обработчики, которые автоматически выполняются при наступлении различных событий. Например, процедуры: "ПриЗаписи", "ПередЗаписью", "ПриУдалении", "ОбработкаПроведения" и др. Такие процедуры располагаются в модулях объектов. При этом следует отметить, что такие предопределенные процедуры-обработчики вызываются на выполнение независимо от того, как было вызвано указанное событие, программно или интерактивно.
При выполнении некоторых предопределенных процедур, например, "ОбработкаПроведения", выполняется неявная транзакция . Для отмены неявной транзакции используется выражение :
Где Отказ - это параметр предопределенной процедуры
Задание 10
В документе "Приказ об изменении цен" создайте в процедуре "ОбработкаПроведения" движения по регистру сведений "ЦеныРеализации".
Одним из основных свойств некоторых объектов конфигурации является Тип данных. Это свойство определяет, какого рода информацию может содержать объект конфигурации.
Тип данных объекта конфигурации назначается при создании или редактировании свойств объекта в процессе настройки конфигурации.
Объекты конфигурации, для которых может быть указан тип информации, содержащейся в объекте, в системе «1С:Предприятие» называются типизированными объектами конфигурации.
Такие объекты конфигурации, как Справочник, Документ, Обработка, не являются типизированными объектами, так как содержат «комплексную» информацию и, в свою очередь, включают в себя типизированные объекты конфигурации.
Типы данных, которые может принимать объект конфигурации, можно разделить на две группы.
Первую группу составляют примитивные типы данных: Число, Строка, Дата и Булево. Соответственно, информация, хранящаяся в объекте конфигурации, может быть числом, произвольной строкой символов, датой или логической величиной. Кроме этих типов к примитивным типам относят NULL, Неопределено и Тип (подробнее см. раздел
«Примитивные типы данных» справки по встроенному языку).
Кроме этого, некоторые объекты конфигурации системы «1С:Предприятие» также могут образовывать типы данных. Например, константе может быть назначен тип данных ДокументСсылка. В этом случае значение константы будет представлять собой ссылку на
один из существующих в системе «1С:Предприятие» документов.
Объекты конфигурации, которые могут образовывать типы значений конфигурации, в системе «1С:Предприятие» называются типообразующими объектами конфигурации.
Такими объектами в системе «1С:Предприятие» являются:
● справочники,
● документы,
● планы видов характеристик,
● планы счетов,
● планы видов расчета,
● планы обмена,
● бизнес-процессы,
● задачи,
● перечисления.
Необходимо обратить внимание, что типообразующие объекты конфигурации образуют тип данных сразу после создания в конфигураторе объекта любого из таких типов. При этом появляются сразу три новых вида типов: Ссылка, Объект и Список. Например, когда в конфигураторе создается новый справочник, то в списке типов данных появляются новые типы данных:
СправочникСсылка.
СправочникОбъект.
СправочникСписок.
Такие типы данных могут быть присвоены любому из типизированных объектов конфигурации.
Некоторые данные могут иметь составной тип. Для этого в окне редактирования типа
данных нужно установить флажок Составной тип данных и указать те типы, которые могут
принимать данные. Кроме того, допускается выбор специального типа ЛюбаяСсылка.
При выборе типа данных реквизита система, помимо выбора типов, определенных в
конкретном прикладном решении, предоставляет разработчику возможность выбирать
наборы типов. Наборами типов, например, являются ЛюбаяСсылка, СправочникСсылка,
Характеристика. и др.
Наборы типов, так же как и составной тип данных, содержат некий перечень типов,
определенных в данном прикладном решении, однако, в отличие от составного типа, этот
перечень формируется системой автоматически, в результате анализа метаданных.
Например, в прикладном решении имеются справочники Номенклатура и Контрагенты. Если определен реквизит составного типа данных, в который входят типы
СправочникСсылка.Номенклатура и СправочникСсылка.Контрагенты, то наряду с этим
можно определить реквизит, содержащий набор типов СправочникСсылка. И в том и в
другом случае можно хранить в реквизите ссылки как на справочник Номенклатура, так и
на справочник Контрагенты.
После добавления нового справочника Цены в реквизите составного типа по-прежнему
могут храниться только ссылки на справочники Номенклатура и Контрагенты, а в
реквизите, описанном как набор типов, допускается хранение ссылки на любой из
справочников, доступных в данной конфигурации, в том числе и на справочник Цены.
При запуске прикладного решения набор типов преобразуется системой, как правило, в
составной тип, содержащий все типы, которые должны входить в этот набор. Поэтому во
втором случае в набор типов попадет и новый справочник Цены.
Однако набор типов не всегда преобразуется системой в составной тип данных. Если
оказывается, что в набор типов входит единственный тип значений, то набор типов будет
преобразован в этот самый тип значений. Такая ситуация возможна, например, когда план
видов характеристик (назовем его Свойства) имеет единственный тип значений в свойстве
ТипЗначенияХарактеристик. Тогда набор типов Характеристика. Свойства будет
преобразован системой не в составной тип данных, содержащий один тип значений, а в тот единственный тип значений, который указан для плана видов характеристик.
Эта особенность может быть важна, когда, например, выполняется проверка реквизита,
тип которого описан как Характеристика.Свойства, на заполненность. Когда
Характеристика.Свойства преобразуется системой в составной тип данных, проверять
нужно на значение Неопределено, а если Характеристика.Свойства преобразуется в
определенный тип значения, то проверять нужно на значение по умолчанию данного типа.
В зависимости от вида объекта конфигурации объект может иметь различные подчиненные группы объектов. Например, реквизиты, измерения, формы, табличные части и т. д. Состав подчиненных объектов зависит от типа объекта.
Реквизиты – дополнительная информация об объекте, доступная только в пределах этого объекта.
Табличные части – наборы дополнительной информации об объекте, представленной в виде таблицы.
ВНИМАНИЕ! Число строк одной табличной части не может быть более 100 000.
Реквизиты табличных частей – состав табличной части объекта, доступный только в пределах табличной части объекта.
Формы – форма используется для ввода, просмотра и редактирования информации, хранящейся в объекте конфигурации, содержит модуль формы – программу на встроенном языке системы «1С:Предприятие». Способность иметь визуальное представление позволяет объекту конфигурации организовать интерактивное взаимодействие с
пользователем. Характер такого взаимодействия разрабатывается специалистом,осуществляющим конфигурирование системы «1С:Предприятие», и определяется в основном типом объекта конфигурации. Для разработки форм в конфигураторе применяется комплексный редактор форм, позволяющий редактировать все компоненты формы во взаимосвязи. Каждый объект может иметь несколько форм.
Команды – используются для выполнения различных операций с объектом. Команды бывают независимыми и параметризуемыми.
Макеты – табличные, HTML или текстовые документы (также могут использоваться двоичные и Active-документы), предназначенные для формирования печатных форм объекта.
Графы – графы журнала документов.
Измерения – для регистров это объекты конфигурации, данные о которых учитываются в регистре.
Ресурсы – данные, учитываемые в регистре.
Группы подчиненных объектов не удаляются и не имеют редактируемых свойств.
Понравилось это:
Похожее
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Статьи по тематике
Онлайн тесты по Истории России
Продолжение одинэсной темы, ответы на книгу Радченко, занятие 2 и 3.
Документ предназначен для описания информации о совершенных хозяйственных операциях или произошедших событий в организации. Отличительная особенность документа - способность проведения - событие, которое отображает документ, повлияло на состояние учета. Так же документ привязан к конкретному моменту времени.
Реквизиты предназначены для описания наборов одинаковой для всех документов этого типа информации, стандартные реквизиты - дата и номер документа;
Табличные части - для описания набора информации, которая одинакова по структуре, но различна по количеству;
Проведение - действие, которое выполняет изменение других данных системы на основании информации документа;
В 1С:Предприятие создать новый документ. Данные заполняются как с помощью поля выбора, так и с клавиатуры;
Конструктор форм - это инструмент разработчика для создания форм, построенные по принципу "мастеров": ввод данных в определенной последовательности;
Редактор форм используется для создания и редактирования форм объектов прикладного решения. Редактор форм обеспечивает редактирования диалога формы, её реквизитов и редактирование модулей;
Основной интерфейсный инструмент, служит для управления и отображения записей Базы Данных; Примеры: кнопка, табличное поле, поле ввода и др;
Событие - процессы, возникающие при соблюдении определенных условий во время функционирования формы. Событие связаны с элементами формы.
Выбираем элемент формы, находим в палитре свойств событие, жмем на значок лупы. В модуле создастся шаблон процедуры - обработки события;
Общий модуль служит для хранения процедур, которые могут быть доступны для любых объектов конфигурации;
Объекты конфигурации, для которых может быть указан тип информации, содержащийся в объекте, называют типизированными объектами конфигурации. Некоторые объекты (справочники, документы, перечисления) могут сами образовывать типа, следовательно, они являются типообразующими объектами
Для чего нужны измерения регистра, ресурсы и реквизиты?
Измерение - накопление числовой информации в данном разрезе;
Резурсы - виды числовой информации, накапливаемой регистром;
Измерение так же является критерием отбора при получении данных;
Реквизиты - набор попутных данных для записи регистра;
Что такое движение регистра и что такое регистратор?
Движение регистра - в регистр отправляется некоторый набор записей, содержащий значение измерения, значения приращения ресурсов, ссылку на документ, который вызвал эти изменения (регистратор);
Регистратор - объект информационной базы данных (документ), который производит конкретные движения;
Как создать новый регистр накопления и описать его структуру?
В 1С:Конфигуратор правый клик - добавить. Структура определяется на вкладке "Данные"
Как создать движение документа с помощью конструктора движений?
Выбираем нужный документ в конфигураторе, правый клик - изменить, закладка "Движения"
Выбираем регистр, и жмем на конструктор движений.
В окошке "Регистры" - регистр, по которому будут проходить движения, в поле "реквизиты документа" - исходные данные для создания движений - реквизиты документа.
В нижнем окошке - устанавливаем соответствие между данными регистра и данными документа.
Как с помощью встроенного языка обойти табличную часть документа и обратится к её данным?
Это можно сделать с помощью циклов.
Для Каждого СтрокаТабличнойЧасти ИЗ ТабличнаяЧасть ЦИКЛ
Сообщить(СтрокаТабличнойЧасти.Услуга)
КонецЦикла
Как показать команды открытия списка регистра в интерфейсе конфигурации и в интерфейсе форм?
Подсистемы - правый клик - все подсистемы - выбираем нужную подсистему, ставим галочку напротив регистра
Читайте также: