Бром позволяет формировать выборки из объектных коллекций 1С с учетом сложных отборов и сортировок. Выборки представляют собой перечисляемые множества ссылок на объекты, которые удовлетворяют заданным условиям. Например можно выбрать всю номенклатуру, входящую в группу "Мебель":
// Выборка номенклатуры из группы "Мебель"
// Получаем ссылку на группу
dynamic группаМебель = клиент.Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
// Создаем селектор справочника "Номенклатура"
Селектор текСелектор = клиент.Справочники.Номенклатура.СоздатьСелектор();
// Указываем поля выборки, устанваливаем отборы и сортировки
текСелектор.
Выбрать("Наименование, Код, Производитель, Производитель.ИНН").
Где("ЭтоГруппа", false).
Где("Ссылка", группаМебель, ВидСравнения.ВИерархии).
Упорядочить("Производитель").
Упорядочить("Наименование", НаправлениеСортирвки.Убывание);
// Выводим на экран результат выборки
foreach (dynamic текСсылка in текСелектор) {
Console.WriteLine("Наименование: {0}; Код: {1}; Производитель: {2}; ИНН: {3}",
текСсылка.Наименование,
текСсылка.Код,
текСсылка.Производитель,
текСсылка.Производитель.ИНН
);
}
// Сохраняем результат выборки в массив для последующего использования
Ссылка[] результат = текСелектор.ВыгрузитьРезультат();
// Выборка номенклатуры из группы "Мебель"
// Получаем ссылку на группу
$группаМебель = $клиент->Справочники->Номенклатура->НайтиПоНаименованию("Мебель");
// Создаем селектор справочника "Номенклатура"
$текСелектор = $клиент->Справочники->Номенклатура->СоздатьСелектор();
// Устанваливаем отборы и сортировки
$текСелектор->
Выбрать("Наименование, Код, Производитель, Производитель.ИНН")->
Где("ЭтоГруппа", false)->
Где("Ссылка", $группаМебель, ВидСравнения::ВИерархии())->
Упорядочить("Производитель")->
Упорядочить("Наименование", НаправлениеСортирвки::Убывание());
// Выводим на экран результат выборки
foreach ($текСелектор as $текСсылка) {
echo("
Наименование: {$текСсылка->Наименование};
Код: {$текСсылка->Код};
Производитель: {$текСсылка->Производитель};
ИНН: {$текСсылка->Производитель->ИНН}
");
}
// Сохраняем результат выборки в массив для последующего использования
$результат = $текСелектор->ВыгрузитьРезультат();
# Выборка номенклатуры из группы "Мебель"
# Получаем ссылку на группу
группаМебель = клиент.Справочники.Номенклатура.НайтиПоНаименованию("Мебель")
# Создаем селектор справочника "Номенклатура"
текСелектор = клиент.Справочники.Номенклатура.СоздатьСелектор()
# Устанваливаем отборы и сортировки
текСелектор.\
Выбрать("Наименование, Код, Производитель, Производитель.ИНН").\
Где("ЭтоГруппа", False).\
Где("Ссылка", группаМебель, ВидСравнения.ВИерархии).\
Упорядочить("Производитель").\
Упорядочить("Наименование", НаправлениеСортирвки.Убывание)
# Выводим на экран результат выборки
for текСсылка in текСелектор:
print(
"Наименование: {0}; Код: {1}; Производитель: {2}; ИНН: {3}".format(
текСсылка.Наименование,
текСсылка.Код,
текСсылка.Производитель,
текСсылка.Производитель.ИНН
)
)
# Сохраняем результат выборки в массив для последующего использования
результат = текСелектор.ВыгрузитьРезультат()