Имя: Пароль:
1C
1С v8
Ислючить повторяющиеся строки в запросе
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) :)