|
Упорядочивание тпалицы значений в запросе | ☑ | ||
---|---|---|---|---|
0
maxipunchik
20.04.17
✎
08:32
|
В типовой конфе есть такой вот код:
ДокументОснование = Основание.Ссылка; Если ТипЗнч(Основание) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда // Заполним реквизиты из стандартного набора по документу основанию. ЗаполнениеДокументов.ЗаполнитьШапкуДокументаПоОснованию(ЭтотОбъект, Основание); ТипЦен = Основание.ТипЦен; Если НЕ ЗначениеЗаполнено(Основание.ТипЦен) Тогда ОбщегоНазначения.СообщитьОбОшибке("В документе "+СокрЛП(Основание)+" не установлен тип цен! Заполнение невозможно."); Возврат; КонецЕсли; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДокументОснование", Основание); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | Док.СуммаВключаетНДС, | Док.ВалютаДокумента, | Док.Контрагент, | Док.ТипЦен КАК ТипЦен, | Док.Товары.( | Номенклатура, | Цена КАК Цена, | СтавкаНДС, | СУММА(НомерСтроки) КАК НомерСтроки | ), | Док.Услуги.( | СУММА(НомерСтроки) КАК НомерСтроки, | Номенклатура, | Цена, | СтавкаНДС | ) |ИЗ | Документ.ПоступлениеТоваровУслуг КАК Док |ГДЕ | Док.Ссылка = &ДокументОснование | |СГРУППИРОВАТЬ ПО | Док.Товары.(Номенклатура, | Цена, | СтавкаНДС), | Док.Услуги.(Номенклатура, | Цена, | СтавкаНДС)"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Выборка = Шапка.Товары.Выбрать(); В итоге нужно отсортировать таблицу товары по номеру строки. Если задать порядок в конструкторе, то сортируется только сам результат запроса, а тз остается такой же. Как отсортировать? |
|||
1
Cyberhawk
20.04.17
✎
08:33
|
Не вижу никакой ТЗ в (0)
|
|||
2
maxipunchik
20.04.17
✎
08:36
|
(1) в запросе Товары - это таблица значений. А вообще - это табличная часть документа Поступления ТМЗ
|
|||
3
Cyberhawk
20.04.17
✎
08:36
|
(2) Уже лучше. А теперь внятно в трех словах задавай свой вопрос
|
|||
4
1dvd
20.04.17
✎
08:38
|
(2) может, табличная часть всё-таки?
|
|||
5
maxipunchik
20.04.17
✎
08:42
|
(4) в табло Таблица значений при отладке
|
|||
6
FIXXXL
20.04.17
✎
08:47
|
Таблица.Сортировать()?
|
|||
7
maxipunchik
20.04.17
✎
08:48
|
Вообще я решил эту задачу, но, как мне кажется, есть способ оптимальнее. Я выгрузил отдельно эту таблицу и отсортировал. Хотелось бы знать можно ли это сделать в запросе
|
|||
8
maxipunchik
20.04.17
✎
08:48
|
(6) Вот так я и сделал) Только это уже же после запроса, а можно ли в запросе такое провернуть?
|
|||
9
FIXXXL
20.04.17
✎
08:52
|
(7) (8) на закладке Порядок в конструкторе добавь свою НомерСтроки из вложенной таблицы в упорядочивание
|
|||
10
maxipunchik
20.04.17
✎
08:55
|
(9) Эх, если бы всё было так просто)
|УПОРЯДОЧИТЬ ПО | НомерСтроки" Такое, к сожалению не работает. Сортировка идет по запросу, а не по вложенной таблице. На таблицу никакого эффекта не оказывает |
|||
11
Cyberhawk
20.04.17
✎
08:55
|
(8) Ты попробуй запрос не к документы сделать, а к его двум ТЧ с соединением по ссылке
|
|||
12
maxipunchik
20.04.17
✎
09:11
|
(11) тогда запрос выбирает несколько строк без таблиц значений и всё сортируется. Но хотелось бы так сильно запрос не изменять, а именно решить задачу с сортировкой тз в запросе
|
|||
13
catena
20.04.17
✎
09:25
|
Сделай вложенный запрос с группировкой, а во внешнем упорядочивание.
ВЫБРАТЬ Д.Ссылка, Д.Товары.( НомерСтроки, Количество КАК Количество, Номенклатура ) ИЗ (ВЫБРАТЬ ПоступлениеТоваровУслуг.Ссылка КАК Ссылка, ПоступлениеТоваровУслуг.Товары.( НомерСтроки КАК НомерСтроки, СУММА(Количество) КАК Количество, Номенклатура КАК Номенклатура ) КАК Товары ИЗ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслуг.Товары.(НомерСтроки, Номенклатура)) КАК Д УПОРЯДОЧИТЬ ПО Количество убыв |
|||
14
maxipunchik
20.04.17
✎
11:57
|
(13) Не знаю как, но это действительно сработало) Спасибо за совет.
Вот окончательный код запроса, может понадобится кому Запрос.Текст = "ВЫБРАТЬ | Д.Ссылка, | Д.Товары.( | НомерСтроки КАК НомерСтроки, | Номенклатура КАК Номенклатура, | Цена КАК Цена, | СтавкаНДС | ), | Д.Услуги.( | НомерСтроки КАК НомерСтроки, | Номенклатура КАК Номенклатура, | Цена КАК Цена, | СтавкаНДС | ), | Д.Ссылка.СуммаВключаетНДС КАК СуммаВключаетНДС, | Д.Ссылка.ВалютаДокумента КАК ВалютаДокумента, | Д.Ссылка.Контрагент КАК Контрагент, | Д.Ссылка.ТипЦен КАК ТипЦен |ИЗ | (ВЫБРАТЬ | ПоступлениеТоваровУслуг.Ссылка КАК Ссылка, | ПоступлениеТоваровУслуг.Товары.( | СУММА(НомерСтроки) КАК НомерСтроки, | Номенклатура КАК Номенклатура, | Цена КАК Цена, | СтавкаНДС КАК СтавкаНДС | ) КАК Товары, | ПоступлениеТоваровУслуг.Услуги.( | СУММА(НомерСтроки) КАК НомерСтроки, | Номенклатура КАК Номенклатура, | Цена КАК Цена, | СтавкаНДС КАК СтавкаНДС | ) КАК Услуги | ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг | | СГРУППИРОВАТЬ ПО | ПоступлениеТоваровУслуг.Товары.(Номенклатура, | Цена, | СтавкаНДС), | ПоступлениеТоваровУслуг.Услуги.(Номенклатура, | Цена, | СтавкаНДС)) КАК Д |ГДЕ | Д.Ссылка = &ДокументОснование | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |