Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Манипулирование данными объектов




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

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

Так вот, модуль объекта манипулирования данными будет всегда выполняться при создании объекта манипулирования данными. Кроме этого, он будет всегда выполняться и при интерактивном обращении пользователя к самой структуре данных, поскольку оно будет вызывать создание соответствующего объекта манипулиро- вания данными. Например, при открытии формы элемента справоч- ника будет создаваться объект СправочникОбъект. < имя>.

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

Например, если мы для объекта конфигурации Справочник Клиенты опишем в модуле объекта процедуру (листинг 29. 1), то в дальнейшем сможем вызывать ее как метод объекта СправочникОбъект. Клиенты (листинг 29. 2).


листинг 29. 1. Процедура «Проверка()» в модуле справочника

 

 

листинг 29. 2. Вызов процедуры как метода объекта «Справочник»

 

Однако следующий код будет приводить к ошибке, так как объект СправочникСсылка. Клиенты не имеет метода Проверка (листинг 29. 3).

листинг 29. 3. Вызов процедуры «Проверка» приведет к ошибке

 

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


 

 


таблица 29. 1. Работа с данными объектов

 

объект конфигурации база данных – структура манипулирования данными Встроенный язык – структура манипулирования данными
Константа Константа КонстантаМенеджерЗначения. < Имя> (КонстантаМенеджер. < Имя>, КонстантыНабор)
Справочник Элемент справочника СправочникОбъект. < Имя>
Документ Документ ДокументОбъект. < Имя>
Последовательность Набор записей последователь- ности ПоследовательностьНаборЗаписей. < Имя>
ПланВидовХарактеристик Вид характеристики ПланВидовХарактеристикОбъект. < Имя>
ПланСчетов Счет ПланСчетовОбъект. < Имя>
ПланВидовРасчета Вид расчета ПланВидовРасчетаОбъект. < Имя>
РегистрСведений Набор записей регистра сведений РегистрСведенийНаборЗаписей. < Имя> (РегистрСвед енийМенеджерЗаписей. < Имя> )
РегистрНакопления Набор записей регистра нако- пления РегистрНакопленияНаборЗаписей. < Имя>
РегистрБухгалтерии Набор записей регистра бухгал- терии РегистрБухгалтерииНаборЗаписей. < Имя>
РегистрРасчета Набор записей регистра расчета РегистрРасчетаНаборЗаписей. < Имя>

Во-первых, для констант указаны три объекта манипулирования данными – КонстантаМенеджерЗначения. < имя>, КонстантаМенед- жер. < имя> и КонстантыНабор. На самом деле манипулиро- вание данными константы осуществляется при помощи объекта КонстантаМенеджерЗначения. < имя>.

Два других объекта – КонстантаМенеджер. < имя> и Констан- тыНабор – также позволяют изменять значения констант, хранящиеся в базе данных, однако при выполнении своих методов Установить() и Записать() они вызывают создание объекта КонстантаМенед- жерЗначения. < имя>, который и выполняет непосредственное изменение данных.

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

Во-вторых, для регистра сведений указаны два объекта манипулиро- вания данными. В чистом виде манипулирование данными регистра сведений осуществляется при помощи объекта РегистрСведенийНа- борЗаписей. < имя>.

Однако существует возможность манипулирования записями регистра сведений и при помощи объекта РегистрСведенийМе- неджерЗаписи. < имя>. Но объект РегистрСведенийМенеджерЗапи- си. < имя> работает с данными регистра не напрямую, а через объект РегистрСведенийНаборЗаписей. < имя>. Таким образом, модуль набора записей, а также обработчики событий ПередЗаписью() и ПриЗаписи() набора записей будут отрабатывать и при манипу- лировании объектом РегистрСведенийМенеджерЗаписи. < имя>. Однако процедуры и функции, описанные в модуле набора записей с ключевым словом Экспорт, не будут доступны как методы объекта РегистрСведенийМенеджерЗаписи. < имя>.


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...