1С Предприятие 8.0. Описание встроенного языка

         

Основные приемы работы


Основные приемы работы с запросами во встроенном языке 1С:Предприятия удобнее всего рассматривать на примерах. При­ведем типичный пример использования запроса:

// Создадим Запрос

Запрос = Новый Запрос("ВЫБРАТЬ Товар.Наименование Наименование,

| Товар.Родитель.Наименование НаименованиеРодителя

|        ИЗ Справочник.Товары Товар");

// Выполним запрос и запишем результат в переменную РезультатЗапроса.

РезультатЗапроса = 3апрос.Выполнить();

// Получим выборку из результата запроса.

Выборка = РезультатЗапроса.Выбрать();

// Пока в выборке есть записи ...

Пока Выборка.Следующий() Цикл

    // ... выведем в окно сообщений поля из результата.

    Товар = Выборка.Наименование;



    Родитель = Выборка.НаименованиеРодителя;

    Сообщить("Товар: " + Товар + " Родитель: " + Родитель);

КонецЦикла ;

Как видно из этого примера, работа с запросом ведется при по­мощи трех основных объектов:

• Запрос - объект, выполняющий сам запрос. Представлен в примере переменной с именем Запрос.

• РезультатЗапроса - объект, содержащий полученные при выполнении запроса данные. Представлен в примере пе­ременной с именем РезультатЗапроса.

• ВыборкаИзРезультатаЗапроса - объект, позволяющий обходить (т.е. перебрать) записи из результата. Представлен в примере переменной с именем Выборка.

Рассмотрим

подробнее объект ВыборкаИзРезультатаЗапроса. Для этого нам понадобится следующий запрос:

Выбрать

    Товар, Количество

Из

    Документ.РасхНакл.Состав

Упорядочить по

    Товар

Итоги

    Сумма(Количество) По Товар,

    Товар Иерархия

Его результат представлен в таблице:

Товар Количество
1 Сантехника 104
2 Кран 84
3 Кран 10
4 Кран 8
5 Кран 44
6 Кран 22
7 Смеситель 20
8 Смеситель 5
9 Смеситель 1
10 Смеситель 14
11 Мебель 134
12 Стол 26
13 Стол 1
14 Стол 15
15 Стол 10
16 Стул 108
17 Стул 55
18 Стул 5
19 Стул 32
20 Стул 16

В этой таблице мы добавили столбец №, которого нет в резуль­тате запроса, но который будет использоваться нами в дальней­шем для идентификации записи в результате. Итоговые записи в таблице выделены курсивом, итоговые записи для иерархических уровней справочника выделены жирным шрифтом.



Содержание раздела