Азы запросов

1. Davidsed 20.09.07 17:02 Сейчас в теме
Есть спрравочник Номенклатура в нем есть реквизит цена продажи
нужно вывести запросом перечнь из пяти самхы дорогих товаров

Пошел от просто вывел все и отсортировал по цене
"Выбрать
Наименование,
ЦенаПродажи как Цена
ИЗ
Справочник.Номенклатура
где не
Справочник.Номенклатура.ЭтоГруппа
Упорядочить По ЦенаПродажи Убыв"

А как ограничить список только пятью элементами то ?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Abadonna 3971 20.09.07 19:12 Сейчас в теме
Выгружай запрос в ТЗ и бери 5 первых строчек.
3. Wladimir_spb 20.09.07 22:16 Сейчас в теме
Прикольно, а ПЕРВЫЕ уже не работает?
4. coder1cv8 3481 21.09.07 08:59 Сейчас в теме
Wladimir_spb +1
Семерошника видно издалека!... :))
5. Davidsed 25.09.07 14:21 Сейчас в теме
Ну вот еще одна заморочка. никкак не могу осилисть вот такую задачку
Есть Справочник.Контрагенты
Есть Документ.Приходная
В документе реквизит "Контрагент".
Табличная часть "Товары", в ней реквизиты "Цена", "Количество" и "Сумма".
Надо :
Написать текст запроса по резлуьтатам которого можно будет увидет суммы закупок по группам справочника "Контрагенты" и по отдельным поставщикам (элементам справочника "Контрагенты")

Мой вариант вот такой
"Выбрать
ССылка.Контрагент,Сумма
ИЗ
Документ.Приходная.Товары

Итоги
Сумма(Сумма)
По Ссылка.Контрагент Иерархия"

Вот только не знаю правильно ли это ?
Вообщем помогите запросом, советом и тд....
6. mitriy 79 25.09.07 17:35 Сейчас в теме
ВЫБРАТЬ
ПоступлениеТоваровУслуг.СуммаДокумента КАК СуммаДокумента,
ПоступлениеТоваровУслуг.Контрагент КАК Контрагент
ИЗ
Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ИТОГИ
СУММА(СуммаДокумента)
ПО
ОБЩИЕ,
Контрагент Иерархия
7. morik44 19 18.10.07 15:16 Сейчас в теме
Mitriy Написал:
-------------------------------------------------------
> ВЫБРАТЬ
> ПоступлениеТоваровУслуг.СуммаДокумента КАК
> СуммаДокумента,
> ПоступлениеТоваровУслуг.Контрагент КАК
> Контрагент
> ИЗ
> Документ.ПоступлениеТоваровУслуг КАК
> ПоступлениеТоваровУслуг
> ИТОГИ
> СУММА(СуммаДокумента)
> ПО
> ОБЩИЕ,
> Контрагент Иерархия


А как сделать,чтоб ещё была колонка СуммаДокументаСнаценкой, т.е. сумма будет состоять из розничных цен, которые получили установкой цен с помощью наценки на цены в поступлении?
8. morik44 19 18.10.07 15:47 Сейчас в теме
У меня тут есть наброски но это немного не то, что тут можно исправить,а вернее нужно:
"ВЫБРАТЬ
| ПоступлениеТоваровУслугТовары.НомерСтроки КАК НомерСтроки,
| ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
| ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ПоступлениеТоваровУслугТовары.Количество,
| ПоступлениеТоваровУслугТовары.Цена КАК Цена,
| ВложенныйЗапрос.Цена КАК ЦенаСнаценкой,
| ВложенныйЗапрос.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
| ВложенныйЗапрос.Цена * ПоступлениеТоваровУслугТовары.Количество КАК СуммаСНаценкой,
| ПоступлениеТоваровУслугТовары.Сумма КАК Сумма
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
| ЦеныНоменклатурыСрезПоследних.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки
| ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних
| ГДЕ
| ЦеныНоменклатурыСрезПоследних.ТипЦен = &Розничная) КАК ВложенныйЗапрос
| ПО ПоступлениеТоваровУслугТовары.Номенклатура = ВложенныйЗапрос.Номенклатура
| И ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры = ВложенныйЗапрос.ХарактеристикаНоменклатуры
|ГДЕ
| ПоступлениеТоваровУслугТовары.Ссылка = &Ссылка
|ИТОГИ
| СУММА(СуммаСНаценкой),
| СУММА(Сумма)
|ПО
| ОБЩИЕ";
9. vasilykushnir 63 19.10.07 08:59 Сейчас в теме
Хочу предупредить относительно запросов - не стоит злоупотреблять. Такой пример: перебор всего справочника номенклатуры и выборка штрих кодов из подчиненного, если этих штрихов больше 1. Так вот сначала делал выборку из подчиненного запросом, чтобы сразу получить количество записей в запросе. Потом - сделал тупой перебор подчиненного с занесением в ТЗ. Не поверишь - разность в скорости чуть ли не на порядок. Так что каждому овощу - свой огород.
10. morik44 19 19.10.07 10:26 Сейчас в теме
а по поводу моего отчетика кто нибудь в курсе?
11. Davidsed 03.12.07 12:52 Сейчас в теме
И снова подниму тему:
Подскажите как добавить програмно к тексту запроса добавить новый "кусок" текста?
У меня в зависимости от выполнения условия меняеться кусок текста запроса.
вот и парюсь никак не могу его прикрепить...
12. Очкарито 03.12.07 15:12 Сейчас в теме
ТекстЗапроса = Запрос.Текст;
ТекстЗапроса = ТекстЗапроса + "СГРУППИРОВАТЬ ПО " + НаименованиеПоля;
Запрос.Текст = ТекстЗапроса;
13. Wladimir_spb 03.12.07 22:16 Сейчас в теме
Лучше комменты по тексту запроса поставить и менять их в зависимости от задач. Тогда запрос более читаемым получается, но конструктор комменты удаляет =((.
Вот еще несколько приемов
http://www.kb.mista.ru/article.php?id=269
14. Dwiss 162 04.12.07 10:49 Сейчас в теме
Как в запросе поствить вот такое условие не разбивая текста запроса или чем можно заменить деление на 0?
?(Док.Количество = 0, 0, Док.Сумма / Док.Количество)
15. Очкарито 04.12.07 11:22 Сейчас в теме
ВЫБОР
КОГДА Док.Количество = 0 ТОГДА 0
ИНАЧЕ Док.Сумма / Док.Количество
КОНЕЦ
16. Dwiss 162 04.12.07 18:04 Сейчас в теме
Ща попробую...
Все гуд, очень благодарен!!!
А то мучился в дополнительно дописывал.
17. Davidsed 25.12.07 10:48 Сейчас в теме
немного изменим формулирвоаку вопроса. передо мной стоит задача:
Есть документ «ТестовыйДокумент» с табличной частью «Спецификация». В табличной части два реквизита: «Y» и «Z». Реквизит «Y» - ссылка на справочник «Y», реквизит «Z» - ссылка на справочник «Z». Справочники «Y» и «Z» - независимые.

Есть регистр накопления (остатки) с измерениями «Y» и «Z» и ресурсом «S». Реквизит «Y» - ссылка на справочник «Y», реквизит «Z» - ссылка на справочник «Z».

Создать запрос, который на документ «ТестовыйДокумент» получает только те остатки, которые определяются строками документа в табличной части «Спецификация» – по «Y» и «Z». Все строки документа – уникальны. Остатки всегда есть. Строк в документе немного.
Запрос создать оптимально для V80 и для V81 – два варианта. Для обеих версий платформ имеются только по одному оптимальному варианту решения (небольшие вариации есть, но непринципиальные)

ЗАпрос я написал вот такой :
Выбрать
*
ИЗ
(Выбрать
*
ИЗ
РегистрНакопления.ТестовыйРегистр.Остатки(&Момент, Z В (ВЫбрать Различные
Док.Z
ИЗ
Документ.ТестовыйДокумент.Спецификация Как Док
Где
Док.Ссылка=&ТекДок ) ))Как ТАб1
Где Y В (ВЫбрать Различные
Док.Y
ИЗ
Документ.ТестовыйДокумент.Спецификация Как Док
Где
Док.Ссылка=&ТекДок
)
по результатам запроса я нужную мне информацию. получаю, но к сожалению не знаю оптимально ли данное решение и уж точно пока не знаю в чем могут различаться запро написанныей в 8.0 и 8.1
ПОдскажите плиз.
18. azernot 781 26.12.07 09:17 Сейчас в теме
А что просто внутренним соединением нельзя?
По Док.Z = Рег.Z и Док.Y = Рег.Y
19. Davidsed 26.12.07 13:53 Сейчас в теме
Так и сделал

"ВЫБРАТЬ
ТестовыйРегистрОстатки.Z.Ссылка КАК Z,
ТестовыйРегистрОстатки.Y.Ссылка КАК Y,
ТестовыйРегистрОстатки.SОстаток КАК S
ИЗ
РегистрНакопления.ТестовыйРегистр.Остатки КАК ТестовыйРегистрОстатки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ТестовыйДокумент.Спецификация КАК ТестовыйДокументСпецификация
ПО ТестовыйРегистрОстатки.Y = ТестовыйДокументСпецификация.Y
И ТестовыйРегистрОстатки.Z = ТестовыйДокументСпецификация.Z
ГДЕ
ТестовыйДокументСпецификация.Ссылка.Ссылка = &ТекДок"



Вопрос в догонку
Нужно написать запрос:
Получить остатки (количество и сумму) по регистру бухгалтерии только по тем счетам, у которых имеются субконто «Номенклатура» и «Склады».
Остальные условия – непринципиальны.

Пока не могу победить :(.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот