Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

1с запрос Левое соединение

1с запрос Левое соединение
Я
   skela1c
 
17.01.18 - 18:03
ВЫБРАТЬ
    ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры,
    ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента,
    ВыручкаИСебестоимостьПродажОбороты.Менеджер,
    ВыручкаИСебестоимостьПродажОбороты.Склад,
    ВыручкаИСебестоимостьПродажОбороты.Соглашение,
    ВыручкаИСебестоимостьПродажОбороты.Договор,
    ВыручкаИСебестоимостьПродажОбороты.ХозяйственнаяОперация,
    ВыручкаИСебестоимостьПродажОбороты.Инициатор,
    ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот,
    ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот,
    ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
    ВыручкаИСебестоимостьПродажОбороты.Регистратор,
    ВозвратТоваровОтКлиентаТовары.ДокументРеализации
ИЗ
    РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачПериода, &КонПериода, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтКлиента.Товары КАК ВозвратТоваровОтКлиентаТовары
        ПО ВыручкаИСебестоимостьПродажОбороты.Регистратор = ВозвратТоваровОтКлиентаТовары.Ссылка
            И ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура = ВозвратТоваровОтКлиентаТовары.Номенклатура
            И ВыручкаИСебестоимостьПродажОбороты.Инициатор = ВозвратТоваровОтКлиентаТовары.Инициатор
ГДЕ
    ВыручкаИСебестоимостьПродажОбороты.Инициатор = &Инициатор
Запрос к регистру "ВыручкаИСебестоимостьПродаж.Обороты", хочу получить таблицу по определенному регистратору +
"ВозвратТоваровОтКлиентаТовары.ДокументРеализации". В "регистратор" две одинаковой номенклатуры, но с разными "ДокументРеализации". В итоге вместо 2-х строк я получаю 4 по две на каждый  "ДокументРеализации", что я делаю не так, подскажите?
 
 
   Мандалай
 
1 - 17.01.18 - 18:07
Сгруппировать сделай, у тебя скорее всего свойства или характеристики используются
   Мандалай
 
2 - 17.01.18 - 18:08
Только вытащи в отдельную временную таблицу табличную часть документа
   skela1c
 
3 - 17.01.18 - 18:18
не могу сгруппировать, переделываю отчет "Движение номенклатуры", этот запрос для примера
   azernot
 
4 - 17.01.18 - 18:32
Без левого соединения выдаётся одна строка? Может быть из регистра уже две строки получается?
   skela1c
 
5 - 18.01.18 - 09:12
а от дублей только группировка поможет избавиться?
   1Сергей
 
6 - 18.01.18 - 09:15
(5) когда как. Иногда еще один параметр связи может помочь
   Optan
 
7 - 18.01.18 - 09:23
(0) "хочу получить таблицу по определенному регистратору" - может тогда условие на регистратор еще наложить?
   Радим1987
 
8 - 18.01.18 - 09:24
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура = ВозвратТоваровОтКлиентаТовары.Номенклатура из за этого условия
   Радим1987
 
9 - 18.01.18 - 09:24
Хотя нет
   Радим1987
 
10 - 18.01.18 - 09:35
Если добавить это условие


И ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента= ВозвратТоваровОтКлиентаТовары.ДокументРеализации
 
 Рекламное место пустует
   skela1c
 
11 - 18.01.18 - 10:08
(10) спасибо помогло,а что это соединение даёт, подскажите?
   skela1c
 
12 - 18.01.18 - 10:44
а если поле "ЗаказКлиента" пустое?
   skela1c
 
13 - 18.01.18 - 11:22
каким образом поле "ЗаказКлиента" заполняется?
   skela1c
 
14 - 18.01.18 - 11:33
вопрос в том что мне надо получить "подразделение" или у реализации или у заказа, а так я не могу до них добраться
   catena
 
15 - 18.01.18 - 11:34
(14)Регистр ВыручкаИСебестоимостьПродаж пишется сводно или на каждую строчку документа движение?
   skela1c
 
16 - 18.01.18 - 11:47
(15) на каждую
   Мандалай
 
17 - 18.01.18 - 11:50
Я не очень понимаю как тебе помогло условие в (10). Ты его добавил в условиях или в связях? Приведи полный текст запроса.
   skela1c
 
18 - 18.01.18 - 11:55
ВЫБРАТЬ
    ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры,
    ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента,
    ВыручкаИСебестоимостьПродажОбороты.Менеджер,
    ВыручкаИСебестоимостьПродажОбороты.Склад,
    ВыручкаИСебестоимостьПродажОбороты.Соглашение,
    ВыручкаИСебестоимостьПродажОбороты.Договор,
    ВыручкаИСебестоимостьПродажОбороты.ХозяйственнаяОперация,
    ВыручкаИСебестоимостьПродажОбороты.Инициатор,
    ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот,
    ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот,
    ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
    ВыручкаИСебестоимостьПродажОбороты.Регистратор,
    ВозвратТоваровОтКлиентаТовары.ДокументРеализации
ИЗ
    РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачПериода, &КонПериода, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтКлиента.Товары КАК ВозвратТоваровОтКлиентаТовары
        ПО ВыручкаИСебестоимостьПродажОбороты.Регистратор = ВозвратТоваровОтКлиентаТовары.Ссылка
            И ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура = 
                                                                                                   ВозвратТоваровОтКлиентаТовары.Номенклатура
            И ВыручкаИСебестоимостьПродажОбороты.Инициатор = ВозвратТоваровОтКлиентаТовары.Инициатор
            И ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента = ВозвратТоваровОтКлиентаТовары.ДокументРеализации
ГДЕ
    ВыручкаИСебестоимостьПродажОбороты.Инициатор = Инициатор
   Радим1987
 
19 - 18.01.18 - 11:55
ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента это как бы документ инициатор в данном случае нам нужен только ВозвратТоваровОтКлиентаТовары.ДокументРеализации
   skela1c
 
20 - 18.01.18 - 12:00
(19) ну да, только из-за того, что ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента не заполнено и ВозвратТоваровОтКлиентаТовары.ДокументРеализации не находится
   Мандалай
 
21 - 18.01.18 - 12:33
Если поле Клиент пустое, то оно будет искать только с таким же пустым значением в другой таблице.
Как оно заполняется ты можешь посмотреть в модуле проведения документов, которые делают движения по нужному тебе регистру.
   Мандалай
 
22 - 18.01.18 - 12:36
"вопрос в том что мне надо получить "подразделение" или у реализации или у заказа, а так я не могу до них добраться"

Поясни, тебе нужно установить условие или вытащить в доступные поля?

Группировка в результирующем запросе тебе не поможет, в данном случае она сгруппирует уже корявые данные. Поэтому я и говорил тебе выгрузить данные предварительно во временную таблицу.
   catena
 
23 - 18.01.18 - 13:14
(16)Ну тогда там скорее всего и номер строки есть. В типовых обычно так.
   skela1c
 
24 - 18.01.18 - 13:42
(23) на номер строки ругается
   dezss
 
25 - 18.01.18 - 14:13
Если Инициатор - измерение, то лучше убери его из Где, а запихай в виртуальную таблицу остатков:
РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачПериода, &КонПериода, Регистратор, Инициатор = &Инициатор) КАК ВыручкаИСебестоимостьПродажОбороты
   skela1c
 
27 - 18.01.18 - 17:14
Сделал через вложенный запрос. Сделал таблицу, которая мне была нужна, сгруппировал чтобы получилось по одной записи и соединил её с таблицей регистра, всем спасибо
   Мандалай
 
28 - 18.01.18 - 17:43
Тоже пойдет, хотя временная таблица кошерней.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Независимо от того, куда вы едете — это в гору и против ветра!
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует