|
|
2.Работа с запросами. |
|
|
|
|
|
|
№№ |
|
|
|
1 |
ЭТО_КЛЮЧЕВОЕ_СЛОВО <Это_конструкция_языка>,
<Это_конструкция_языка> ЭТО_ФУНКЦИЯ ( <Это_конструкция_языка>
) |
|
|
2 |
[ЭТО_НЕОБЯЗАТЕЛЬНОЕ_СЛОВО] [<Это_необязательная_конструкция>] |
|
|
3 |
ЛИБО_ЭТО_СЛОВО | ЛИБО_ЭТО_СЛОВО <Либо_эта_конструкция>
| <Либо_эта_конструкция> |
|
|
4 |
// Это комментарий |
|
|
5 |
ЗНАЧЕНИЕ(<ПредставлениеЗначения>) |
|
|
6 |
<ИмяСистемногоПеречисления>.<Значение> |
|
|
7 |
<ТипПредопределенногоЗначения>.<ИмяОбъектаМетаданных>.<Значение> |
|
|
8 |
БизнесПроцесс.<ИмяОбъектаМетаданных>.ТочкаМаршрута.<ИмяТочкиМаршрута> |
|
|
9 |
ГДЕ Город = ЗНАЧЕНИЕ(Справочник.Города.Москва) ГДЕ Город = ЗНАЧЕНИЕ(Справочник.Города.ПустаяСсылка) ГДЕ ТипТовара =
ЗНАЧЕНИЕ(Перечисление.ВидыТоваров.Услуга) ГДЕ ВидДвижения
= ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ГДЕ ТочкаМаршрута
= ЗНАЧЕНИЕ(БизнесПроцесс.Согласование.ТочкаМаршрута.Согласие) |
|
|
10 |
<Описание запроса> [<Объединение запросов>] [<Упорядочивание результатов>] [АВТОУПОРЯДОЧИВАНИЕ] [<Описание итогов>] |
|
|
11 |
ВЫБРАТЬ [РАЗРЕШЕННЫЕ] [РАЗЛИЧНЫЕ] [ПЕРВЫЕ
<Количество>]
<Список полей выборки> [ИЗ <Список источников>] [ГДЕ <Условие отбора>] [СГРУППИРОВАТЬ ПО <Поля
группировки>] [ИМЕЮЩИЕ <Условие отбора>] [ДЛЯ ИЗМЕНЕНИЯ [<Список таблиц
верхнего уровня>]] |
|
|
12 |
// В отчет необходимо вывести список
товарных накладных. Выбрать Документ.РасходнаяНакладная.Ссылка |
|
|
13 |
// Необходимо узнать, каким вообще
контрагентам // отгружался товар за период. Выбрать Документ.РасходнаяНакладная.Контрагент |
|
|
14 |
Выбрать Различные Документ.РасходнаяНакладная.Контрагент |
|
|
15 |
// Необходимо отобрать пять самых дорогих
товаров. // Выборка должна осуществляться в
порядке убывания цены товара. Выбрать Первые 5 Справочник.Номенклатура.Наименование, Справочник.Номенклатура.ЗакупочнаяЦена Упорядочить По Справочник.Номенклатура.ЗакупочнаяЦена
Убыв |
|
|
16 |
<Поле выборки>[, <Поле
выборки>[, …]] | * |
|
|
17 |
<Описание поля> [[КАК] <Псевдоним
поля>] |
|
|
18 |
<Выражение>[.<Группа
полей>]|<Описание пустой таблицы> |
|
|
19 |
ПУСТАЯТАБЛИЦА.(<Список
псевдонимов>) |
|
|
20 |
[<Псевдоним поля>][,<Список
псевдонимов>] |
|
|
21 |
// Необходимо выбрать из справочника
товаров // наименования товаров и наименования
групп. Выбрать Справочник.Номенклатура.Наименование
Как Товар, Справочник.Номенклатура.Родитель.Наименование
Как Группа Из Справочник.Номенклатура |
|
|
22 |
( <Список вложенных полей> ) | * |
|
|
23 |
<Вложенное поле>[, <Вложенное
поле>[, …]] |
|
|
24 |
<Выражение> [[КАК] <Псевдоним
поля>] |
|
|
25 |
<Выражение> [[КАК] <Псевдоним
поля>] |
|
|
26 |
// В отчет необходимо вывести
спецификацию товарных накладных - // сам документ, номенклатуру и количество. Выбрать Документ.РасходнаяНакладная.Ссылка, Документ.РасходнаяНакладная.Состав.(Номенклатура
Как Товар,
Количество) |
|
|
27 |
ВЫБРАТЬ Ссылка.Номер,
ПУСТАЯТАБЛИЦА.(Ном, Тов, Кол) КАК Состав ИЗ Документ.РасходнаяНакладная ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Ссылка.Номер,
Состав.(НомерСтроки, Номенклатура, Количество) ИЗ Документ.РасходнаяНакладная |
|
|
28 |
<Источник>[, <Источник>[, …]] |
|
|
29 |
<Описание источника> [ <Перечень
соединений> ] |
|
|
30 |
<Таблица> [[КАК] <Псевдоним источника>] |
|
|
31 |
<Таблица> [[КАК] <Псевдоним
источника>] |
|
|
32 |
<Имя таблицы>[(<Параметры>)]
| (<Описание запроса>) |
|
|
33 |
ВЫБРАТЬ Контрагенты.Ссылка
как Контрагент, ТипыЦен.Ссылка
КАК ТипЦены ИЗ Справочник.Контрагенты
КАК Контрагенты, Справочник.ТипыЦен
КАК ТипыЦенРезультат |
|
|
34 |
<Соединение> [<Перечень
соединений>] |
|
|
35 |
[ВНУТРЕННЕЕ] СОЕДИНЕНИЕ <Описание
источника> ПО <Условие отбора> | ЛЕВОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ <Описание
источника> ПО <Условие отбора> | ПРАВОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ <Описание
источника> ПО <Условие отбора> | ПОЛНОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ <Описание
источника> ПО <Условие отбора> |
|
|
36 |
ВЫБРАТЬ Компании.Наименование КАК Компания, Контакты.Наименование КАК Контакт ИЗ Справочник.Контакты КАК Контакты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Компании
КАК Компании
ПО Контакты.Компания = Компании.Ссылка |
|
|
37 |
ВЫБРАТЬ Контакты.Наименование КАК Контакт, Компании.Наименование КАК Компания ИЗ Справочник.Контакты КАК Контакты ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Компании
КАК Компании
ПО Контакты.Компания = Компании.Ссылка |
|
|
38 |
ВЫБРАТЬ Контакты.Наименование КАК Контакт, Компании.Наименование КАК Компания ИЗ Справочник.Контакты КАК Контакты
ПРАВОЕ СОЕДИНЕНИЕ Справочник.Компании КАК
Компании
ПО Контакты.Телефон = Компании.Телефон |
|
|
39 |
ВЫБРАТЬ Контакты.Наименование КАК Контакт, Компании.Наименование КАК Компания ИЗ Справочник.Компании КАК Компании
ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Контакты КАК Контакты
ПО (Контакты.Телефон = Компании.Телефон) |
|
|
40 |
ВЫБРАТЬ Товар.Наименование, Товар.Родитель ИЗ Справочник.Номенклатура КАК Товар |
|
|
41 |
// В отчет необходимо вывести
спецификацию товарных накладных - // показать сам документ, номенклатуру и
количество. // В списке источников указана вложенная
таблица "Состав" - // табличная часть накладной. // Выборка ограничена восемью записями,
чтобы не перегружать пример. ВЫБРАТЬ ПЕРВЫЕ 8 РасходнаяНакладнаяСостав.Ссылка, РасходнаяНакладнаяСостав.Номенклатура, РасходнаяНакладнаяСостав.Количество ИЗ Документ.РасходнаяНакладная.Состав КАК РасходнаяНакладнаяСостав |
|
|
42 |
ВЫБРАТЬ ВложенныйЗапрос.Ссылка, ВложенныйЗапрос.Номенклатура, ВложенныйЗапрос.Количество ИЗ
(ВЫБРАТЬ ПЕРВЫЕ 8
РасходнаяНакладнаяСостав.Ссылка КАК Ссылка,
РасходнаяНакладнаяСостав.Номенклатура КАК
Номенклатура,
РасходнаяНакладнаяСостав.Количество КАК
Количество
ИЗ Документ.РасходнаяНакладная.Состав
КАК РасходнаяНакладнаяСостав) КАК ВложенныйЗапрос |
|
|
43 |
// Необходимо выяснить, какие контрагенты
являются частными лицами. ВЫБРАТЬ Контрагенты.Наименование ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Вид
= ЗНАЧЕНИЕ(Перечисление.ВидыКонтрагентов.ЧастноеЛицо) |
|
|
44 |
// Требуется получить статистику по
продаже товаров: // максимальную, минимальную и среднюю
цены в расходных накладных. Выбрать Накладная.Номенклатура,
Среднее (Накладная.Цена) Как Среднее,
Максимум(Накладная.Цена) Как Максимум,
Минимум (Накладная.Цена) Как Минимум Из Документ.РасходнаяНакладная.Состав Как Накладная Сгруппировать По Накладная.Номенклатура |
|
|
45 |
// Необходимо выбрать товары, которых
продали более 20 штук. ВЫБРАТЬ Накладная.Номенклатура,
СУММА(Накладная.Количество) КАК Количество ИЗ Документ.РасходнаяНакладная.Состав КАК Накладная СГРУППИРОВАТЬ ПО Накладная.Номенклатура ИМЕЮЩИЕ
СУММА(Накладная.Количество) > 20 |
|
|
46 |
ОБЪЕДИНИТЬ [ВСЕ] <Описание запроса> [<Объединение запросов>] |
|
|
47 |
ВЫБРАТЬ Приход.Номенклатура КАК Товар,
СУММА(Приход.Количество) КАК Приход,
СУММА(0) КАК Расход ИЗ Документ.ПриходнаяНакладная.Состав КАК Приход СГРУППИРОВАТЬ ПО Приход.Номенклатура ОБЪЕДИНИТЬ ВЫБРАТЬ Расход.Номенклатура,
СУММА(0),
СУММА(Расход.Количество) ИЗ Документ.РасходнаяНакладная.Состав КАК Расход СГРУППИРОВАТЬ ПО Расход.Номенклатура |
|
|
48 |
УПОРЯДОЧИТЬ ПО <Условия
упорядочивания> |
|
|
49 |
<Поле упорядочивания>
[<Порядок>] [, <Поле упорядочивания>
[<Порядок>][, …]] |
|
|
50 |
<Выражение> <Порядок> ВОЗР |
УБЫВ | ИЕРАРХИЯ | ИЕРАРХИЯ УБЫВ |
|
|
51 |
// Требуется отобрать 5 самых дорогих
товаров, // расположив их в порядке убывания цены. ВЫБРАТЬ ПЕРВЫЕ 5 Номенклатура.Наименование, Номенклатура.ЗакупочнаяЦена ИЗ Справочник.Номенклатура КАК Номенклатура УПОРЯДОЧИТЬ ПО Номенклатура.ЗакупочнаяЦена УБЫВ |
|
|
52 |
ВЫБРАТЬ Справочник.Номенклатура.Наименование, Справочник.Номенклатура.ПолноеНаименование УПОРЯДОЧИТЬ ПО Справочник.Номенклатура.Наименование Иерархия |
|
|
53 |
ВЫБРАТЬ РасходнаяНакладная.Контрагент.Наименование, РасходнаяНакладная.Номер, РасходнаяНакладная.Склад, ИЗ Документ.РасходнаяНакладная КАК РасходнаяНакладная |
|
|
54 |
ВЫБРАТЬ Контрагенты.Наименование КАК Наименование, РасходнаяНакладная.Номер, РасходнаяНакладная.Склад ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная
КАК РасходнаяНакладная ПО Контрагенты.Ссылка
= РасходнаяНакладная.Контрагент УПОРЯДОЧИТЬ ПО
Наименование ИЕРАРХИЯ |
|
|
55 |
// В отчет необходимо вывести
спецификацию товарных накладных - // показать сам документ, номенклатуру и
количество. // Документы требуется упорядочить по
номеру, // а состав — по наименованию товара. Выбрать Документ.РасходнаяНакладная.Ссылка, Документ.РасходнаяНакладная.Состав.(Номенклатура Как
Товар, Количество) Упорядочить По Документ.РасходнаяНакладная.Номер, Документ.РасходнаяНакладная.Состав.Номенклатура.Наименование |
|
|
56 |
<Итоги> [<Описание итогов>] |
|
|
57 |
ИТОГИ [<Список итоговых полей>] ПО
[ОБЩИЕ] <Список контрольных точек> |
|
|
58 |
<Итоговое поле> [,<Список
итоговых полей> [, …]] |
|
|
59 |
<Агрегатная функция> |
<Выражение> [[КАК] <Псевдоним поля>] |
|
|
60 |
<Контрольная точка> [,
<Контрольная точка> [, …]] |
|
|
61 |
<Выражение> [[ТОЛЬКО] ИЕРАРХИЯ] |
[ПЕРИОДАМИ(Секунда | Минута | Час | День | Неделя | Месяц | Квартал | Год |
Декада | Полугодие [,<Литерал типа DATE> |
<Идентификатор параметра>] [,<Литерал типа DATE> |
<Идентификатор параметра>])] [[КАК] Псевдоним поля] |
|
|
62 |
ВЫБРАТЬ Документ.Номенклатура КАК Номенклатура, Документ.Количество КАК Количество, Документ.Ссылка.Номер, Документ.Ссылка.Контрагент ИЗ Документ.РасходнаяНакладная.Состав КАК Документ УПОРЯДОЧИТЬ ПО Документ.Номенклатура ИТОГИ
СУММА(Количество) ПО
Номенклатура ИЕРАРХИЯ |
|
|
63 |
ВЫБРАТЬ Документ.Номенклатура КАК Номенклатура, Документ.Количество КАК Количество, Документ.Ссылка.Номер, Документ.Ссылка.Контрагент ИЗ Документ.РасходнаяНакладная.Состав КАК Документ УПОРЯДОЧИТЬ ПО Документ.Номенклатура ИТОГИ
СУММА(Количество) ПО
Номенклатура ТОЛЬКО ИЕРАРХИЯ |
|
|
64 |
// Получить количество покупок по
клиентам по часам выбранного дня ВЫБРАТЬ ПриходнаяНакладная.Контрагент,
НАЧАЛОПЕРИОДА(ПриходнаяНакладная.Дата, ЧАС)
КАК Период,
КОЛИЧЕСТВО(ПриходнаяНакладная.Ссылка) КАК КоличествоПокупок ИЗ Документ.ПриходнаяНакладная КАК ПриходнаяНакладная СГРУППИРОВАТЬ ПО ПриходнаяНакладная.Контрагент,
НАЧАЛОПЕРИОДА(ПриходнаяНакладная.Дата, ЧАС) ИТОГИ
СУММА(КоличествоПокупок) ПО Период ПЕРИОДАМИ(МИНУТА,
ДАТАВРЕМЯ(2006,6,28), ДАТАВРЕМЯ(2006,6,28)) |
|
|
65 |
ВЫБРАТЬ Документ.Номенклатура, Документ.Количество КАК Количество, Документ.Ссылка.Номер, Документ.Ссылка.Контрагент ИЗ Документ.РасходнаяНакладная.Состав КАК Документ ИТОГИ
СУММА(Количество) ПО
ОБЩИЕ |
|
|
66 |
ВЫБРАТЬ Документ.Номенклатура КАК Номенклатура, Документ.Ссылка.Контрагент КАК Контрагент,
СУММА(Документ.Количество) КАК Количество ИЗ Документ.РасходнаяНакладная.Состав КАК Документ СГРУППИРОВАТЬ ПО Документ.Номенклатура, Документ.Ссылка.Контрагент ИТОГИ ПО
Номенклатура,
Контрагент |
|
|
67 |
ВЫБРАТЬ Документ.Номенклатура КАК Номенклатура, Документ.Количество КАК Количество, Документ.Ссылка.Номер, Документ.Ссылка.Контрагент ИЗ Документ.РасходнаяНакладная.Состав КАК Документ УПОРЯДОЧИТЬ ПО Документ.Номенклатура ИТОГИ
СУММА(Количество) ПО
Номенклатура ТОЛЬКО ИЕРАРХИЯ КАК Товары |
|
|
68 |
<Разыменование поля> | <Агрегатная функция> | <Встроенная функция> | <Операция выбора> | <Приведение
типа>[.<Разыменование поля>] | <Значение> | <Выражение> <Бинарная
операция> <Выражение> | <Унарная операция>
<Выражение> | ( <Выражение> ) |
|
|
69 |
+ | — | * | / |
|
|
70 |
— | + |
|
|
71 |
[<Таблица>.]<Имя
поля>[.<Имя поля>[…]] |
|
|
72 |
<Имя таблицы> | <Псевдоним
источника> |
|
|
73 |
СУММА ( <Выражение> ) | СРЕДНЕЕ ( <Выражение> ) | МИНИМУМ ( <Выражение> ) | МАКСИМУМ ( <Выражение> ) | КОЛИЧЕСТВО ( [РАЗЛИЧНЫЕ]
<Выражение> | * ) |
|
|
74 |
ВЫБРАТЬ Накладная.Номенклатура.Наименование,
СУММА(Накладная.Сумма) КАК Сумма,
СРЕДНЕЕ(Накладная.Сумма) КАК Среднее,
МАКСИМУМ(Накладная.Сумма) КАК Максимум,
МИНИМУМ(Накладная.Сумма) КАК Минимум,
КОЛИЧЕСТВО(Накладная.Сумма) КАК Колич ИЗ Документ.РасходнаяНакладная.Состав КАК Накладная СГРУППИРОВАТЬ ПО Накладная.Номенклатура, Накладная.Номенклатура.Наименование ИТОГИ ПО
ОБЩИЕ |
|
|
75 |
ВЫБРАТЬ
КОЛИЧЕСТВО(*) КАК Всего,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Накладная.Номенклатура)
КАК Разные ИЗ Документ.РасходнаяНакладная.Состав КАК Накладная |
|
|
76 |
ПОДСТРОКА ( <Выражение>,
<Значение>, <Значение> ) | ГОД ( <Выражение> ) | КВАРТАЛ ( <Выражение> ) | МЕСЯЦ ( <Выражение> ) | ДЕНЬГОДА ( <Выражение> ) | ДЕНЬ ( <Выражение> ) | НЕДЕЛЯ ( <Выражение> ) | ДЕНЬНЕДЕЛИ ( <Выражение> ) | ЧАС ( <Выражение> ) | МИНУТА ( <Выражение> ) | СЕКУНДА ( <Выражение> ) | НАЧАЛОПЕРИОДА(<Выражение>, Минута |
Час | День | Неделя | Месяц | Квартал | Год | Декада | Полугодие) | КОНЕЦПЕРИОДА(<Выражение>, Минута |
Час | День | Неделя | Месяц | Квартал | Год | Декада | Полугодие) | ДОБАВИТЬКДАТЕ (<Выражение>, Минута
| Час | День | Неделя | Месяц | Квартал | Год | Декада | Полугодие,
<Выражение>) | РАЗНОСТЬДАТ(<Выражение>,
<Выражение>, Секунда | Минута | Час | День | Месяц | Квартал | Год) | ТИПЗНАЧЕНИЯ(<Выражение>) | ПРЕДСТАВЛЕНИЕ(<Выражение>) | ЕСТЬNULL(<Выражение>,
<Выражение>) |
|
|
77 |
ВЫБРАТЬ ПЕРВЫЕ 8 Контрагенты.Наименование,
ПОДСТРОКА(Контрагенты.Наименование, 3, 5)
КАК Подстрока ИЗ Справочник.Контрагенты КАК Контрагенты |
|
|
78 |
ВЫБРАТЬ НАЧАЛОПЕРИОДА(ДАТАВРЕМЯ (2002,
10, 12, 10, 15, 34), МЕСЯЦ) |
|
|
79 |
ВЫБРАТЬ НАЧАЛОПЕРИОДА(ДАТАВРЕМЯ(2002, 10,
12, 10, 15, 34), ДЕНЬ) |
|
|
80 |
ВЫБРАТЬ КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(2002, 10,
12, 10, 15, 34), МЕСЯЦ) |
|
|
81 |
ВЫБРАТЬ КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(2002, 10,
12, 10, 15, 34), ГОД) |
|
|
82 |
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2002, 10, 12, 10, 15, 34), МЕСЯЦ, 1) |
|
|
83 |
ВЫБРАТЬ ДобавитьКДате(ДатаВремя(2002, 10, 12, 10, 15, 34), День, 5) |
|
|
84 |
ВЫБРАТЬ РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10,
12, 10, 15, 34), ДАТАВРЕМЯ(2002, 10, 14, 9, 18, 06), ДЕНЬ) |
|
|
85 |
ВЫБРАТЬ РАЗНОСТЬДАТ(ДатаВремя(2002,
10, 12), ДатаВремя(2002, 11, 03), МЕСЯЦ) |
|
|
86 |
ВЫБРАТЬ
ТИПЗНАЧЕНИЯ(УчетНоменклатуры.Регистратор)
КАК Документ ИЗ РегистрНакопления.УчетНоменклатуры КАК УчетНоменклатуры |
|
|
87 |
ВЫБРАТЬ ПРЕДСТАВЛЕНИЕ(Документ.Контрагент) КАК Получатель,
ПРЕДСТАВЛЕНИЕ(Документ.Дата) КАК Дата ИЗ Документ.РасходнаяНакладная КАК Документ |
|
|
88 |
// Получить сумму по полю Количество. В
случае, если нет // записей, получить 0 ВЫБРАТЬ
ЕСТЬNULL(СУММА(РасходнаяНакладнаяСостав.Количество),
0) ИЗ Документ.РасходнаяНакладная.Состав КАК РасходнаяНакладнаяСостав |
|
|
89 |
ВЫБОР <Альтернативы выбора> [ИНАЧЕ <Выражение>] КОНЕЦ |
|
|
90 |
<Одиночный выбор> [<Альтернативы выбора>] |
|
|
91 |
КОГДА <Логическое выражение> ТОГДА <Выражение> |
|
|
92 |
ВЫБРАТЬ Номенклатура.Наименование,
ВЫБОР
КОГДА Номенклатура.ЭтоГруппа = ИСТИНА
ТОГДА "Это группа"
КОГДА Номенклатура.ЗакупочнаяЦена > 1000
ТОГДА "1000 -"
КОГДА Номенклатура.ЗакупочнаяЦена > 100
ТОГДА "100 — 1000"
КОГДА Номенклатура.ЗакупочнаяЦена > 10
ТОГДА "10 — 100"
КОГДА Номенклатура.ЗакупочнаяЦена > 0
ТОГДА "0 — 10"
ИНАЧЕ "Не задана"
КОНЕЦ КАК Цена ИЗ Справочник.Номенклатура КАК Номенклатура |
|
|
93 |
ВЫРАЗИТЬ ( <Выражение> КАК <Тип
значения> ) |
|
|
94 |
Булево | Число [(Длина[, Точность])]| Строка [(Длина)]| Дата | <Имя таблицы> |
|
|
95 |
Число |
|
|
96 |
ИСТИНА | ЛОЖЬ | <Литерал типа ЧИСЛО> | <Литерал типа СТРОКА> | <Литерал типа ДАТА> | <Литерал типа ТИП> | <Имя параметра> | НЕОПРЕДЕЛЕНО | NULL |
|
|
97 |
<Целое число>[.<Целое число>] |
|
|
98 |
"<Последовательность
символов>" |
|
|
99 |
ДАТАВРЕМЯ ( <Целое число>,
<Целое число>, <Целое число>[,
<Целое число>, <Целое число>, <Целое число>] ) |
|
|
100 |
ТИП(<Имя типа>) |
|
|
101 |
// Получение типа "Строка" ТИП(Строка) // Получение типа — ссылка на справочник
"Номенклатура" ТИП(Справочник.Номенклатура) |
|
|
102 |
ВЫБРАТЬ
ТИПЗНАЧЕНИЯ(Остатки.Регистратор) ИЗ РегистрНакопления.УчетНоменклатуры КАК Остатки ГДЕ ТИПЗНАЧЕНИЯ(Остатки.Регистратор)
= ТИП(Документ.РасходнаяНакладная) |
|
|
103 |
ВЫБРАТЬ
ТИПЗНАЧЕНИЯ(Остатки.Регистратор) ИЗ РегистрНакопления.УчетНоменклатуры КАК Остатки ГДЕ
ТИПЗНАЧЕНИЯ(Остатки.Регистратор) = &Тип |
|
|
104 |
<Логическое слагаемое> [ИЛИ
<Логическое слагаемое>] |
|
|
105 |
<Логический сомножитель> [И
<Логический сомножитель>] |
|
|
106 |
НЕ <Логический сомножитель> | ( <Условие отбора> ) | <Логическое выражение> |
|
|
107 |
<Выражение> | <Выражение> <Операция
сравнения> <Выражение> | <Выражение> [НЕ] В [ИЕРАРХИИ]
(<Список значений>) | <Выражение> [НЕ] В
[ИЕРАРХИИ](<Описание запроса>) | <Выражение> [НЕ] МЕЖДУ
<Выражение> И <Выражение> | <Выражение> ЕСТЬ [НЕ] NULL | <Выражение> ССЫЛКА <Имя
таблицы> | <Выражение> [НЕ] ПОДОБНО
<Литерал типа СТРОКА>
[СПЕЦСИМВОЛ <Литерал типа СТРОКА>] |
|
|
108 |
> | < | = | >= | <= |
<> |
|
|
109 |
<Выражение>[, <Выражение> [,
…]] |
|
|
110 |
ВЫБРАТЬ Номенклатура.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Родитель.Наименование В ("Бытовая техника",
"Оргтехника") |
|
|
111 |
// В качестве параметра Группа в запрос
передается ссылка // на какую-либо группу справочника
Номенклатура. ВЫБРАТЬ Номенклатура.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В ИЕРАРХИИ(&Группа) |
|
|
112 |
ВЫБРАТЬ Номенклатура.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В ИЕРАРХИИ
(ВЫБРАТЬ
Номенклатура.Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Наименование =
"Одежда") |
|
|
113 |
// Выбрать названия товаров, которые
присутствовали // в расходных накладных ВЫБРАТЬ Товары.Наименование ИЗ Справочник.Номенклатура КАК Товары ГДЕ Товары.Ссылка В
(ВЫБРАТЬ
РасходнаяНакладнаяСостав.Номенклатура
ИЗ Документ.РасходнаяНакладная.Состав КАК РасходнаяНакладнаяСостав) |
|
|
114 |
// Выбрать названия товаров, которые
присутствовали // в расходных накладных ВЫБРАТЬ Товары.Наименование ИЗ Справочник.Номенклатура КАК Товары ГДЕ
(НЕ Товары.Ссылка В
(ВЫБРАТЬ
РасходнаяНакладнаяСостав.Номенклатура
ИЗ Документ.РасходнаяНакладная.Состав КАК РасходнаяНакладнаяСостав)) |
|
|
115 |
// Выбрать названия товаров, которые
присутствовали // в расходных накладных ВЫБРАТЬ Товары.Наименование ИЗ Справочник.Номенклатура КАК Товары ГДЕ Товары.Ссылка В
(ВЫБРАТЬ
РасходнаяНакладнаяСостав.Номенклатура
ИЗ Документ.РасходнаяНакладная.Состав КАК РасходнаяНакладнаяСостав
ГДЕ
РасходнаяНакладнаяСостав.Номенклатура = Товары.Ссылка) |
|
|
116 |
ВЫБРАТЬ Номенклатура.Наименование, Номенклатура.ЗакупочнаяЦена ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ЗакупочнаяЦена МЕЖДУ 100 И 1000 |
|
|
117 |
ВЫБРАТЬ Номенклатура.Наименование, Номенклатура.ЗакупочнаяЦена ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ЗакупочнаяЦена ЕСТЬ NULL |
|
|
118 |
ВЫБРАТЬ РасходнаяНакладная.Номер, РасходнаяНакладная.Дата ИЗ Документ.РасходнаяНакладная КАК РасходнаяНакладная ГДЕ РасходнаяНакладная.Контрагент ССЫЛКА Справочник.Контрагенты |
|
|
119 |
"%АБВ[0-9][абвг]\_абв%" СПЕЦСИМВОЛ "\" |
|
|
120 |
// Создадим Запрос Запрос = Новый Запрос("ВЫБРАТЬ Товар.Наименование Наименование, |Товар.Родитель.Наименование НаименованиеРодителя
|ИЗ Справочник.Товары Товар"); // Выполним запрос и запишем результат в
переменную РезультатЗапроса. РезультатЗапроса
= Запрос.Выполнить(); // Получим выборку из результата запроса. Выборка = РезультатЗапроса.Выбрать(); // Пока в выборке есть записи ... Пока Выборка.Следующий()
Цикл
// ... выведем в окно сообщений поля из результата.
Товар = Выборка.Наименование;
Родитель = Выборка.НаименованиеРодителя;
Сообщить("Товар: " + Товар + " Родитель: " +
Родитель); КонецЦикла; |
|
|
121 |
ВЫБРАТЬ РасходнаяНакладнаяСостав.Номенклатура КАК Номенклатура, РасходнаяНакладнаяСостав.Количество КАК Количество ИЗ Документ.РасходнаяНакладная.Состав КАК РасходнаяНакладнаяСостав УПОРЯДОЧИТЬ ПО РасходнаяНакладнаяСостав.Номенклатура ИТОГИ
СУММА(Количество) ПО
Номенклатура ИЕРАРХИЯ |
|
|
122 |
СпособВыборки
= ОбходРезультатаЗапроса.Прямой; Выборка1 = РезультатЗапроса.Выбрать(СпособВыборки); // что равнозначно записи Выборка1 = РезультатЗапроса.Выбрать(); |
|
|
123 |
СпособВыборки
= ОбходРезультатаЗапроса.ПоГруппировкамСИерархией; Выборка2 = РезультатЗапроса.Выбрать(СпособВыборки); |
|
|
124 |
Процедура ВыполнитьЗапрос()
// Создадим запрос.
Запрос = Новый Запрос;
// Установим текст запроса Запрос.Текст = "ВЫБРАТЬ |РасходнаяНакладнаяСостав.Номенклатура КАК Номенклатура, |РасходнаяНакладнаяСостав.Количество КАК Количество
|ИЗ |Документ.РасходнаяНакладная.Состав
КАК РасходнаяНакладнаяСостав
|УПОРЯДОЧИТЬ ПО |РасходнаяНакладнаяСостав.Номенклатура
|ИТОГИ
|СУММА(Количество)
|ПО
|Номенклатура ИЕРАРХИЯ";
// Выполним запрос и запишем результат в переменную
// РезультатЗапроса. РезультатЗапроса = Запрос.Выполнить();
// Получим выборку из результата запроса. СпособВыборки = ОбходРезультатаЗапроса.ПоГруппировкамСИерархией;
Выборка = РезультатЗапроса.Выбрать(СпособВыборки); ВыдатьРекурсивно(Выборка); КонецПроцедуры Процедура ВыдатьРекурсивно(Выборка)
// Пока в выборке есть записи ...
Пока Выборка.Следующий() Цикл
// ... выведем в окно сообщений поля из результата
Товар = Выборка.Наименование;
Количество = Выборка.Количество;
Сообщить("Товар: " + Товар + " Количество: " +
Количество);
// Продолжим выборку подчиненных записей
СпособВыборки = ОбходРезультатаЗапроса.ПоГруппировкамСИерархией;
ВыдатьРекурсивно(Выборка.Выбрать(СпособВыборки, Выборка.Группировка())); КонецЦикла; КонецПроцедуры |
|
|
125 |
СпособВыборки
= ОбходРезультатаЗапроса.ПоГруппировкам; Выборка2 = РезультатЗапроса.Выбрать(СпособВыборки); // Перебрав в ней все, мы получим записи
с номерами: // 1, 2, 7, 11, 12, 16. |
|
|
126 |
Процедура ВыполнитьЗапрос()
// Создадим запрос.
Запрос = Новый Запрос;
// Установим текст запроса Запрос.Текст = "ВЫБРАТЬ |РасходнаяНакладнаяСостав.Номенклатура КАК Номенклатура, |РасходнаяНакладнаяСостав.Количество КАК Количество
|ИЗ |Документ.РасходнаяНакладная.Состав КАК РасходнаяНакладнаяСостав
|УПОРЯДОЧИТЬ ПО |РасходнаяНакладнаяСостав.Номенклатура
|ИТОГИ
|СУММА(Количество)
|ПО
|Номенклатура ИЕРАРХИЯ";
// Выполним запрос и запишем результат в переменную
// РезультатЗапроса. РезультатЗапроса = Запрос.Выполнить();
// Получим выборку из результата запроса СпособВыборки = ОбходРезультатаЗапроса.ПоГруппировкам;
Выборка = РезультатЗапроса.Выбрать(СпособВыборки);
// Пока в выборке есть записи ...
Пока Выборка.Следующий() Цикл
// ... выведем в окно сообщений поля из результата
Товар = Выборка.Наименование;
Количество = Выборка.Количество;
Сообщить("Товар: "+Товар+" Итого по товару:
"+Количество);
ВыдатьДочерниеЗаписи(Выборка.Выбрать()); КонецЦикла; КонецПроцедуры Процедура ВыдатьДочерниеЗаписи
(Выборка)
// Пока в выборке есть записи ...
Пока Выборка.Следующий() Цикл
// ... выведем в окно сообщений поля из результата
Товар = Выборка.Наименование;
Количество = Выборка.Количество; Сообщить("Товар: "+Товар+"
Количество: "+Количество); КонецЦикла; КонецПроцедуры |
|
|
127 |
ВЫБРАТЬ Док.Номенклатура, Док.Ссылка.Контрагент КАК Контрагент, Док.Количество ИЗ Документ.РасходнаяНакладная.Состав КАК Док УПОРЯДОЧИТЬ ПО Док.Номенклатура.Наименование,
Контрагент |
|
|
128 |
Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.СледующийПоЗначениюПоля("Товар")
Цикл
// здесь мы получим записи с номерами 1, 5, 9, 12
Пока Выборка.СледующийПоЗначениюПоля("Контрагент")
Цикл // здесь мы сначала получим записи с
номерами 1, 2, 3, 4
// затем 5, 6, 7
// затем 9, 10, 11
// затем 12, 13, 14, 15 КонецЦикла; КонецЦикла; |
|
|
129 |
Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.СледующийПоЗначениюПоля("Товар")
Цикл
// здесь мы получим записи с номерами 1, 5, 9, 12
Пока Выборка.Следующий() Цикл
// здесь мы сначала получим записи с номерами 1, 2, 3, 4
// затем 5, 6, 7, 8
// затем 9, 10, 11
// затем 12, 13, 14, 15 КонецЦикла; КонецЦикла; |
|
|
130 |
ВЫБРАТЬ РасходнаяНакладнаяСостав.Номенклатура КАК Номенклатура, РасходнаяНакладнаяСостав.Количество КАК Количество ИЗ Документ.РасходнаяНакладная.Состав КАК РасходнаяНакладнаяСостав УПОРЯДОЧИТЬ ПО РасходнаяНакладнаяСостав.Номенклатура ИТОГИ
СУММА(Количество) ПО
Номенклатура ИЕРАРХИЯ |
|
|
131 |
МенеджерВременныхТаблиц
= Новый МенеджерВременныхТаблиц; |
|
|
132 |
МенеджерВременныхТаблиц
= Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц
= МенеджерВременныхТаблиц; |
|
|
133 |
ВЫБРАТЬ Номенклатура.Код, Номенклатура.Наименование ПОМЕСТИТЬ ВременнаяТаблица ИЗ Справочник.Номенклатура КАК Номенклатура |
|
|
134 |
ВЫБРАТЬ РасходнаяНакладная.Ссылка, РасходнаяНакладная.Номер, РасходнаяНакладная.Дата ПОМЕСТИТЬ ВременнаяТаблица ИЗ Документ.РасходнаяНакладная КАК РасходнаяНакладная ГДЕ РасходнаяНакладная.Ссылка В(&Документы) ДЛЯ ИЗМЕНЕНИЯ |
|
|
135 |
ВЫБРАТЬ Номенклатура.Код КАК Код, Номенклатура.Наименование ПОМЕСТИТЬ ВременнаяТаблица ИЗ Справочник.Номенклатура КАК Номенклатура ИНДЕКСИРОВАТЬ ПО
Код |
|
|
136 |
ВЫБРАТЬ РасходнаяНакладная.Ссылка, РасходнаяНакладная.Номер, РасходнаяНакладная.Дата ПОМЕСТИТЬ ВременнаяТаблица ИЗ Документ.РасходнаяНакладная КАК РасходнаяНакладная ГДЕ РасходнаяНакладная.Ссылка В(&Документы) ДЛЯ ИЗМЕНЕНИЯ |
|
|
137 |
ВЫБРАТЬ Источник.Код, Источник.Наименование ПОМЕСТИТЬ ВременнаяТаблица ИЗ
&ВнешнийИсточник КАК Источник |
|
|
138 |
УНИЧТОЖИТЬ ВременнаяТаблица |
|
|
139 |
Запрос = Новый Запрос; Запрос.Текст=
"ВЫБРАТЬ |УчетНоменклатурыОстаткиИОбороты.Номенклатура, |УчетНоменклатурыОстаткиИОбороты.КоличествоПриход, |УчетНоменклатурыОстаткиИОбороты.КоличествоРасход, |УчетНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток
|ПОМЕСТИТЬ УчетНоменклатуры
|ИЗ |РегистрНакопления.УчетНоменклатуры.ОстаткиИОбороты
(, , Авто, , ) КАК УчетНоменклатурыОстаткиИОбороты
|; |
|ВЫБРАТЬ |УчетНоменклатуры.Номенклатура, |УчетНоменклатуры.КоличествоРасход, |УчетНоменклатуры.КоличествоКонечныйОстаток
|ИЗ |УчетНоменклатуры КАК УчетНоменклатуры
|; Результат=Запрос.Выполнить(); |
|
|
140 |
|
|