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

1. // Глобальный контекст. // РегистрыСведений. 2. // объект РегистрыСведенийМенеджер. //.<имя регистра сведений>. // Для Каждого … Из … Цикл … КонецЦикла;




1. // Глобальный контекст

// РегистрыСведений

// Пример: получить текущую цену из периодического регистра сведений " Цены". Элемент = Справочники. Номенклатура. НайтиПоКоду(4);

Отбор = Новый Структура(" Номенклатура", Элемент);

ЗначенияРесурсов = РегистрыСведений. Цены. ПолучитьПоследнее(ТекущаяДата(), Отбор); Цена = ЗначенияРесурсов. Цена;

2. // объект РегистрыСведенийМенеджер

//. < имя регистра сведений>

// [< имя регистра сведений> ]

// Для Каждого … Из … Цикл … КонецЦикла;

// Пример: Получить начальную цену из периодического регистра сведений Цены. ИмяРегистра = " Цены";

Услуга = Справочники. Номенклатура. НайтиПоНаименованию(" Диагностика" ); Отбор = Новый Структура;

Отбор. Вставить(" Номенклатура", Услуга );

Цена = РегистрыСведений[ ИмяРегистра ]. ПолучитьПервое(ТекущаяДата(), Отбор). Цена;

3. // объект РегистрСведенийМенеджер. < имя>

// СоздатьКлючЗаписи()

// Пример: активизировать требуемую строку списка регистра сведений. СтруктураКлючевыхПолей = Новый Структура; СтруктураКлючевыхПолей. Вставить(" Период", Дата(" 20040331000000" )); СтруктураКлючевыхПолей. Вставить(

" Номенклатура", Справочники. Номенклатура. НайтиПоКоду(" 0000006" )); Элементы. Материалы. ТекущаяСтрока = РегистрыСведений. Цены. СоздатьКлючЗаписи (

СтруктураКлючевыхПолей);


Краткий справочник разработчика 927

 

4. // объект РегистрСведенийМенеджер. < имя>

// СоздатьНаборЗаписей()

// Пример: показать номенклатуру, цена на которую была установлена в заданную дату и время. Набор = РегистрыСведений. Цены. СоздатьНаборЗаписей (); Набор. Отбор. Период. Установить(ЗаданнаяДата, Истина);

Набор. Прочитать();

Для Каждого ОчереднаяЗапись Из Набор Цикл Сообщить(" Номенклатура =

" + ОчереднаяЗапись. Номенклатура +", цена = " + ОчереднаяЗапись. Цена);

КонецЦикла;

5. // объект РегистрСведенийМенеджер. < имя>

// СоздатьМенеджерЗаписи()

// Пример: добавить новое значение цены в регистр " Цены". Запись = РегистрыСведений. Цены. СоздатьМенеджерЗаписи (); Запись. Период = ТекущаяДата();

Запись. Номенклатура = Справочники. Номенклатура. НайтиПоКоду(" 0000005" ); Запись. Цена = 568;

Запись. Записать();

6. // объект РегистрСведенийНаборЗаписей. < имя>

// [< индекс элемента коллекции> ]

// Для Каждого … Из … Цикл … КонецЦикла;

// Пример: показать номенклатуру, цена на которую была установлена в заданную дату и время. Набор = РегистрыСведений. Цены. СоздатьНаборЗаписей(); Набор. Отбор. Период. Установить(ЗаданнаяДата, Истина);

Набор. Прочитать();

Для КаждогоОчереднаяЗапись ИзНабор Цикл

Сообщить(" Номенклатура =

" + ОчереднаяЗапись. Номенклатура + ", цена = " + ОчереднаяЗапись. Цена);

КонецЦикла;

7. // объект РегистрСведенийВыборка. < имя>

// ПолучитьМенеджерЗаписи()

// Пример: удалить все записи регистра сведений за текущий месяц. Выборка = РегистрыСведений. Цены. Выбрать(

НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата())); Пока Выборка. Следующий() цикл Выборка.

ПолучитьМенеджерЗаписи (). Удалить(); КонецЦикла;

8. // объект РегистрСведенийМенеджер. < имя>

// Выбрать()

// ВыбратьПоРегистратору()

// Пример: показать изменение цен на элемент номенклатуры в течение года.

Отбор = Новый Структура(" Номенклатура", Справочники. Номенклатура. НайтиПоКоду(" 0000005" )); Выборка = РегистрыСведений. Цены. Выбрать (НачалоГода(ТекущаяДата()), ТекущаяДата(), Отбор); Пока Выборка. Следующий() цикл

Сообщить(" Дата = " + Выборка. Период + ", цена = " + Выборка. Цена); КонецЦикла;


Последовательность событий при сохранении данных из формы записи регистра сведений (записать и закрыть)

 

Рис. 29. 17. Последовательность событий при сохранении данных из формы записи регистра сведений


 

 

пРиМеЧАние

Заливкой выделены события, выполняющиеся в транзакции записи.

 

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

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


Поделиться:





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



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