Типы встроенного языка, порождаемые элементом проекта вида «РегистрСведений»
После того как вы добавили в проект регистр сведений и дали ему имя, «1С:Шина» создаст несколько типов встроенного языка. Например, для регистра сведений с именем Цены будут созданы следующие типы:
ЦеныЦены.КлючЗаписиЦены.ЗаписьЦены.НаборЗаписейЦены.КлючРазрешенийИзмеренийЦены.КлючОсновногоФильтра
В общем случае имена этих типов выглядят следующим образом:
имя-регистра-сведенийимя-регистра-сведений.КлючЗаписиимя-регистра-сведений.Записьимя-регистра-сведений.НаборЗаписейимя-регистра-сведений.КлючРазрешенийИзмеренийимя-регистра-сведений.КлючОсновногоФильтра
Тип «имя-регистра-сведений»
Это тип-одиночка.
Тип имя-регистра-сведений содержит методы, которые позволяют, например, блокировать записи по измерениям, указанным в ключе или фильтре.
Также он позволяет пересчитать разрешения доступа: ПересчитатьРазрешенияДоступа, ПересчитатьРазрешенияДоступаДляОбъектов (подробнее).
Этот тип не имеет конструктора и имеет единственный экземпляр, обращение к которому выполняется по имени типа:
// Получить менеджера регистра «Цены»
пер МенеджерРегистра = Цены
// Пересчитать разрешения доступа для регистра «Цены»
Цены.ПересчитатьРазрешенияДоступа()
Модуль регистра сведений
В проекте модуль, расширяющий тип имя-регистра-сведений, называется модулем регистра сведений.
В этом модуле вы можете обработать события вычисления разрешений доступа: ВычислитьРазрешенияДоступа, ВычислитьРазрешенияДоступаДляОбъектов, ВычислитьКлючиДоступаДляЧтения и ВычислитьКлючиДоступаДляИзменения (подробнее).
Тип «имя-регистра-сведений.КлючЗаписи»
Тип имя-регистра-сведений.КлючЗаписи доступен и на клиенте, и на сервере. Он предназначен для указания на какую-то конкретную запись регистра.
Он имеет конструктор новый имя-регистра-сведений.КлючЗаписи(), который позволяет создать новый ключ записи по значениям всех измерений, и метод ЗагрузитьЗапись(), который есть только на сервере и позволяет по лучить запись (имя-регистра-сведений.Запись) из ключа (имя-регистра-сведений.КлючЗаписи).
Модуль ключа записи
В проекте модуль, расширяющий тип имя-регистра-сведений.КлючЗаписи, называется модулем ключа записи. Он исполняется и на клиенте, и на сервере.
Тип «имя-регистра-сведений.КлючОсновногоФильтра»
Тип имя-регистра-сведений.КлючОсновногоФильтра доступен только на сервере. Он представляет из себя структуру, описывающую ключ основного фильтра регистра сведений. В отличие от ключа регистра сведений, содержит только измерения, которые включены в основной фильтр. Для периодического регистра сведений также может содержать поле Период, если период включен в основной фильтр.
Присутствует как поле в таблице регистра сведений. Это позволяет разработчику проекта удобно фильтровать изменения по данным регистра сведений.
Данный тип имеет конструктор новый имя-регистра-сведений.КлючОсновногоФильтра(), который позволяет создать новый ключ основного фильтра по значениям всех измерений, включенных в основной фильтр.
Данный тип используется в программном интерфейсе для работы с изменениями данных регистров сведений.
Тип имя-регистра-сведений.КлючОсновногоФильтра формируется по элементу проекта всегда, даже если регистр сведений не включен в состав плана обмена или нет измерений, включаемых в основной фильтр.
Тип «имя-регистра-сведений.Запись»
Тип имя-регистра-сведений.Запись доступен на клиенте и сервере.
Он содержит данные одной записи и предназначен для создания, изменения или удаления одной записи.
Он имеет несколько конструкторов новый имя-регистра-сведений.Запись(), которые позволяют создать новую запись. Заполнив эту запись данными, вы можете затем сохранить ее в базе данных.
При записи данных вызываются события типа имя-регистра-сведений.НаборЗап исей, поскольку «Шина» перед записью автоматически трансформирует эту запись в набор записей, содержащий одну запись и необходимый для этого фильтр.
Модуль записи
В проекте модуль, расширяющий тип имя-регистра-сведений.Запись, называется модулем записи. Он исполняется на сервере.
В нем вы можете обработать такие события, как:
ПриЗаполнении,ПриКопировании.
Тип «имя-регистра-сведений.НаборЗаписей»
Тип имя-регистра-сведений.НаборЗаписей доступен на сервере.
Он содержит данные нескольких записей и предназначен для их создания, изменения или удаления в соответствии с некоторым фильтром.
Он имеет конструктор новый имя-регистра-сведений.НаборЗаписей(), который позволяет создать пустой набор. Заполнив этот набор записями, вы можете затем сохранить их все в базе данных. Также вы можете прочитать в пустой набор те записи из базы данных, которые соответствуют фильтру, установленному в пустом наборе записей.