|
Прошу помочь написать запрос. | ☑ | ||
---|---|---|---|---|
0
Radion
27.09.14
✎
21:05
|
Суть такая, УТ 10.3. Нужно отобрать документы РеализацииТиУ, за период. Но отбор должен состоять из 3 таблиц, чтобы после их удобно было по порядку вывести на печать. Как делать через временные таблицы? А потом как их перебирать? Спасибо.
|
|||
1
Адинэснег
27.09.14
✎
21:06
|
чито?
|
|||
2
Адинэснег
27.09.14
✎
21:07
|
пример давай
|
|||
3
2S
27.09.14
✎
21:08
|
Хрень какая-то. Объедини три запроса в одном и делай что хочешь потом
|
|||
4
Крошка Ру
27.09.14
✎
21:12
|
(0)Забыл добавить "я джва года жду такой запрос". А так, да, похоже получилось.
|
|||
5
Адинэснег
27.09.14
✎
21:14
|
что за 3 таблицы интересно были ... :-D
|
|||
6
zippygrill
27.09.14
✎
21:14
|
(0) ровно никуя непонятно
|
|||
7
Адинэснег
27.09.14
✎
21:15
|
+(5)из которых отбор должен состоять :)))
|
|||
8
Radion
27.09.14
✎
21:16
|
(2) к примеру - надо выбрать за период док-ты РеализацииТиУ и вывести их на печать. Т.е. вначале выводим к примеру документы с условием по складу "Основной", во втором случае склад тоже "Основной", но сумма заказа > 5000 руб., и третье это склад "Вспомогательный", но сумма между 2000руб. и 5000 руб.
|
|||
9
Адинэснег
27.09.14
✎
21:17
|
(4) ОБЪЕДИНИТЬ ВСЕ
|
|||
10
zippygrill
27.09.14
✎
21:18
|
(8) а вот оно как. Может с отборами поиграться надо? )
|
|||
11
Radion
27.09.14
✎
21:20
|
(10) да запрос простой. я могу просто получить к примеру одну таблицу по одному запросу. А вот как это сделать красиво, все в одном запросе, может как то в запросе их отсортировать по условию, чтобы потом получить ТЗ и просто вывести на печать?
|
|||
12
Адинэснег
27.09.14
✎
21:22
|
ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка, РеализацияТоваровУслуг.Дата КАК Дата ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Склад = &СкладОсновной И РеализацияТоваровУслуг.Дата >= &ДатаНач И РеализацияТоваровУслуг.Дата <= &ДатаКон И РеализацияТоваровУслуг.СуммаДокумента > 5000 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ РеализацияТоваровУслуг.Ссылка, РеализацияТоваровУслуг.Дата ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Дата >= &ДатаНач И РеализацияТоваровУслуг.Дата <= &ДатаКон И РеализацияТоваровУслуг.СуммаДокумента >= 2000 И РеализацияТоваровУслуг.СуммаДокумента <= 5000 И РеализацияТоваровУслуг.Склад = &СкладОсновной ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ РеализацияТоваровУслуг.Ссылка, РеализацияТоваровУслуг.Дата ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Дата >= &ДатаНач И РеализацияТоваровУслуг.Дата <= &ДатаКон И РеализацияТоваровУслуг.Склад = &СкладВспомогательный УПОРЯДОЧИТЬ ПО Дата |
|||
13
Radion
27.09.14
✎
21:28
|
(12) Спасибо!, я тоже так сделал. Но как мне корректно вывести на печать? Т.е. мне нужно вначале вывести первый блок запроса (документы с первым условием, затем 2 и 3)? Может сделать как-то группировку?
|
|||
14
Radion
27.09.14
✎
21:29
|
(12) к примеру я получил ТЗ, с моими документами. В ней документы по всем 3-м условиям, как разбить и вывести документы по 1-му условию, затем 2-му и 3-му?
|
|||
15
zippygrill
27.09.14
✎
21:33
|
(14) НайтиСтроки() или Найти()
|
|||
16
Radion
27.09.14
✎
21:37
|
(15)т.е.? ну вот выбрал я документы. Все они в одной ТЗ. Как мне пометить документы 1 условия, затем 2 и 3 ???
|
|||
17
Grreyka
27.09.14
✎
21:45
|
(16) Добавь в каждом запросе текстовое поле. В первом запросе напиши "1", во втором "2" и т.д. И потом делай по нему группировку или упорядочивание.
|
|||
18
zippygrill
27.09.14
✎
21:46
|
(16)
Предварительно для каждого запроса добавь всп. поле КолонкаТ1 с значениями "Т1", "Т2", "Т3". СтруктураОтбора = Новый Структура(); СтруктураОтбора.Вставить(); м1 = ТЗ.НайтиСтроки("КолонкаТ1", "Т1"); м2 = ТЗ.НайтиСтроки("КолонкаТ1", "Т2"); м3 = ТЗ.НайтиСтроки("КолонкаТ1", "Т3"); Перевибрай все массивы и в макет. |
|||
19
Radion
27.09.14
✎
21:53
|
(18) епта точно, просто так. Спасибо.
|
|||
20
Адинэснег
27.09.14
✎
22:47
|
(13) Итоги и вывод по группировкам
|
|||
21
Адинэснег
27.09.14
✎
22:48
|
НайтиСТроки, да еще и без индекса - тормоза
|
|||
22
Адинэснег
27.09.14
✎
22:56
|
Запрос = Новый Запрос("ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка КАК Ссылка, | РеализацияТоваровУслуг.Дата КАК Дата, | ""Блок1"" КАК Блок |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Склад = &СкладОсновной | И РеализацияТоваровУслуг.Дата >= &ДатаНач | И РеализацияТоваровУслуг.Дата <= &ДатаКон | И РеализацияТоваровУслуг.СуммаДокумента > 5000 |ОБЪЕДИНИТЬ ВСЕ |ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Дата, | ""Блок2"" |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Дата >= &ДатаНач | И РеализацияТоваровУслуг.Дата <= &ДатаКон | И РеализацияТоваровУслуг.СуммаДокумента >= 2000 | И РеализацияТоваровУслуг.СуммаДокумента <= 5000 | И РеализацияТоваровУслуг.Склад = &СкладОсновной |ОБЪЕДИНИТЬ ВСЕ |ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Дата, | ""Блок3"" |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Дата >= &ДатаНач | И РеализацияТоваровУслуг.Дата <= &ДатаКон | И РеализацияТоваровУслуг.Склад = &СкладВспомогательный |УПОРЯДОЧИТЬ ПО | Блок, | Дата |ИТОГИ | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ссылка) |ПО | Блок"); Запрос.УстановитьПараметр("ДатаНач", ДатаНач); Запрос.УстановитьПараметр("ДатаКон", ДатаКон); Запрос.УстановитьПараметр("СкладОсновной", СкладОсновной); Запрос.УстановитьПараметр("СкладВспомогательный", СкладВспомогательный); ВыборкаБлоков = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаБлоков.Следующий() Цикл Сообщить("Печать блока " + ВыборкаБлоков.Блок); ВыборкаДокументов = ВыборкаБлоков.Выбрать(); Пока ВыборкаДокументов.Следующий() Цикл ДокОб = ВыборкаДокументов.ПолучитьОбъект(); ДокОб.Печать("ТОРГ12",1,Истина); КонецЦикла; КонецЦикла; Зы. Бабки пополам |
|||
23
EvgeniuXP
27.09.14
✎
23:30
|
че не понятно:
Временная таблица 1 - пошла печать Временная таблица 2 - пошла печать Временная таблица 3 - пошла печать ежу понятно, даже мне |
|||
24
EvgeniuXP
27.09.14
✎
23:32
|
насмотрятся порнороликов - потом каша в голове.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |