Имя: Пароль:
1C
1С v8
Запрос с ЛЕВЫМ ВНЕШНИМ соединением по Регистратору
0 МикаМ
 
11.04.13
13:23
Подскажите пожалуйста!!!

Есть вот такой запрос:

ВЫБРАТЬ
   Продажи.Номенклатура КАК Номенклатура,
   Продажи.Контрагент КАК Контрагент,
   Продажи.Стоимость КАК Продажи,
   Закупки.Стоимость КАК Себестоимость,
   Продажи.Количество КАК Количество
ИЗ
   РегистрНакопления.Продажи КАК Продажи
       ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах КАК Закупки
       ПО (Продажи.Номенклатура = Закупки.Номенклатура)
       И (Продажи.Регистратор = Закупки.Регистратор)
ГДЕ
   Продажи.Период МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНач, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаКон, ДЕНЬ)

В регистре Продажи:

Документ1   Товар1 Клиент1  300шт 3000р

В регистре ПартииТоваровНаСкладах:

Документ1  Товар1  155шт 1395р
Документ1  Товар1  145шт 1305р

То есть одной строке первого регистра соответствуют 2 строки второго регистра...
В итоге результат выполнения запроса выглядит как:

Товар1 Клиент1 6000р  600шт 2700р

То есть из-за того что во втором регистре 2 строки в итоге Суммапродажи и Количество удваиваются, а Себестоимость получается нормальной...

Подскажите кто понимает - как избежать этого удваивания??? Связать регистра могу только по регистратору - больше у них ничего общего нет... :(
1 butterbean
 
11.04.13
13:24
делай через ОБЪЕДИНИТЬ ВСЕ
2 SherifSP
 
11.04.13
13:26
(0) Select ALL
3 SherifSP
 
11.04.13
13:26
(0) И у нас правило, девушки должны фотки загружать
4 SherifSP
 
11.04.13
13:26
+(3) Иначе не взлетит
5 patapum
 
11.04.13
13:26
(0) по моему должно сработать так
ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(,,Регистратор) КАК Закупки
6 МикаМ
 
11.04.13
13:28
(1) (2) То есть двумя запросами?

Но в этом случае результаты будут в разных строках!!!

То есть результат станет таким

Товар1 Клиент1 3000р  300шт 0
Товар1 " " 0  0  2700р
7 МикаМ
 
11.04.13
13:30
(5) В том то и проблема, что Обороты с Регистратором не хотят дружить...
8 Ёпрст
 
11.04.13
13:30
(0)Связывай ВТ регистров..
9 МикаМ
 
11.04.13
13:31
(8) Поподробнее пожалуйста...
10 МикаМ
 
11.04.13
13:31
Да - это все крутится в СКД...
11 GROOVY
 
11.04.13
13:31
А бывает левое ВНУТРЕННЕЕ?
12 Ёпрст
 
11.04.13
13:33
(9) ну возьми ВТ обороты к примеру - их и связывай, они уже сгруппированы будут как надо
13 МикаМ
 
11.04.13
13:33
(11) при ВНУТРЕННЕМ такая же фигня - удваивает, но в любом случае нужно внешнее
14 patapum
 
11.04.13
13:34
(9) подробнее (в 5 про первую таблицу забыл)
РегистрНакопления.Продажи.Обороты(,,Регистратор) КАК Продажи
       ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах(,,Регистратор) КАК Закупки
15 МикаМ
 
11.04.13
13:34
(12) что такое ВТ??????? Если Внешняя таблица - то не могу - так как всё находится в СКД...
16 Ёпрст
 
11.04.13
13:34
(13) у тебя в (0) - внутреннее, если что (в неявном виде)
17 patapum
 
11.04.13
13:35
(7) они то умеют...
18 Ёпрст
 
11.04.13
13:35
(15) ВТ - Виртуальная Таблица..
19 МикаМ
 
11.04.13
13:36
Спасибо счас попробую - буду разбираться...
20 GANR
 
11.04.13
13:37
(0) Задваивается потому, что есть 2 строки, соответствующие условию соединения. Либо доп. условие в соединение добавлять, либо группировать перед соединением.
21 Ёпрст
 
11.04.13
13:39
(20) конечно есть.. и не одна - це же партии..
22 МикаМ
 
11.04.13
13:42
(14) Пишет Ошибку для строки

ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах(,,Регистратор) КАК Закупки

Нельзя задавать параметры для таблицы "РегистрНакопления.ПартииТоваровНаСкладах"
23 МикаМ
 
11.04.13
13:43
ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ <<?>> РегистрНакопления.ПартииТоваровНаСкладах(,,Регистратор) КАК Закупки
24 Ёпрст
 
11.04.13
13:44
(22) ясен пень, параметры есть только у ВТ
25 Ёпрст
 
11.04.13
13:45
ты конструктор то запросов открой наконец
26 GANR
 
11.04.13
13:45
(22) Даже отвечать неохота
27 МикаМ
 
11.04.13
13:47
РегистрНакопления.Продажи.Обороты(,,Регистратор) КАК Продажи
      ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(,,Регистратор) КАК Закупки

Так вроде пошло... Счас буду проверять...
28 МикаМ
 
11.04.13
13:53
(25) а ошибку ты думаешь кто выдаёт????
29 GROOVY
 
11.04.13
14:54
(28) К сведению, уже 8.2 есть, 8.3 скоро выйдет, а Вы все еще на 8.0 работаете, да еще на какой-то совсем древней..
30 МикаМ
 
11.04.13
15:26
(29) К сведению - никто нигде не писал что я в 8.0 работаю тем более в древней...
Версия моего 1с - 1С:Предприятие 8.1 (8.1.15.14)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс