Работа с объектами на основе табличной модели. Запросы и обработки в среде 1с 8.2
Табличная модель подразумевает работу с данными на основе запросов.
Запрос – агрегатный объект используемый для выборки данных аналогичный сквл в релящионных базах данных.
Для задания содержания запроса используется специальный язык аналогичный SQL
Пример содержания запроса.
"ВЫБРАТЬ
| Номенклатура.Наименование,
| Номенклатура.ЦенаПродажи,
| Номенклатура.ВидНоменклатуры,
| Номенклатура.ОсновнаяЕдиницаИзмерения
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
"ВЫБРАТЬ
| Номенклатура.ВидНоменклатуры,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Номенклатура.Наименование) КАК | Наименование,
| МИНИМУМ(Номенклатура.ЦенаПокупки) КАК ЦенаПокупки
| ИЗ
| Справочник.Номенклатура КАК Номенклатура
| СГРУППИРОВАТЬ ПО
| Номенклатура.ВидНоменклатуры"
Обычно работа с запросами включает следующие этапы.
· Создание запроса Запрос1 = Новый Запрос;
· Задание содержания запроса Запрос1.Текст =
"ВЫБРАТЬ
· Выполнение запроса Запрос.Выполнить();
· Обработка результатов запроса
Создание запросов выполняется как создание объектов в среде 1с, с помощью конструктора Новый.
Запрос1 = Новый Запрос;
Задание содержания запроса – задание его свойства "Текст".
Запрос1.Текст =
"ВЫБРАТЬ
| Номенклатура.ВидНоменклатуры,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Номенклатура.Наименование) КАК Наименование,
| МИНИМУМ(Номенклатура.ЦенаПокупки) КАК ЦенаПокупки
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ЛОЖЬ
|
|СГРУППИРОВАТЬ ПО
| Номенклатура.ВидНоменклатуры";
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Для создания запросов в тексте модуля можно воспользоваться конструктором запросов.
Рис.1.59. Вызов конструктора запроса.
Рис.1.60. Вызов конструктора запросов с обработкой результатов
Рис.1.61. Формирование текста запроса в конструкторе запросов
Кнопка "запрос" позволяет показать результаты.
В результате работы конструктора будет создан такой текст запроса
&НаСервере
Процедура ВыполнитьЗапросСервер() //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Наименование,
| Номенклатура.ЦенаПродажи,
| Номенклатура.ВидНоменклатуры,
| Номенклатура.ОсновнаяЕдиницаИзмерения
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки
[ИмяПоля]
ВыборкаДетальныеЗаписи
КонецЦикла;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
Дата добавления: 2017-08-01; просмотров: 178;