Имя: Пароль:
1C
1С v8
Запрос к документам на основании
0 uuee76
 
07.06.16
16:30
Здравствуйте,нужна подсказка или наводка.Есть УТ 11.Делаю внешний отчет.В нем отбираю все ЗаказыКлиента и их подчиненные ЗаказыПоставщику.В обоих документах ТЧ.Если для документа Заказ один ЗаказПоставщику отчет нормальный,если для одного Заказа 100Заказов постащику,в отчете 100 повторений.Суть в том,что одни позиции документа клиента могут быть заказаны у одного Поставщика,вторые у другого(два документа).В отчет выводятся 2 раза все строки.Мне понятно почему,непонятно как сделать чтобы тянулись только один раз.
Вот текст запроса(там правда связок не одна):

ВЫБРАТЬ
    ЗаказКлиента1.Номер КАК Номер,
    ЗаказКлиента1.Дата КАК Дата,
    ЗаказКлиента1.Партнер КАК Партнер,
    ЗаказКлиента1.Автор КАК Автор,
    ЗаказКлиентаТовары2.Номенклатура.Артикул КАК НоменклатураАртикул,
    ЗаказКлиентаТовары2.Номенклатура КАК Номенклатура,
    ЗаказКлиентаТовары2.Номенклатура.Родитель КАК НоменклатураРодитель,
    ЗаказКлиентаТовары2.Номенклатура.ЕдиницаИзмерения КАК НоменклатураЕдиницаИзмерения,
    ЗаказКлиентаТовары2.Количество КАК Количество,
    ЗаказПоставщику3.Контрагент КАК Поставщик,
    ЗаказПоставщику3.Номер КАК НомерПоставщикаТовара,
    ЗаказПоставщику3.НомерПоДаннымПоставщика КАК НомерПоДаннымПоставщика,
    ЗаказПоставщику3.ДатаПоДаннымПоставщика КАК ДатаПоДаннымПоставщика,
    ПоступлениеТоваровУслуг4.Дата КАК ДатаПоступленияТовара,
    ПоступлениеТоваровУслуг4.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
    РеализацияТоваровУслуг5.Дата КАК ДатаРеализации,
    РеализацияТоваровУслуг5.Номер КАК НомерРеализации,
    ЗаказКлиентаТовары2.ДатаОтгрузки,
    ПоступлениеБезналичныхДенежныхСредств.Номер КАК НомерВхПП,
    ПоступлениеБезналичныхДенежныхСредств.Дата КАК ДатаВхПП,
    ЗаказПоставщикуТовары.Цена КАК ЦенаЗакупки,
    ЗаказКлиентаТовары2.Цена КАК ЦенаПродажи,
    ЗаказКлиентаТовары2.Сумма
ИЗ
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары2
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента1
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику КАК ЗаказПоставщику3
                ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг4
                ПО ЗаказПоставщику3.Ссылка = ПоступлениеТоваровУслуг4.ЗаказПоставщику.Ссылка
            ПО ЗаказКлиента1.Ссылка = ЗаказПоставщику3.ДокументОснование.Ссылка
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг5
            ПО ЗаказКлиента1.Ссылка = РеализацияТоваровУслуг5.ЗаказКлиента.Ссылка
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеБезналичныхДенежныхСредств.РасшифровкаПлатежа КАК ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа
                ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеБезналичныхДенежныхСредств КАК ПоступлениеБезналичныхДенежныхСредств
                ПО ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка = ПоступлениеБезналичныхДенежныхСредств.Ссылка
            ПО ЗаказКлиента1.Ссылка = ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа.Ссылка
        ПО ЗаказКлиентаТовары2.Ссылка = ЗаказКлиента1.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
        ПО ЗаказКлиентаТовары2.Ссылка = ЗаказПоставщикуТовары.Ссылка.ДокументОснование.Ссылка
            И ЗаказКлиентаТовары2.Номенклатура = ЗаказПоставщикуТовары.Номенклатура
ГДЕ
    ЗаказКлиента1.Дата МЕЖДУ &НачалоПериода И &КонецПериода
1 Cyberhawk
 
07.06.16
16:31
"понятно почему,непонятно как сделать" // Что-то не сходится в твоих словах...
2 uuee76
 
07.06.16
16:32
(0) Сам себя поправлю,в отчет выводится столько повторений,сколько введено документов на основании
3 uuee76
 
07.06.16
16:33
(1) Теорией владею,практикой нет.
4 Cyberhawk
 
07.06.16
16:33
Покажи повторения на картинке
5 Nuobu
 
07.06.16
16:36
(2) Оно так и должно выводиться.
Если хочешь, можешь разделить заказы поставщику и клиенту в два разных набора данных. Потом Соедени их.
6 uuee76
 
07.06.16
16:40
(4) А картинку разве здесь можно прицепить?
7 aka AMIGO
 
07.06.16
16:41
8 Nuobu
 
07.06.16
16:41
(6) Можно выложить на хостинг, а сюда - ссылку.
Gyanzo, СкринШотер, LightShot
9 aka AMIGO
 
07.06.16
16:43
(8) Gyazo
10 Nuobu
 
07.06.16
16:45
(9) Чи не всё равно:
https://gyazo.com/80a003007b9940e4ffb8edaa66352e6d
11 lodger
 
07.06.16
16:51
а обязательно все одним запросом делать?
12 uuee76
 
07.06.16
16:53
Картинка http://pics.rsh.ru/img/12_1in8127s.jpg
Собственно документ один в нем позиций 3,заказа поставщикам 3.
13 uuee76
 
07.06.16
16:54
(7) (8) (9) (10) Спасибо,понял
14 uuee76
 
07.06.16
16:55
(11) Нет,не обязательно.А как разделить на два,хотя бы теоретически
15 Nuobu
 
07.06.16
16:58
(12) Почему качество такое?
16 uuee76
 
07.06.16
16:59
(15) Виноват,поправлю.
17 Cyberhawk
 
07.06.16
17:02
(12) Уже отсюда вижу, что никаких "повторений" на картинке нет
18 uuee76
 
07.06.16
17:11
http://pics.rsh.ru/img/12_jwptqmiv.jpg (17)
Ну хорошо,не повторение,можно назвать это другим словом.Мне бы один раз нужнло,но не три
19 uuee76
 
07.06.16
17:13
(5) Хочу.А что будет в первом наборе,что во втором,как то не совсем понятно.Наверное читать мануал?)
20 Cyberhawk
 
07.06.16
17:14
"Мне бы один раз нужнло,но не три" // Выведи подряд твои "дубли" и прими решение, от какого из столбиков отказаться
21 FIXXXL
 
07.06.16
17:17
(0) тебе что надо в результате? разницу?
первым запросом выбираешь ЗаказыКлиента и ном-ру с кол-ом
вторым запросом ЗаказыПоставщику и ихнюю ном-ру с кол-ом
во втором запросе выводишь ссылку на ЗаказКлиента

запросы - ОБЪЕДИНИТЬ

количество по разным колонкам или в одном запросе на -1 умножь, как там тебе виднее

третьим запросов первые два схлопываешь в одну строку по Заказ-Номенклатура
22 uuee76
 
07.06.16
17:19
(20)Сгруппировать по номенклатуре и Выбрать первые?
А столбики причем,может строки,или столбики?
23 FIXXXL
 
07.06.16
17:21
(22) тебе две колонки нужны КолвоЗаказаКлиента и КолвоЗаказаПоставщику или просто в одной колонке разница конечная?

группировать по Номенклатуре и ЗаказуКлиента, иначе лажа
24 uuee76
 
07.06.16
17:27
(22) Хм,пока считаю что в заказе клинта и заказе поставщику одно и тоже количество,не будем усложнять.по одному заказу заказываем одному поставщику одно количество
Значит нужна колонка как мне кажется любая одна,с количеством,я вяжусь с заказом поставщику только для оценки факта,что заказали и у кого.Дальше будем усложнять,но пока не надо
25 Cyberhawk
 
07.06.16
17:28
(22) При том, что ты утверждаешь, что у тебя дубли строк. При текущем наборе столиков это не так.
26 uuee76
 
07.06.16
17:30
(21) В результате я хочу увидеть что заказанная клиентом номенклатура,заказана у такого то поставщика.
С третьим запросом понятно,попробую покрутить
27 uuee76
 
07.06.16
17:36
(25) Предполагаю,не утверждаю.
три строки клиента, три заказа поставщика,всего девять.
Но у меня не в каждом заказе поставщика по три строки.
В каждом заказе поставщику по одной строке,не повторяющейся в другом заказе.
28 Cyberhawk
 
07.06.16
22:35
(27) Ну так будет картинка с твоими "задублированными" 9 строками со всеми столбиками?
29 uuee76
 
07.06.16
23:02
(28) Не будет,"столбики" кончились))