Имя: Пароль:
1C
1С v8
Правильное объединение в СКД
,
0 Chuvaschow
 
29.12.16
11:15
Здравствуйте!

Подскажите, пожалуйста, что я делаю не так.
Есть два регистра накопления. Пытаюсь объединить их в СКД. Получаем http://i87.fastpic.ru/big/2016/1229/d4/f2e51e68b235efafd667c5bea37188d4.jpg

Вот текст запроса

ВЫБРАТЬ
    ПродажиПоСотрудникамОбороты.РозничнаяТочка,
    ПродажиПоСотрудникамОбороты.ВидПродажи,
    ПродажиПоСотрудникамОбороты.СуммаОборот,
    ПродажиПоСотрудникамОбороты.Регистратор
ИЗ
    РегистрНакопления.ПродажиПоСотрудникам.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ПродажиПоСотрудникамОбороты

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    ОплатаСпискомОбороты.РозничнаяТочка,
    ОплатаСпискомОбороты.ВидПродажи,
    ОплатаСпискомОбороты.СуммаОборот,
    ОплатаСпискомОбороты.Регистратор
ИЗ
    РегистрНакопления.ОплатаСписком.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ОплатаСпискомОбороты

На скриншоте, за пустой строкой - как раз необходимые нам Наличные и Платежная карта. Но почему они не объединяются?
1 Allexe
 
29.12.16
11:19
(0) Так вроде все объединилось у вас на скриншоте. Что не так?
2 Chuvaschow
 
29.12.16
11:23
Пустая строка, с деньгами. За этой строкой кроются данные из регистра РегистрНакопления.ОплатаСписком.Обороты.(в данном конкретном случае Наличные и Платежная карта). То есть они должны объединиться с Наличными и Платежной картой в отчете. Но выделяются в отдельную пустую (не находит вид продажи?) строку.

Вот псевдонимы в СКД

http://i86.fastpic.ru/big/2016/1229/fc/1671fc4e45e980b8c325aebfc9b977fc.jpg
3 Chuvaschow
 
29.12.16
11:27
Извините, неверно описал. Поковырял и понял - пустая строка как раз из регистра РегистрНакопления.ПродажиПоСотрудникам.Обороты. То есть наоборот, этой строки быть не должно, она лишняя. Появляется потому, что при оплате списком в Регистре ПродажиПоСотрудникам получаем отсутствие вида продажи

http://i88.fastpic.ru/big/2016/1229/09/12afa30b1c56bd8bc348518df2619d09.jpg
4 asady
 
29.12.16
11:30
(3) а в движениях документов по этому регистру "вид продажи" заполнен?
5 Chuvaschow
 
29.12.16
11:31
Деньги из пустой строки уже есть в отчете и дополнительно выводятся в пустой строке, так как в Регистре ПродажиПоСотрудникам нет вида продажи.
Если производится оплата списком (например, часть наличными, часть с карточки), то пишется в регистр ОплатаСписком, и в ПродажиПоСотрудникам получается отсутствие вида продажи.
6 Chuvaschow
 
29.12.16
11:32
Значит нужно просто отсеять строки с ВидПродажи=NULL
7 Allexe
 
29.12.16
11:41
(6) Чисто технически да. Но тогда в отчете у тебя будут не достоверные данные.
8 Chuvaschow
 
29.12.16
11:50
хмм...как правильно поступить?
9 rabbidX
 
29.12.16
12:12
(8) Выбор Когда ВидПродажи Есть Null Тогда
Значение(Перечисление.ВидыПродажи.Наличные) //Или куда там оно должно попадать
Иначе ВидПродажи
Конец Как ВидПродажи
10 sirtaki
 
29.12.16
12:20
(9) тут пустая ссылка, а не нул
11 rabbidX
 
29.12.16
12:34
(10) Если тип составной может быть Неопределено. Надо в консоли посмотреть.
12 Chuvaschow
 
29.12.16
12:53
Вот так. Простите за говн***код :)

http://i86.fastpic.ru/big/2016/1229/fe/0c555f26f3e41d748afb49d615fd19fe.jpg
13 Chuvaschow
 
29.12.16
12:54
Магия поста. Сам написал, сам задал себе вопросы. Сам понял где косяк :))
14 Chuvaschow
 
29.12.16
14:11
Жду, что кто-нибудь кинет камень :)

Спасибо большое!
15 rabbidX
 
29.12.16
14:20
(14) Лови)
".Наименование" в отборе нахрен не нужно, лишнее неявное соединение будет. Отбирай по ссылке.
16 Chuvaschow
 
29.12.16
14:55
Учту