|
Отбор по полю в СКД | ☑ | ||
---|---|---|---|---|
0
Chuvaschow
09.03.17
✎
12:35
|
Здравствуйте!
Уважаемые форумчане, подскажите пожалуйста. Что имеем: вот такой запрос Запрос = Новый Запрос("ВЫБРАТЬ | НАЧАЛОПЕРИОДА(ЧекККМТовары.Ссылка.Дата, ДЕНЬ) КАК День, | ЧекККМТовары.Номенклатура.Код КАК Код, | ЧекККМТовары.ЦенаСоСкидкой КАК Цена, | ЧекККМТовары.СуммаСоСкидкой КАК Сумма, | ЧекККМТовары.Количество КАК Количество, | ЧекККМ.СуммаВККМ, | ЧекККМ.ВидПродажи, | ЧекККМТовары.СписатьБонусов, | ЧекККМ.Контрагент, | ЕСТЬNULL(ЧекККМПредоплата.ПКО.Сумма, 0) КАК ПКО, | ЧекККМ.Номер, | ЕСТЬNULL(ЧекККМПогашениеПК.Номинал, 0) КАК НоминалПК, | ЧекККМ.СуммаСоСкидкой КАК ДокСуммаСоСкидкой, | ЧекККМ.Контрагент.Код, | ЕСТЬNULL(ЧекККМКомбинированнаяОплата.Сумма, 0) КАК ЧекККМКомбинированнаяОплатаСумма, | ВЫБОР | КОГДА ЧекККМКомбинированнаяОплата.ТипОплаты = ""Платежная карта"" | ТОГДА ЧекККМКомбинированнаяОплата.ТипОплаты | КОНЕЦ КАК ЧекККМКомбинированнаяОплатаТипОплаты |ИЗ | Документ.ЧекККМ.Товары КАК ЧекККМТовары | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ КАК ЧекККМ | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ.Предоплата КАК ЧекККМПредоплата | ПО (ЧекККМПредоплата.Ссылка = ЧекККМ.Ссылка) | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ.ПогашениеПК КАК ЧекККМПогашениеПК | ПО ЧекККМ.Ссылка = ЧекККМПогашениеПК.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ.КомбинированнаяОплата КАК ЧекККМКомбинированнаяОплата | ПО ЧекККМ.Ссылка = ЧекККМКомбинированнаяОплата.Ссылка | ПО ЧекККМТовары.Ссылка = ЧекККМ.Ссылка |ГДЕ | ЧекККМТовары.Ссылка.Проведен = ИСТИНА | И ЧекККМТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НАЧАЛОПЕРИОДА(РеализацияТоваровТовары.Ссылка.Дата, ДЕНЬ), | РеализацияТоваровТовары.Номенклатура.Код, | РеализацияТоваровТовары.ЦенаСоСкидкой, | РеализацияТоваровТовары.СуммаСоСкидкой, | РеализацияТоваровТовары.Количество, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL |ИЗ | Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары |ГДЕ | (РеализацияТоваровТовары.Ссылка.Контрагент.Наименование ПОДОБНО ""%татаринов%"" | ИЛИ РеализацияТоваровТовары.Ссылка.Контрагент.Родитель.Наименование ПОДОБНО ""%Банк%"") | И РеализацияТоваровТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода"); Вот такой результат https://cloud.mail.ru/public/J7C8/ZUCgsrqVN В документах, где оплата комбинированная (например часть наличкой, часть с карты) строки задваиваются (Индекс с 27 по 30), так как значение подставляется по двум видам оплаты. Необходимо в запросе сделать некий отбор, чтобы в запрос из Таблицы КомбинированнаяОплата попадали только Платежные Карты. Пытался сделать через Выбор Когда... Подытожив: необходимо научиться делать отбор в таблице, которая учавствует в запросе. Очень надеюсь на Вашу помощь. |
|||
1
DrShad
09.03.17
✎
12:40
|
отбор тут ни причем, у тебя левое соединение с товарами в чеке
|
|||
2
Chuvaschow
09.03.17
✎
12:46
|
Я понимаю. В комбинированной оплате как правило 2 позиции, наличными и что-то еще. Как сделать запрос, чтобы исключалось все кроме Платежная карта?
|
|||
3
Chuvaschow
09.03.17
✎
13:20
|
Грубо говоря, есть запрос, в который мы хотим добавить следующие таблицы http://i91.fastpic.ru/big/2017/0309/d8/980f5dc102fa252373469b2c9da46dd8.jpg
Но из таблицы КомбинированнаяОплата нам нужно не все. Как отобрать? |
|||
4
Oleg333
09.03.17
✎
13:51
|
(3) А в чем проблема в левом соединение с Документ.ЧекККМ.КомбинированнаяОплата прописать дополнительное условие?
|
|||
5
Chuvaschow
09.03.17
✎
13:55
|
Подскажите где?
|
|||
6
Chuvaschow
09.03.17
✎
13:56
|
На вкладке Связи судя по всему
|
|||
7
Oleg333
09.03.17
✎
13:56
|
Ну если я вас правильно понял, то:
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ.КомбинированнаяОплата КАК ЧекККМКомбинированнаяОплата ПО ЧекККМ.Ссылка = ЧекККМКомбинированнаяОплата.Ссылка И ЧекККМКомбинированнаяОплата.ТипОплаты = ""Платежная карта"" |
|||
8
Oleg333
09.03.17
✎
13:57
|
Если же левое соединение сделано не в запросе, а через связь двух наборов данных, то в условиях связи
|
|||
9
Chuvaschow
09.03.17
✎
14:00
|
Попробовал, теперь дублей по 20 штук :)
|
|||
10
Oleg333
09.03.17
✎
14:02
|
Значит что-то перемудрили с левыми соединениями
|
|||
11
Chuvaschow
09.03.17
✎
14:07
|
Да, все так.
Как просто однако все оказалось. Спасибо огромное! |
|||
12
Chuvaschow
09.03.17
✎
14:23
|
Дабы не создавать еще пустых тем, подскажите: как эту сумму поделить на количество строк в таблице Товары? Оплата картой прошла, скажем на 600 руб., а товаров было два, значит на каждый легло по 300.
|
|||
13
Chuvaschow
09.03.17
✎
14:37
|
Ладно. Свернул ТЗ по дням без суммирования по Графе ЧекККМКомбинированнаяОплатаСумма
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |