Регистр сведений в 1С Предприятии, предназначен для хранения периодической или не периодической информации в разрезе измерений. Данные в другие типы регистров могут быть записаны только с использованием "Документа регистратора". А в Регистр сведений данные могут быть записаны как с "Регистратором" так и без него.
Выбрать записи из регистра сведений Используя метод "Выбрать" можно установить отборы и задать период для выбора записей, а также задать сортировку записей.
Валюта = Справочники.Валюты.НайтиПоНаименованию("EUR"); Отбор = Новый Структура("Валюта"); Отбор.Валюта = Валюта; Выборка = РегистрыСведений.КурсыВалют.Выбрать(,,Отбор);
Пока Выборка.Следующий() Цикл
МенеджерЗаписи = Выборка.ПолучитьМенеджерЗаписи(); МенеджерЗаписи.Прочитать(); //Изменить существующую запись МенеджерЗаписи.Валюта = Валюта; МенеджерЗаписи.Период = ТекущаяДата(); МенеджерЗаписи.Курс = 10.00; МенеджерЗаписи.Записать(); //Удалить существующую запись МенеджерЗаписи.Удалить();
КонецЦикла;
Добавить, изменить, удалить запись Менеджер записи позволяет добавлять, изменять, удалять запись регистра сведений не подчиненного регистратору.
МенеджерЗаписи = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи(); Валюта = Справочники.Валюты.НайтиПоНаименованию("EUR"); МенеджерЗаписи.Валюта = Валюта; МенеджерЗаписи.Период = ТекущаяДата(); МенеджерЗаписи.Прочитать();
Если НЕ МенеджерЗаписи.Выбран() Тогда //Добавить новую запись МенеджерЗаписи.Валюта = Валюта; МенеджерЗаписи.Период = ТекущаяДата(); МенеджерЗаписи.Курс = 10.00; Иначе //Изменить существующую запись МенеджерЗаписи.Валюта = Валюта; МенеджерЗаписи.Период = ТекущаяДата(); МенеджерЗаписи.Курс = 10.00; КонецЕсли; //После добавления или изменения записи //необходимо вызвать метод Записать МенеджерЗаписи.Записать();
//Удалить существующую запись МенеджерЗаписи.Удалить();
Добавить, изменить, удалить набор записей Через набор записей регистра сведений можно добавить или изменить сразу несколько записей. Набор записей позволяет устанавливать отборы.
НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); Валюта = Справочники.Валюты.НайтиПоНаименованию("EUR"); НаборЗаписей.Отбор.Валюта.Установить(Валюта); НаборЗаписей.Отбор.Период.Установить(НачалоДня(ТекущаяДата())); НаборЗаписей.Прочитать();
Если НаборЗаписей.Количество() = 0 Тогда //Добавление новой записи НоваяЗапсиь = НаборЗаписей.Добавить(); НоваяЗапсиь.Валюта = Валюта; НоваяЗапсиь.Период = ТекущаяДата(); НоваяЗапсиь.Курс = 10.00; Иначе //Изменение существующей записи НаборЗаписей[0].Валюта = Валюта; НаборЗаписей[0].Период = ТекущаяДата(); НаборЗаписей[0].Курс = 10.00; КонецЕсли;
//Удалить существующую запись НаборЗаписей.Удалить(НаборЗаписей[0]);
//После добавления, изменения, удаления записей //необходимо вызвать метод Записать НаборЗаписей.Записать();
Очистить регистр сведений Полностью очистить регистр сведений можно несколькими способами. Один из самых простых способов - это удалить регистр сведений из дерева метаданных, а затем заново его создать. В таком варианте перед удалением
необходимо запомнить или записать структуру данных и настройки регистра, чтобы потом создать аналогичный. Если необходимо удалить все записи регистра сведений программно, то можно воспользоваться пустым набором записей.
//Удаление всех записей регистра сведений ЦеныНоменклатуры НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей(); НаборЗаписей.Записать();
|