|
Связь двух наборов данный в отчете СКД | ☑ | ||
---|---|---|---|---|
0
ogion83
04.03.15
✎
15:40
|
Имеется отчет СКД. В нём 2 набора данных из двух регистров, связь по Номенклатуре.
Получается следующее: если в НаборДанных2 имеется номенклатура1, а в НаборДанных1 её нет, то она не выводится, а надо бы. Как это сделать? |
|||
1
mikecool
04.03.15
✎
15:41
|
если есть возможность - указать полное соединение
вроде с какого то релиза планировали ввести такое |
|||
2
mikecool
04.03.15
✎
15:41
|
иначе - только левое соединение
|
|||
3
ogion83
04.03.15
✎
15:44
|
В конструкторе запроса я бы так и сделал, но тут ничего такого не нахожу. Есть только Источник связи, Приемник, Выражения по которым соединяю, имеется ещё условие связи, может в ней надо чего-нибудь сотворить?
|
|||
4
DirecTwiX
04.03.15
✎
15:46
|
(0) Добавь ещё набор, где будет вся номенклатура из твоих двух наборов.
|
|||
5
ogion83
04.03.15
✎
15:50
|
(4) Объединение?
|
|||
6
ogion83
04.03.15
✎
15:51
|
Или может забить на это дело? Если в одном наборе взять эти два регистра, хотя я так пробовал какая то фигня получалась.
|
|||
7
eklmn
гуру
04.03.15
✎
16:04
|
НаборДанных - Объединение
|
|||
8
DirecTwiX
04.03.15
✎
16:13
|
(6) Если не принципиально, чтобы было два набора, то так проще. С условиями мог напутать при объединении. Можно сначала в ВТ запихать, а потом их соединить.
|
|||
9
ogion83
05.03.15
✎
09:16
|
Вот так пробую
ВЫБРАТЬ СырьеВЦехеМастеровОстаткиИОбороты.Регистратор КАК ДокументМастеров, СырьеВЦехеМастеровОстаткиИОбороты.МПЗ, ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоНачальныйОстаток, 0) КАК КолНачМ, ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоПриход, 0) КАК ПрихМ, ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоРасход, 0) КАК РасхМ, ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК КолКонМ, ПроизводствоОстаткиИОбороты.Регистратор КАК ДокументПроизводства, ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоНачальныйОстаток, 0) КАК КолНачП, ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоПриход, 0) КАК ПрихП, ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоРасход, 0) КАК РасхП, ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК КолКонП ИЗ РегистрНакопления.Производство.ОстаткиИОбороты(, , Авто, , ) КАК ПроизводствоОстаткиИОбороты ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.СырьеВЦехеМастеров.ОстаткиИОбороты(, , Авто, , ) КАК СырьеВЦехеМастеровОстаткиИОбороты ПО СырьеВЦехеМастеровОстаткиИОбороты.МПЗ = ПроизводствоОстаткиИОбороты.МПЗ ГДЕ ПроизводствоОстаткиИОбороты.ГотоваяПродукция = &ГотоваяПродукция Всё показывает правильно, но если делаю группировку по документам, то выводит удвоенные значения. |
|||
10
ogion83
05.03.15
✎
09:35
|
Нет подсказок?
|
|||
11
Timon1405
05.03.15
✎
09:37
|
перенести ГДЕ в условия соединения?
|
|||
12
ogion83
05.03.15
✎
09:38
|
Во,так заработало как надо:
ВЫБРАТЬ СырьеВЦехеМастеровОстаткиИОбороты.Регистратор КАК ДокументМастеров, СырьеВЦехеМастеровОстаткиИОбороты.МПЗ, ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоНачальныйОстаток, 0) КАК КолНачМ, ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоПриход, 0) КАК ПрихМ, ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоРасход, 0) КАК РасхМ, ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК КолКонМ, ПроизводствоОстаткиИОбороты.Регистратор КАК ДокументПроизводства, ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоНачальныйОстаток, 0) КАК КолНачП, ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоПриход, 0) КАК ПрихП, ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоРасход, 0) КАК РасхП, ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК КолКонП ИЗ РегистрНакопления.Производство.ОстаткиИОбороты(, , Авто, , ) КАК ПроизводствоОстаткиИОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.СырьеВЦехеМастеров.ОстаткиИОбороты(, , Авто, , ) КАК СырьеВЦехеМастеровОстаткиИОбороты ПО (СырьеВЦехеМастеровОстаткиИОбороты.МПЗ = ПроизводствоОстаткиИОбороты.МПЗ) ГДЕ ПроизводствоОстаткиИОбороты.ГотоваяПродукция = &ГотоваяПродукция СГРУППИРОВАТЬ ПО СырьеВЦехеМастеровОстаткиИОбороты.МПЗ, СырьеВЦехеМастеровОстаткиИОбороты.Регистратор, ПроизводствоОстаткиИОбороты.Регистратор, ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоНачальныйОстаток, 0), ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоПриход, 0), ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоРасход, 0), ЕСТЬNULL(СырьеВЦехеМастеровОстаткиИОбороты.КоличествоКонечныйОстаток, 0), ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоНачальныйОстаток, 0), ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоПриход, 0), ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоРасход, 0), ЕСТЬNULL(ПроизводствоОстаткиИОбороты.КоличествоКонечныйОстаток, 0) |
|||
13
DrZombi
гуру
05.03.15
✎
09:54
|
(0) Сделай все в пределе одного набора
Либо организуй промежуточную ТЗ, которую потом и будешь выводить пользователю. |
|||
14
DrZombi
гуру
05.03.15
✎
09:55
|
(12) А если на оборот, в одном будет, а другом нет?
|
|||
15
DrZombi
гуру
05.03.15
✎
09:56
|
+(14) Я бы реализовал через Объединение :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |