![]() |
![]() |
![]() |
|
Ислючить повторяющиеся строки в запросе | ☑ | ||
---|---|---|---|---|
0
Luck_DMST
28.04.13
✎
10:01
|
Есть результат выполнения запроса:
[URL=http://s2.ipicture.ru/][IMG]http://s2.ipicture.ru/uploads/20130428/7RjdlGyy.jpg[/IMG][/URL] Есть схема КД: http://yadi.sk/d/_i9G_K9s4PC7w скажите пожалуйста как можно мне сделать так как я хочу на картинке, уже 3-ий день мучаюсь и никак не могу добиться нужного результата Сам запрос: ВЫБРАТЬ РАЗЛИЧНЫЕ Номенклатура.Ссылка КАК НаименованиеМатериала, Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения, Номенклатура.ГруппаНоменклатуры, НачальныйОстаток.КоличествоНачальныйОстаток КАК КоличествоНачОстаток, НачальныйОстаток.СуммаНачальныйОстаток / ВЫБОР КОГДА ЕСТЬNULL(НачальныйОстаток.КоличествоНачальныйОстаток, 0) = 0 ТОГДА 1 ИНАЧЕ НачальныйОстаток.КоличествоНачальныйОстаток КОНЕЦ КАК ЦенаНачОстаток, НачальныйОстаток.СуммаНачальныйОстаток КАК СуммаНачОстаток, Расход.КоличествоРасход КАК КоличествоРасход, Расход.Покупатель, Расход.НомерСчета, Расход.НомерСФ, Расход.ДатаСФ, Приход.КоличествоПриход КАК КоличествоПриход, Приход.Поставщик, Приход.НомерСФ2, Приход.НомерПТУ, Приход.ДатаПТУ, Остаток.КоличествоОстатокДт КАК КоличествоОстаток, Остаток.СуммаОстатокДт / ВЫБОР КОГДА ЕСТЬNULL(Остаток.КоличествоОстаток, 0) = 0 ТОГДА 1 ИНАЧЕ Остаток.КоличествоОстаток КОНЕЦ КАК ЦенаОстаток, Остаток.СуммаОстатокДт КАК СтоимостьОстаток, Номенклатура.Ссылка КАК Номенклатура ИЗ Справочник.Номенклатура КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &НачалоПериода, Период, , Счет В ИЕРАРХИИ (&Счет), , ) КАК НачальныйОстаток ПО Номенклатура.Ссылка = НачальныйОстаток.Субконто1 ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ Расход.Субконто1 КАК Номенклатура1, МАКСИМУМ(Расход.КоличествоОборотКт) КАК КоличествоРасход, РеализацияТоваровУслуг.СчетНаОплатуПокупателю КАК НомерСчета, СчетФактураВыданныйДокументыОснования.Ссылка.НомерИсходногоДокумента КАК НомерСФ, СчетФактураВыданныйДокументыОснования.Ссылка.ДатаИсходногоДокумента КАК ДатаСФ, РеализацияТоваровУслуг.Контрагент КАК Покупатель ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Регистратор, Счет В (&Счет), , , , ) КАК Расход ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный.ДокументыОснования КАК СчетФактураВыданныйДокументыОснования ПО РеализацияТоваровУслуг.Ссылка = СчетФактураВыданныйДокументыОснования.ДокументОснование ПО Расход.Регистратор = РеализацияТоваровУслуг.Ссылка СГРУППИРОВАТЬ ПО Расход.Субконто1, РеализацияТоваровУслуг.Контрагент, РеализацияТоваровУслуг.СчетНаОплатуПокупателю, СчетФактураВыданныйДокументыОснования.Ссылка.НомерИсходногоДокумента, СчетФактураВыданныйДокументыОснования.Ссылка.ДатаИсходногоДокумента) КАК Расход ПО Номенклатура.Ссылка = Расход.Номенклатура1 ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ХозрасчетныйОбороты.Субконто1 КАК Номенклатура2, ПоступлениеТоваровУслуг.Контрагент КАК Поставщик, ВЫБОР КОГДА СчетФактураПолученный.Ссылка ЕСТЬ NULL ТОГДА ПоступлениеТоваровУслуг.НомерВходящегоСчетаФактуры ИНАЧЕ СчетФактураПолученный.Ссылка.НомерВходящегоДокумента КОНЕЦ КАК НомерСФ2, ПоступлениеТоваровУслуг.Ссылка КАК НомерПТУ, ПоступлениеТоваровУслуг.Дата КАК ДатаПТУ, МАКСИМУМ(ХозрасчетныйОбороты.КоличествоОборотДт) КАК КоличествоПриход ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Регистратор, Счет В ИЕРАРХИИ (&Счет), , , , ) КАК ХозрасчетныйОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураПолученный.ДокументыОснования КАК СчетФактураПолученный ПО ПоступлениеТоваровУслуг.Ссылка = СчетФактураПолученный.ДокументОснование ПО ХозрасчетныйОбороты.Регистратор = ПоступлениеТоваровУслуг.Ссылка СГРУППИРОВАТЬ ПО ХозрасчетныйОбороты.Субконто1, ВЫБОР КОГДА СчетФактураПолученный.Ссылка ЕСТЬ NULL ТОГДА ПоступлениеТоваровУслуг.НомерВходящегоСчетаФактуры ИНАЧЕ СчетФактураПолученный.Ссылка.НомерВходящегоДокумента КОНЕЦ, ПоступлениеТоваровУслуг.Ссылка, ПоступлениеТоваровУслуг.Контрагент, ПоступлениеТоваровУслуг.Дата) КАК Приход ПО Номенклатура.Ссылка = Приход.Номенклатура2 ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&КонецПериода, Счет В ИЕРАРХИИ (&Счет), , ) КАК Остаток ПО Номенклатура.Ссылка = Остаток.Субконто1 ГДЕ Номенклатура.ЭтоГруппа = ЛОЖЬ И ЕСТЬNULL(НачальныйОстаток.КоличествоНачальныйОстатокДт, 0) + ЕСТЬNULL(Расход.КоличествоРасход, 0) + ЕСТЬNULL(Приход.КоличествоПриход, 0) + ЕСТЬNULL(Остаток.КоличествоОстатокДт, 0) > 0 |
|||
1
Luck_DMST
28.04.13
✎
10:12
|
Изображение:
http://s2.ipicture.ru/uploads/20130428/7RjdlGyy.jpg З.Ы. Прошу прощения что картинки не видно |
|||
2
Wobland
28.04.13
✎
10:18
|
где там повторы?
|
|||
3
Luck_DMST
28.04.13
✎
10:22
|
Согласен что повторов там со стороны языка запросов нет, но как мне можно сделать так чтобы было как в картинке?
|
|||
4
Luck_DMST
28.04.13
✎
10:22
|
Взять только те позиции когторые отмечены в картинке красным
|
|||
5
Wobland
28.04.13
✎
10:24
|
а какие позиции отмечены красным?
|
|||
6
Wobland
28.04.13
✎
10:25
|
имхается мне, запрос сильно туманен
|
|||
7
SeraFim
28.04.13
✎
10:25
|
во вложенной таблице "Расход" соединение по номенклатуре должно быть
|
|||
8
Luck_DMST
28.04.13
✎
10:26
|
Очень даже соглашусь что запрос туманен, во вложении есть схема компоновки данных, совсем не знаю как запрос упростить :(
|
|||
9
Luck_DMST
28.04.13
✎
10:28
|
(7) Там же есть соединение или я не правильно указал?
|
|||
10
SeraFim
28.04.13
✎
10:30
|
ну, не совсем уверен, не зная структуры документов/регистров сложно подсказать, как правильно.
Судя по скриншоту - где-то неверное соединение. К номенклатуре присоединяются строки от другой номенклатуры |
|||
11
Luck_DMST
28.04.13
✎
10:35
|
(10) В скриншоте четко указано то что берется документ прихода по этой номенклатуры и выводятся все его расходы, затем берется следующий документ прихода и снова выводятся все документы расхода и так далее, а я хочу грамотно построить запрос чтобы выводился документ прихода, затем выводился первый документ расхода, брался следующий документ прихода и выводился следующий документ расхода, в кратце: вывести ровно то что выделено у меня в скриншоте, но где-то я делаю совсем не так :(
|
|||
12
SeraFim
28.04.13
✎
10:39
|
а, теперь дошло) надо было сразу указать:
"чтобы выводился документ прихода, затем выводился первый документ расхода, брался следующий документ прихода и выводился следующий документ расхода" |
|||
13
zak555
28.04.13
✎
10:40
|
отчёт -- ерунда
как ты по проводкам определишь: какая партия продаётся? допустим в один день поступил этот товар от Партнера-Сервис и ЭлекКом Логистик на следующий ты отгружаешь Интегратору-Сервису откуда ты будешь точно знать, от какого поставщика ты отгрузишь покупателю ? |
|||
14
Luck_DMST
28.04.13
✎
10:44
|
(13) Я все понимаю по поводу партий и я не знаю от кого именно я это отгружу, но этот момент я оговаривал с заказчиком, предупредив о том что отчет не будет написан за 2 часа, тем не менее меня просят написать за 2 часа (хотят дешево и сердито), но тут я столкнулся с нехорошей ситуевиной :(
|
|||
15
zak555
28.04.13
✎
10:48
|
(14) тебе надо сделать так :
группировка по номенклатуре выводишь далее остаток на начало/конец далее группировка по движениям (поступление/продажа) выводишь документы поступлений/продаж (без вывода номенклатру) тогда такой отчёт будет корректен |
|||
16
Luck_DMST
28.04.13
✎
10:50
|
(15) Идею принял... спасибо большой, буду думать
|
|||
17
Luck_DMST
28.04.13
✎
10:59
|
(15) Но если я так сделаю у меня же не будет в одной строке выводить и приход и расход, они же пойдут отдельными строками, не?
|
|||
18
PR
28.04.13
✎
12:32
|
(4) Поразительно. Но этот твой вопрос одновременно же является ответом.
|
|||
19
zak555
28.04.13
✎
12:33
|
(17) да, пусть будет разными строками
|
|||
20
Luck_DMST
28.04.13
✎
23:29
|
(19) А нельзя сделать в одну строку? Потому что заказчик мне выдал макет по коему подобию я должен сделать отчетик
|
|||
21
hhhh
28.04.13
✎
23:35
|
но может быть например один приход, а расходов - 70. Ты что 70 расходов в одну строчку втиснешь?
|
|||
22
Luck_DMST
29.04.13
✎
08:26
|
(21) Такое быть может, но чтоб не было приходов такого быть не может
Когда первый вариант, то можно приход оставить пустые строки, а расход расписать... но мне все больше кажется что этот отчет лучше программно формировать... |
|||
23
zak555
29.04.13
✎
08:30
|
(20) ты ему скажи, что он херню выдал
|
|||
24
Luck_DMST
29.04.13
✎
09:17
|
(23) :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |