Отбор в регистре сведений 1С

В статье рассказано, как сделать отбор в Регистре сведений 1С разными способами. С примерами.

Для отбора можно использовать только изменения и реквизиты с установленным свойством "Индексировать" или должна стоять галочка "Ведущее".  По ресурсам отбор не осуществляется.

Отбор в регистре сведений 1С

Далее приведу несколько примеров как сделать отбор по регистру сведений.

Пример отбора по одному реквизиту:

ОтборТипЦен = Новый Структура("ТипЦен");
ОтборТипЦен.ТипЦен = ВыбТипЦен;
ЦеныНоменклатуры = РегистрыСведений.ЦеныНоменклатуры;
Выборка = ЦеныНоменклатуры.Выбрать(,,ОтборТипЦен);

В структуру отбора, можно добавить только одно поле для отбора.

Пример отбора по нескольким полям используя запрос:

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущаяДата",ТекущаяДата());
Запрос.УстановитьПараметр("Номенклатура", ВыбНоменклатура);
Запрос.УстановитьПараметр("ТипЦен", ВыбТипЦен);
Запрос.Текст = "ВЫБРАТЬ
|                      ЦеныНоменклатурыСрезПоследних.Номенклатура,
|                      ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
|                      РегистрСведений.ЦеныНоменклатуры.СрезПоследних( &ТекущаяДата,
|
|                      ТипЦен = &ТипЦен И Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних";

В примере происходит выборка цен с отбором по номенклатуре и по типу цен на текущую дату.

Пример отбора по нескольким полям и без запроса:

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

В данном примере я создаю набор записей по регистру сведений, и устанавливаю отбор по измерениям «Номенклатура» и «ТипЦен». Не забывать про оператор «Прочитать()» чтобы получить данные. Далее идет цикл по элементам, которые попали в отбор.

2 thoughts on “Отбор в регистре сведений 1С

  1. Kamertonchikget

    Привет, #uname!

  2. geomineral.ru

    Типичный пример использования регистра сведений хранение информации о курсе валют в разрезе валюты и периода.

Добавить комментарий

Имя