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

Проведение отбора необходимой информации из регистра сведений возможно при помощи нескольких способов.

Во-первых, можно воспользоваться измерениями или реквизиты, предусматривающие индексацию, и отмеченные статусом «Ведущее». Использование ресурсов для проведения операций отбора не предусматривается.

Ниже представлено несколько вариантов выполнения отбора данных из существующего реестра сведений.

Отбор по единственному реквизиту

ОтборТипЦен = Новый Структура(«ТипЦен»);

ОтборТипЦен.ТипЦен = ВыбТипЦен;

ЦеныНоменклатуры = РегистрыСведений.ЦеныНоменклатуры;

Выборка = ЦеныНоменклатуры.Выбрать(,,ОтборТипЦен);

В структуру предусматривается включение единственного поля для проведения отбора

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

Запрос = Новый Запрос;

Запрос.УстановитьПараметр(«ТекущаяДата»,ТекущаяДата());

Запрос.УстановитьПараметр(«Номенклатура», ВыбНоменклатура);

Запрос.УстановитьПараметр(«ТипЦен», ВыбТипЦен);

Запрос.Текст = «ВЫБРАТЬ

| ЦеныНоменклатурыСрезПоследних.Номенклатура,

| ЦеныНоменклатурыСрезПоследних.Цена

|ИЗ

| РегистрСведений.ЦеныНоменклатуры.СрезПоследних( &ТекущаяДата,

|

| ТипЦен = &ТипЦен И Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних»;

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

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

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

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

РегистрСведений.Отбор.ТипЦен.Установить(ВыбТипЦен);

РегистрСведений.Прочитать();

Для Каждого СтрокаРегистраСведений Из РегистрСведений Цикл

КонецЦикла;

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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *