0
- 16.12.2013 - 17:38
|
ВЫБРАТЬ Различные ИнформационныеКарты.Ссылка, ИнформационныеКарты.Представление, ИнформационныеКарты.ВладелецКарты.Ссылка, ИнформационныеКарты.ВладелецКарты.Представление, ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта, ПРЕДСТАВЛЕНИЕ(ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта), СУММА(ПродажиПоДисконтнымКартамОбороты.СуммаОборот) КАК СуммаОборот ИЗ РегистрНакопления.ПродажиПоДисконтнымКартам.Обороты КАК ПродажиПоДисконтнымКартамОбороты ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ИнформационныеКарты КАК ИнформационныеКарты ПО ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта = ИнформационныеКарты.Ссылка СГРУППИРОВАТЬ ПО ИнформационныеКарты.Ссылка, ИнформационныеКарты.Представление, ИнформационныеКарты.ВладелецКарты.Ссылка, ИнформационныеКарты.ВладелецКарты.Представление, ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта Вот такой запрос сделал я в консоли отчетов. Но мне кажется что до фига лишнего. Мне надо было по регистру найти обороты всех дисконтных карт, но так чтобы Владелец карты был не пустой (Владелец карты это и реквизит карты и измерения регистра) а потом найти количество документов продажи по каждой карте и последний документ продажи по каждой карте | |
1
- 16.12.2013 - 18:20
| Ну разве что, выкинуть левое соединение и прописать все через точку в селект листе, что монопенисуально будет, только текст запроса короче будет. | |
2
- 16.12.2013 - 18:20
| + выкинуть Различные из текста запроса. | |
3
- 16.12.2013 - 19:00
| + выкинуть группировку | |
4
- 16.12.2013 - 19:08
|
Да просто выкинуть весь запрос и переписать на 7-ку :( Спасибо, вот только мне казалось что надо к Информационные Карты Левое Соединение регистр. Вот Левое соединение в 7-ке аналог имеет? | |
5
- 16.12.2013 - 19:40
|
ВЫБРАТЬ ИнформационныеКарты.Ссылка, ИнформационныеКарты.Ссылка.Представление, ИнформационныеКарты.Ссылка.ВладелецКарты, ИнформационныеКарты.Ссылка.ВладелецКарты.Представление, ПродажиПоДисконтнымКартамОбороты.Ссылка.ДисконтнаяКарта, ПРЕДСТАВЛЕНИЕ(ПродажиПоДисконтнымКартамОбороты.Ссылка.ДисконтнаяКарта), СУММА(ПродажиПоДисконтнымКартамОбороты.СуммаОборот ) КАК СуммаОборот ИЗ РегистрНакопления.ПродажиПоДисконтнымКартам.Обороты(,, ИнформационныеКарты.Ссылка.ВладелецКарты = Значение(Справочник.ХХХ.ПустаяСсылка)) КАК ПродажиПоДисконтнымКартамОбороты как-то так | |
6
- 16.12.2013 - 21:29
| Спасибо всем откликнувшимся. я понимаю так, что как и в 7-ном запросе, в 8-ном запросе есть поля которые в группировках не участвуют и есть которые участвуют. и есть какие-то варианты выгрузки в ТЗ, в которых негруппировочные поял могут использоваться а могут и не использоваться | |
7
- 16.12.2013 - 21:59
| 6-Путевый лист > Нет. Забудь хоккейные запросы, у них нет ничего общего с SQL-подобным языком 8ки. | |
8
- 17.12.2013 - 09:47
|
Перестроил запрос с помощью Добрых людей, самолично вставил конструкцию |КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиПоДисконтнымКартамОбороты.Регистратор) Когда (ПродажиПоДисконтнымКартамОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах) а она работать не хочет. Понятно что ошибка, но то ли в синтаксисе запроса то ли в логике. Подскажите пожалуйста | |
9
- 17.12.2013 - 09:48
|
Не работает когда добавил Когда (ПродажиПоДисконтнымКартамОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах) | |
10
- 17.12.2013 - 09:56
| в обороты(,,регистратор) - добавь | |
11
- 17.12.2013 - 10:05
| (10) Есть такое. Просто Конструкция "Когда" не верная видимо, там же надо вроде как "Выбор Когда" как-то так | |
12
- 17.12.2013 - 10:44
|
ВЫБРАТЬ ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиПоДисконтнымКартамОбороты.Регистратор) КАК КоличествоДокументов, СУММА( ВЫБОР КОГДА (Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах) тогда ПродажиПоДисконтнымКартамОбороты.СуммаОборот иначе 0 конец ) КАК СуммаОборот ИЗ РегистрНакопления.ПродажиПоДисконтнымКартам.Обороты(, , Регистратор, ВладелецДисконтнойКарты <> NULL ) КАК ПродажиПоДисконтнымКартамОбороты СГРУППИРОВАТЬ ПО ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта | |
13
- 17.12.2013 - 10:45
| последний документ вторым запросом нуна искать | |
14
- 17.12.2013 - 11:04
|
(12,13) Мне надо посчитать именно количество документов-регистраторов одного типа. А вот сумма мне нужна по всем регистраторам. То есть Выбор Когда Тогда Иначе Конец мне как раз нужен для расчета именно количества документов | |
15
- 17.12.2013 - 12:40
| так и подыми Количество ( ВЫБОР ... ) | |
16
- 17.12.2013 - 12:50
| (15) Так а что писать вместо ПродажиПоДисконтнымКартамОбороты.СуммаОборот??? Ведь это ж количество документов а не суммы. Вот здесь я и затупил | |
17
- 17.12.2013 - 13:07
| (15) По логике должно быть так: | |
18
- 17.12.2013 - 13:14
|
(15) Количество(Различные ВЫБОР КОГДА (Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах) тогда 1 иначе 0 конец ) КАК КоличествоДокументов Хотел так - но дало везде 1 значит после Тогда что должно быть для Количества??? | |
19
- 17.12.2013 - 13:28
| (15) Jimbo - Если убрать Различные тогда дает все количество по всем типам регистратора а не по одному как мне нужно | |
20
- 17.12.2013 - 13:44
|
КОЛИЧЕСТВО( ВЫБОР КОГДА (Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах) тогда РАЗЛИЧНЫЕ ПродажиПоДисконтнымКартамОбороты.Регистратор иначе 0 конец ) КАК КоличествоДокументов, СУММА( ПродажиПоДисконтнымКартамОбороты.СуммаОборот ) КАК СуммаОборот | |
21
- 17.12.2013 - 13:45
| посмотри видео от Чистова Павла по запросам | |
22
- 17.12.2013 - 14:02
| (21) ДА боюсь еще рано мне смотреть видео, я еще из младенческого возраста никак не выйду | |
23
- 17.12.2013 - 14:07
|
(21) Jimbo. Ругается гад {Форма.Форма(42)**: Ошибка при вызове метода контекста (Выполнить): **(15, 7)**: Синтаксическая ошибка "РАЗЛИЧНЫЕ" тогда <<?>>РАЗЛИЧНЫЕ ПродажиПоДисконтнымКартамОбороты.Регистратор иначе 0 конец ) КАК КоличествоДокументов, РезультатЗапроса = Запрос.Выполнить(); по причине: **(15, 7)**: Синтаксическая ошибка "РАЗЛИЧНЫЕ" тогда <<?>>РАЗЛИЧНЫЕ ПродажиПоДисконтнымКартамОбороты.Регистратор иначе 0 конец ) КАК КоличествоДокументов, | |
24
- 17.12.2013 - 14:29
|
ВОТ ТАК ВЫГЛЯДИТ ТЕПЕРЬ ЗАПРОС Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | Подзапрос.ДисконтнаяКарта, | Подзапрос.ВладелецДисконтнойКарты, | Подзапрос.КоличествоДокументов, | Подзапрос.ДатаПоследнейПродажи, | Подзапрос.Сумма, | Подзапрос.ДисконтнаяКарта.Представление, | Подзапрос.ВладелецДисконтнойКарты.Представление, | Подзапрос.ДисконтнаяКарта.ВладелецКарты.ДатаРождения КАК ДатаРождения |ИЗ | (ВЫБРАТЬ | ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта КАК ДисконтнаяКарта, | ПродажиПоДисконтнымКартамОбороты.ВладелецДисконтнойКарты КАК ВладелецДисконтнойКарты, //| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиПоДисконтнымКартамОбороты.Регистратор) КАК КоличествоДокументов, |Количество (РАЗЛИЧНЫЕ ВЫБОР КОГДА (Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах) |тогда |ПродажиПоДисконтнымКартамОбороты.Регистратор иначе 0 конец ) КАК КоличествоДокументов, | СУММА(ПродажиПоДисконтнымКартамОбороты.СуммаОборот) КАК Сумма, | МАКСИМУМ(ПродажиПоДисконтнымКартамОбороты.Период) КАК ДатаПоследнейПродажи | ИЗ | РегистрНакопления.ПродажиПоДисконтнымКартам.Обороты(,,Регистратор,ВладелецДисконтнойКарты<>Значение(Справочник.ФизическиеЛица.ПустаяСсылка)) КАК ПродажиПоДисконтнымКартамОбороты | ГДЕ //| ПродажиПоДисконтнымКартамОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах | ДисконтнаяКарта.ВидДисконтнойКарты В ИЕРАРХИИ(&ВидДК) | СГРУППИРОВАТЬ ПО | ПродажиПоДисконтнымКартамОбороты.ВладелецДисконтнойКарты, | ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта) КАК Подзапрос | ГДЕ Месяц(ВладелецДисконтнойКарты.ДатаРождения)>=1 |УПОРЯДОЧИТЬ ПО | Месяц(ВладелецДисконтнойКарты.ДатаРождения), | ВладелецДисконтнойКарты.Наименование |АВТОУПОРЯДОЧИВАНИЕ" ; Запрос.УстановитьПараметр("ВидДК",ВидДК); РезультатЗапроса = Запрос.Выполнить(); | |
25
- 17.12.2013 - 14:59
|
(21) Jimbo - вот так работает |Сумма(ВЫБОР КОГДА (Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах) |тогда |1 иначе 0 конец ) КАК КоличествоДокументов | |
26
- 19.12.2013 - 18:03
|
7-Reaper [b]Путевый лист > Нет. Забудь хоккейные запросы, у них нет ничего общего с SQL-подобным языком 8ки.[/b] Вообще-то я только сейчас понял что левое и правое соединение, внутреннее соединение, полное соединение я много раз делал в 1С 7.7 Например - есть регистр партий и остатков. В обоих есть несоответствие для номенклатуры (застарелые ошибки). Я их и вылавливаю полным соединением. Беру один регистр и сравниваю с другим а потом наоборот. Так что понимание 7-ком 8-[filolog][filolog]ных[/filolog][/filolog] запросов начинается тогда когда он может провести ассоциации 8-[filolog][filolog]ных[/filolog][/filolog] запросов с программированием на 7-ке. Можете меня поздравить. Сегодня я из яслей перешел в детский сад, в младшую группа :((( | |
27
- 19.12.2013 - 18:48
| 26-Путевый лист >когда семерочник начинает строить ассоциации между клюшками и снеговиком- начинается говнокод. | |
28
- 19.12.2013 - 19:07
| 27 -Reaper Да дело не в ассоциациях а в понимании того как это все формируется и почему. Я пока не могу сделать все так как мне нужно, но по крайней мере я начал понимать почему те варианты что я пробую - ошибочны | |
29
- 19.12.2013 - 22:07
| 28-Путевый лист > Ты лучше освежи в памяти бинарные операции над множествами - это полезнее. | |
30
- 19.12.2013 - 22:18
|
29-Reaper Подскажи пожалуйста | Левое Соединение | (ВЫБРАТЬ | ПродажиПоДисконтнымКартам.ДисконтнаяКарта, //| ПродажиПоДисконтнымКартам.Номенклатура Как ПродНоменклатура, | МАКСИМУМ(ПродажиПоДисконтнымКартам.Период) КАК ДатаПоследнейПродажи | ИЗ | РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартам //| ГДЕ //| ПродажиПоДисконтнымКартам.ВладелецДисконтнойКарты <> Неопределено | СГРУППИРОВАТЬ ПО ПродажиПоДисконтнымКартам.ДисконтнаяКарта) //| ,ПродажиПоДисконтнымКартам.ВладелецДисконтнойКарты) | КАК Подзапрос1 | ПО ИнформационныеКарты.Ссылка = Подзапрос1.ДисконтнаяКарта ----------------------------------------------------- Мне нужно вставить в этот кусок запроса такую вещь: если проданная номенклатура (измерение регистра накопления ПродажиПоДисконтнымКартам) по дисконтной карте подобно параметру запроса, то 1 иначе 0. Я потом хочу в ГДЕ основной части запрос сделать проверку на 1 чтобы сократить число записей в результате запроса | |
31
- 19.12.2013 - 22:22
|
+29-Reaper Точнее так: Номенклатура.Наименование ПОДОБНО &СтрокаПоиска | |
| Интернет-форум Краснодарского края и Краснодара |