Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОО_ИСБУ_Лек1.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
374 Кб
Скачать
☆

Модуль набора записей

У набора записей регистра есть собственный модуль, который открывается из окна редактирования свойств регистра.

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

В модуле набора записей регистра могут располагаться процеду­ры-обработчики событий ПередЗаписью и ПриЗаписи:

ПередЗаписью

Это событие возникает перед записью набора регистра све­дений. В процедуре-обработчике можно проверить набор записей на наличие ошибок и отказаться от записи.

ПриЗаписи

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

Процедура ПриЗаписи(Отказ, Замещение)

// Вставить содержимое обработчика.

КонецПроцедуры

Выборка из регистра сведений

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

Выборка = РегистрыСведений.КурсыВалют.Выбрать();

Пока Выборка.Следующий() Цикл

Сообщить(СокрЛП(Выборка.Валюта) + " " + СокрЛП(

Выборка. Период) + " " + СокрЛП(Выборка.Курс));

КонецЦикла;

Выборку можно ограничить только нужными записями, исполь­зуя параметры метода Выбрать.

Синтаксис метода Выбрать следующий:

• Для непериодического регистра сведений:

Выбрать ( <0тбор>, <Порядок>)

• Для периодического регистра сведений:

Выбрать{<Начало интервала>, <Конец интервала>, <0тбор>, <Порядок>)

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

Параметры Начало интервала и Конец интервала позволяют задать границы интервала и могут иметь тип «дата», МоментВремени или Граница.

Приведем пример выборки записей периодического регистра све­дений за определенный период по заданной валюте:

Нач = Новый МоментВремени(ВыбДатаВремяНачала);

Кон = Новый Граница(ВыбДатаВремяОкончания,ВидГраницы.Включая);

Отбор = Новый Структура("Валюта", ВыбВалюта);

Выборка = РегистрыСведений.КурсыВалют.Выбрать(Нач,Кон,Отбор);

Пока Выборка.Следующий() Цикл

Сообщить (СокрЛП(Выборка.Валюта) + " " + СокрЛП(Выборка.Период) + " " +

СокрЛП(Выборка.Курс));

КонецЦикла;

Описание менеджера записи регистра сведений

Для операций над одной записью регистра сведений применяется объект РегистрСведенийМенеджерЗаписи. Этот объект существует только у независимого регистра сведений, т.е. не подчиненного регистратору.

Например, следующая программа удаляет безвозвратно все записи из регистра сведений КурсыВалютРасчетаЗарплаты:

Выборка = РегистрыСведений.КурсыВалютРасчетаЗарплаты.Выбрать();

Пока Выборка.Следующий() Цикл

МенеджерЗаписи = Выборка.ПолучитьМенеджерЗаписи();

МенеджерЗаписи.Удалить();

КонецЦикла;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]