Главная » Файлы » Справка на Примерах 1С » Регистры Сведений

Скачивать материалы с сайта, могут только зарегистрированные пользователи.
Для регистрации заполните два поля ниже!

Через минуту Вы получите "Гостевой доступ"




Регистры сведений описание 1с 8
2012 Май 23, 20:43

 

 

 

 

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

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

        //     .<имя регистра сведений>
    //     [<имя регистра сведений>]
        //     Для Каждого … Из … Цикл … КонецЦикла;

// Пример: Открыть форму списка регистра сведений Цены
ИмяРегистра = "Цены";
Форма = РегистрыСведений[ИмяРегистра].ПолучитьФормуСписка();
Форма.Открыть();

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

// Пример: Активизировать требуемую строку списка регистра сведений
СтруктураКлючевыхПолей = Новый Структура;
СтруктураКлючевыхПолей.Вставить("Период", Дата("20040331000000"));
СтруктураКлючевыхПолей.Вставить("Номенклатура", Справочники.Номенклатура.НайтиПоКоду("0000006"));
ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока = РегистрыСведений.Цены.СоздатьКлючЗаписи(СтруктураКлючевыхПолей);

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

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


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

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

    //     [<индекс элемента коллекции>]
        //     Для Каждого … Из … Цикл … КонецЦикла;

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

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

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

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

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


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

 

 

 

 

Категория: Регистры Сведений | Добавил: c1
Просмотров: 4359 | Загрузок: 0 | Рейтинг: 5.0/1

Выразить благодарность - Поделиться с друзьями!

 

Здесь все о технической стороне 1С!

 

Узнай, как правильно администрировать 1С Предприятие
Регистрируйся на бесплатный 7-ми дневный курс сейчас:

Ваш E-Mail в безопасности



Всего комментариев: 0
avatar