Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Запросы
1) Простая выборка ВЫБРАТЬ Номенклатура.Код КАК Код, Номенклатура.Наименование КАК Наименование, Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура
Правила записи: Запрос = Новый Запрос(); Запрос.Текст = «ВЫБРАТЬ | Номенклатура.Код КАК Код, | Номенклатура.Наименование КАК Наименование, | Номенклатура.Ссылка КАК Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура»;
Выполнение запроса: 1) Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка.Наименование); КонецЦикла; 2) Результат = Запрос.Выполнить(); Если НЕ Результат.Пустой() Тогда Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл … КонецЦикла; КонецЕсли; 3) Таблица = Запрос.Выполнить.Выгрузить(); Для Каждого СтрокаТаблицы Из Таблица Цикл Сообщить(СтрокаТаблицы.Наименование); КонецЦикла;
2) Выборка с условием ВЫБРАТЬ Номенклатура.Код КАК Код, Номенклатура.Наименование КАК Наименование, Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ЦенаПокупки < 100 И Номенклатура.ЦенаПродажи > 140
3) Упорядочивание ВЫБРАТЬ Номенклатура.Код КАК Код, Номенклатура.Наименование КАК Наименование, Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура УПОРЯДОЧИТЬ ПО Номенклатура.Код
ВЫБРАТЬ Номенклатура.Код КАК Код, Номенклатура.Наименование КАК Наименование, Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура УПОРЯДОЧИТЬ ПО Номенклатура.Код ВОЗР
ВЫБРАТЬ Номенклатура.Код КАК Код, Номенклатура.Наименование КАК Наименование, Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура УПОРЯДОЧИТЬ ПО Номенклатура.Код УБЫВ
4) Группировка ВЫБРАТЬ Цены.Контрагент, Цены.Номенклатура, МИНИМУМ(Цены.Цена) ИЗ РегистрСведений.Цены КАК Цены СГРУППИРОВАТЬ ПО Цены.Контрагент, Цены.Номенклатура
ВЫБРАТЬ Продажи.Номенклатура, СУММА(Продажи.Сумма) ИЗ РегистрНакопления.Продажи КАК Продажи СГРУППИРОВАТЬ ПО Продажи.Номенклатура
5) Запросы с параметрами ВЫБРАТЬ Продажи.Номенклатура, СУММА(Продажи.Сумма) ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Период МЕЖДУ &ДатаНачала И &ДатаОкончания СГРУППИРОВАТЬ ПО Продажи.Номенклатура
В тексте: Запрос.УстановитьПараметр(«ДатаНачала», ДатаНачала); Запрос.УстановитьПараметр(«ДатаОкончания», ДатаОкончания);
6) Условия на группируемые поля
Номенклатура, которая принесла выручку не менее, чем 1000 руб. ВЫБРАТЬ Продажи.Номенклатура, СУММА(Продажи.Сумма) ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Период МЕЖДУ &ДатаНачала И &ДатаОкончания ИМЕЮЩИЕ СУММА(Продажи.Сумма) >= 1000 СГРУППИРОВАТЬ ПО Продажи.Номенклатура
Номенклатура, которая каждый раз была продана на сумму не менее 100 руб. ВЫБРАТЬ Продажи.Номенклатура, СУММА(Продажи.Сумма) ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Период МЕЖДУ &ДатаНачала И &ДатаОкончания ИМЕЮЩИЕ МИНИМУМ(Продажи.Сумма) >= 100 СГРУППИРОВАТЬ ПО Продажи.Номенклатура
7) Выбор первых ВЫБРАТЬ ПЕРВЫЕ 15 Продажи.Номенклатура, СУММА(Продажи.Сумма) ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Период МЕЖДУ &ДатаНачала И &ДатаОкончания ИМЕЮЩИЕ СУММА(Продажа.Сумма) >= 1000 УПОРЯДОЧИТЬ ПО Продажи.Номенклатура.Наименование СГРУППИРОВАТЬ ПО Продажи.Номенклатура
ВЫБРАТЬ ПЕРВЫЕ 1 Таблица.Поле ИЗ Таблица – если нужно узнать, есть ли записи
8) Выбор различные ВЫБРАТЬ РАЗЛИЧНЫЕ Цены.Контрагент, Цены.Номенклатура ИЗ РегистрСведений.Цены КАК Цены
Знающие люди говорят, что лучше делать группировку ВЫБРАТЬ Цены.Контрагент, Цены.Номенклатура ИЗ РегистрСведений.Цены КАК Цены СГРУППИРОВАТЬ ПО Цены.Контрагент, Цены.Номенклатура
9) Объединение
ВЫБРАТЬ Продажи.Номенклатура, Продажи.Сумма ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Период МЕЖДУ &ДатаНачала И &ДатаОкончания И Продажи.Сумма >= 1000
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ Продажи.Номенклатура, Продажи.Сумма ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Период МЕЖДУ &ДатаНачала И &ДатаОкончания И Продажи.Номенклатура.ЦенаПродажи >= 100
Если вместе «ОБЪЕДИНИТЬ ВСЕ» написать «ОБЪЕДИНИТЬ», то будут исключаться дубли. Но… те же проблемы, что и с РАЗЛИЧНЫЕ. Обычно (over 99,9%) – «ОБЪЕДИНИТЬ ВСЕ»
10) Соединения В 1С есть четыре(!) вида соединений: внутреннее, полное, левое, правое 10.1) Внутреннее соединение (Т1.Поле1 = Т2.Поле3)
ВЫБРАТЬ Т1.Поле1, Т1.Поле2, Т2.Поле4 ИЗ Т1 ВНУТРЕНЕЕ СОЕДИНЕНИЕ Т2 ПО Т1.Поле1 = Т2.Поле3
10.2) Левое соединение (Т1.Поле1 = Т2.Поле3)
ВЫБРАТЬ Т1.Поле1, Т1.Поле2, Т2.Поле4 ИЗ Т1 ЛЕВОЕ СОЕДИНЕНИЕ Т2 ПО Т1.Поле1 = Т2.Поле3
10.3) Правое соединение (Т1.Поле1 = Т2.Поле3)
ВЫБРАТЬ Т2.Поле3, Т1.Поле2, Т2.Поле4 ИЗ Т1 ПРАВОЕ СОЕДИНЕНИЕ Т2 ПО Т1.Поле1 = Т2.Поле3
10.4) Полное соединение (Т1.Поле1 = Т2.Поле3)
ВЫБРАТЬ Т1.Поле1, Т1.Поле2, Т2.Поле3, Т2.Поле4 ИЗ Т1 ПОЛНОЕ СОЕДИНЕНИЕ Т2 ПО Т1.Поле1 = Т2.Поле3
Левое ∩ Правое = Внутреннее Левое U Правое = Полное
11) Итоги
ВЫБРАТЬ Таблица.Номенклатура, Таблица.Контрагент, Таблица.Количество, Таблица.Сумма ИЗ Таблица КАК Таблица ИТОГИ СУММА(Количество), СУММА(Сумма) ПО Номенклатура
1) Выборка = Запрос.Выполнить.Выбрать(); 2) Выборка = Запрос.Выполнить.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
1:
9 элементов в выборке 2:
3 элемента в выборке из выборки можно… выбрать! И в каждой выборке из выборки будет по 2 элемента
ВыборкаИтоги = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаИтоги.Следующий() Цикл ВыборкаДетали = ВыборкаИтоги.Выбрать(); Пока ВыборкаДетали.Следующий() Цикл
КонецЦикла;
КонецЦикла;
Работа с датами НАЧАЛОПЕРИОДА(<Дата>, ДЕНЬ) НАЧАЛОПЕРИОДА(<Дата>, МЕСЯЦ)
КОНЕЦПЕРИОДА(<Дата>, НЕДЕЛЯ)
ДОБАВИТЬКДАТЕ(<Дата>, МИНУТА, 5)
РАЗНОСТЬДАТ(<Дата1>, <Дата2>, ЧАС) РАЗНОСТЬДАТ(<Дата1>, <Дата2>, СЕКУНДА)
Date: 2015-05-05; view: 351; Нарушение авторских прав |